geerlingguy.github-users

Ansible-Rolle: GitHub-Benutzer

CI

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.

Über das Projekt

Create users based on GitHub accounts.

Installieren
ansible-galaxy install geerlingguy.github-users
Lizenz
mit
Downloads
385k
Besitzer
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns