geerlingguy.github-users
Ansible-Rolle: GitHub-Benutzer
Erstelle Benutzer basierend auf GitHub-Konten.
Diese Rolle nimmt einen GitHub-Benutzernamen und erstellt ein Systemkonto mit demselben Benutzernamen. Alle öffentlichen Schlüssel, die mit dem GitHub-Konto verbunden sind, werden zu den authorized_keys
des Benutzers hinzugefügt.
Es ist eine einfache Möglichkeit, die Verwaltung von öffentlichen Schlüsseln für Benutzer auf deinem System zu gestalten... aber es funktioniert!
Anforderungen
Keine.
Rollensvariablen
Verfügbare Variablen sind unten aufgeführt, zusammen mit den Standardwerten (siehe defaults/main.yml
):
github_users: []
# Du kannst ein Objekt mit 'name' (erforderlich) und 'groups' (optional) angeben:
# - name: geerlingguy
# groups: www-data,sudo
# Oder du kannst direkt einen GitHub-Benutzernamen angeben:
# - geerlingguy
Eine Liste von Benutzern, die zum Server hinzugefügt werden sollen; der Benutzername wird der name
(oder das einfache Listenelement, wenn es sich um eine Zeichenkette handelt). Du kannst den Benutzer in eine oder mehrere Gruppen (neben der [username]
-Gruppe) hinzufügen, indem du sie als kommagetrennte Liste in groups
anfügst.
github_users_absent: []
# Du kannst ein Objekt mit 'name' (erforderlich) angeben:
# - name: geerlingguy
# Oder du kannst direkt einen GitHub-Benutzernamen angeben:
# - geerlingguy
Eine Liste von Benutzern, die nicht auf dem Server vorhanden sein sollten. Die Rolle sorgt dafür, dass diese Benutzerkonten entfernt werden.
github_users_authorized_keys_exclusive: true
Ob die authorized_keys
-Dateien der Benutzer ausschließlich Schlüssel von ihrem GitHub-Konto enthalten sollen. Dies sollte normalerweise auf true
gesetzt werden, wenn du nur erlauben möchtest, dass Benutzer sich mit Schlüsseln in ihren GitHub-Konten anmelden.
github_url: https://github.com
Standardmäßig wird öffentliches GitHub (d.h. https://github.com) als Quelle für Benutzer/Schlüssel verwendet. Überschreibe dies, um eine andere GitHub-Instanz/Endpoint (z.B. GitHub Enterprise) zu verwenden.
Wenn du dem Benutzer die Möglichkeit geben möchtest, seine authorized_keys
-Datei selbst zu verwalten, dann solltest du dies auf no
setzen. Es werden dann nur neue Schlüssel hinzugefügt, aber niemals zusätzliche Schlüssel (z.B. alte Schlüssel, die aus ihrem GitHub-Profil entfernt wurden, oder Schlüssel, die der Endbenutzer manuell hinzugefügt hat) aus der Datei entfernt.
Abhängigkeiten
Keine.
Beispiel-Playbook
- hosts: servers
vars:
github_users:
# Du kannst den `name` angeben:
- name: geerlingguy
groups: sudo,www-data
- name: GrahamCampbell
# Oder wenn du nichts überschreiben musst, kannst du den
# GitHub-Benutzernamen direkt angeben:
- fabpot
github_users_absent:
- johndoe
- name: josh
roles:
- geerlingguy.github-users
Wenn du sicherstellen möchtest, dass die öffentlichen Schlüssel der Benutzer synchronisiert sind, ist es am besten, das Playbook regelmäßig, z.B. alle 5 Minuten oder 10 Minuten, auszuführen. So musst du neue Schlüssel für Benutzer nicht manuell hinzufügen.
Lizenz
MIT / BSD
Autor Informationen
Diese Rolle wurde 2017 von Jeff Geerling erstellt, dem Autor von Ansible for DevOps.
Create users based on GitHub accounts.
ansible-galaxy install geerlingguy.github-users