geerlingguy.github-users

Rôle Ansible : Utilisateurs GitHub

CI

Crée des utilisateurs basés sur des comptes GitHub.

Ce rôle prendra un nom d'utilisateur GitHub et créera un compte système avec le même nom d'utilisateur, et ajoutera toutes les clés publiques associées au compte GitHub dans le fichier authorized_keys de l'utilisateur.

C'est une manière simple de gérer les clés publiques pour les utilisateurs sur votre système... mais ça fonctionne !

Exigences

Aucune.

Variables du rôle

Les variables disponibles sont listées ci-dessous, avec leurs valeurs par défaut (voir defaults/main.yml) :

github_users: []
  # Vous pouvez spécifier un objet avec 'name' (obligatoire) et 'groups' (facultatif) :
  # - name: geerlingguy
  #   groups: www-data,sudo

  # Ou vous pouvez spécifier un nom d'utilisateur GitHub directement :
  # - geerlingguy

Une liste d'utilisateurs à ajouter au serveur ; le nom d'utilisateur sera le name (ou l'élément de la liste, si c'est une chaîne au lieu d'un objet). Vous pouvez ajouter l'utilisateur à un ou plusieurs groupes (en plus du groupe [username]) en les ajoutant sous forme de liste séparée par des virgules dans groups.

github_users_absent: []
  # Vous pouvez spécifier un objet avec 'name' (obligatoire) :
  # - name: geerlingguy

  # Ou vous pouvez spécifier un nom d'utilisateur GitHub directement :
  # - geerlingguy

Une liste d'utilisateurs qui ne devraient pas être présents sur le serveur. Le rôle s'assurera que ces comptes utilisateurs soient supprimés.

github_users_authorized_keys_exclusive: true

Si les fichiers authorized_keys des utilisateurs doivent uniquement contenir des clés provenant de leur compte GitHub. Cela doit normalement être réglé sur true si vous ne permettez aux utilisateurs de se connecter qu’avec les clés de leurs comptes GitHub.

github_url: https://github.com

Par défaut, utilisez le GitHub public (c'est-à-dire https://github.com) comme source pour les utilisateurs/clés. Remplacez-le pour utiliser une autre instance/point de terminaison GitHub (par exemple, GitHub Enterprise).

Si vous devez donner à l'utilisateur la possibilité de gérer lui-même son fichier authorized_keys, vous devez régler cela sur no, et cela n'ajoutera que de nouvelles clés, mais ne supprimera jamais d'autres clés (par exemple, d'anciennes clés retirées de leur profil GitHub, ou des clés que l'utilisateur a ajoutées manuellement) du fichier.

Dépendances

Aucune.

Exemple de Playbook

- hosts: serveurs

  vars:
    github_users:
      # Vous pouvez spécifier le `name` :
      - name: geerlingguy
        groups: sudo,www-data
      - name: GrahamCampbell
      # Ou si vous n'avez rien à remplacer, vous pouvez spécifier le
      # nom d'utilisateur GitHub directement :
      - fabpot

    github_users_absent:
      - johndoe
      - name: josh

  roles:
    - geerlingguy.github-users

Si vous souhaitez vous assurer que les clés publiques des utilisateurs sont à jour, il est préférable d'exécuter le playbook par cron, par exemple, toutes les 5 min, 10 min, ou à un autre intervalle. De cette façon, vous n'avez pas à ajouter manuellement de nouvelles clés pour les utilisateurs.

Licence

MIT / BSD

Informations sur l'auteur

Ce rôle a été créé en 2017 par Jeff Geerling, auteur de Ansible for DevOps.

À propos du projet

Create users based on GitHub accounts.

Installer
ansible-galaxy install geerlingguy.github-users
Licence
mit
Téléchargements
385k
Propriétaire
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns