4.2. Assurer la présence d'un utilisateur IdM à l'aide d'un playbook Ansible
La procédure suivante décrit comment assurer la présence d'un utilisateur dans IdM à l'aide d'un playbook Ansible.
Conditions préalables
-
Vous connaissez le mot de passe de l'IdM
admin
. Vous avez configuré votre nœud de contrôle Ansible pour qu'il réponde aux exigences suivantes :
- Vous utilisez la version 2.8 ou ultérieure d'Ansible.
-
Vous avez installé le paquetage
ansible-freeipa
sur le contrôleur Ansible. - L'exemple suppose que dans le répertoire ~/MyPlaybooks/ vous avez créé un fichier d'inventaire Ansible avec le nom de domaine complet (FQDN) du serveur IdM.
-
L'exemple suppose que le coffre-fort secret.yml Ansible stocke votre
ipaadmin_password
.
Procédure
Créez un fichier d'inventaire, par exemple
inventory.file
, et définissez-yipaserver
:[ipaserver] server.idm.example.com
Créez un fichier Ansible playbook avec les données de l'utilisateur dont vous voulez assurer la présence dans IdM. Pour simplifier cette étape, vous pouvez copier et modifier l'exemple dans le fichier
/usr/share/doc/ansible-freeipa/playbooks/user/add-user.yml
. Par exemple, pour créer un utilisateur nommé idm_user et ajouter Password123 comme mot de passe :--- - name: Playbook to handle users hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Create user idm_user ipauser: ipaadmin_password: "{{ ipaadmin_password }}" name: idm_user first: Alice last: Acme uid: 1000111 gid: 10011 phone: "+555123457" email: idm_user@acme.com passwordexpiration: "2023-01-19 23:59:59" password: "Password123" update_password: on_create
Vous devez utiliser les options suivantes pour ajouter un utilisateur :
- namele nom d'utilisateur
- first: la chaîne de caractères du prénom
- last: la chaîne du nom de famille
Pour la liste complète des options disponibles pour l'utilisateur, voir le fichier Markdown de
/usr/share/doc/ansible-freeipa/README-user.md
.NoteSi vous utilisez l'option
update_password: on_create
, Ansible ne crée le mot de passe de l'utilisateur que lorsqu'il crée l'utilisateur. Si l'utilisateur est déjà créé avec un mot de passe, Ansible ne génère pas de nouveau mot de passe.Exécutez le manuel de jeu :
$ ansible-playbook --vault-password-file=password_file -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/add-IdM-user.yml
Verification steps
Vous pouvez vérifier si le nouveau compte d'utilisateur existe dans IdM en utilisant la commande
ipa user-show
:Connectez-vous à
ipaserver
en tant qu'administrateur :$ ssh admin@server.idm.example.com Password: [admin@server /]$
Demander un ticket Kerberos pour l'administrateur :
$ kinit admin Password for admin@IDM.EXAMPLE.COM:
Demande d'informations sur idm_user:
$ ipa user-show idm_user User login: idm_user First name: Alice Last name: Acme ....
L'utilisateur nommé idm_user est présent dans IdM.