4.5. Assurer l'absence d'utilisateurs utilisant des playbooks Ansible
La procédure suivante décrit comment utiliser un playbook Ansible pour s'assurer que des utilisateurs spécifiques sont absents de l'IdM.
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 playbook Ansible avec les utilisateurs dont vous voulez garantir l'absence d'IdM. Pour simplifier cette étape, vous pouvez copier et modifier l'exemple dans le fichier
/usr/share/doc/ansible-freeipa/playbooks/user/ensure-users-present.yml
. Par exemple, pour supprimer les utilisateurs idm_user_1, idm_user_2, et idm_user_3:--- - name: Playbook to handle users hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Delete users idm_user_1, idm_user_2, idm_user_3 ipauser: ipaadmin_password: "{{ ipaadmin_password }}" users: - name: idm_user_1 - name: idm_user_2 - name: idm_user_3 state: absent
Exécutez le playbook Ansible. Spécifiez le fichier du livre de jeu, le fichier contenant le mot de passe protégeant le fichier secret.yml et le fichier d'inventaire :
$ ansible-playbook --vault-password-file=password_file -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/delete-users.yml
Verification steps
Vous pouvez vérifier que les comptes d'utilisateurs n'existent pas dans IdM en utilisant la commande ipa user-show
:
Connectez-vous à
ipaserver
en tant qu'administrateur :$ ssh administrator@server.idm.example.com Password: [admin@server /]$
Demande d'informations sur idm_user_1:
$ ipa user-show idm_user_1 ipa: ERROR: idm_user_1: user not found
L'utilisateur nommé idm_user_1 n'existe pas dans IdM.