geerlingguy.github-users
Rôle Ansible : Utilisateurs GitHub
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.
Create users based on GitHub accounts.
ansible-galaxy install geerlingguy.github-users