31.9. Utiliser Ansible pour s'assurer que des utilisateurs spécifiques ne sont pas affectés à un rôle IdM RBAC
En tant qu'administrateur système gérant le contrôle d'accès basé sur les rôles (RBAC) dans la gestion des identités (IdM), vous voudrez peut-être vous assurer qu'un rôle RBAC n'est pas attribué à des utilisateurs spécifiques après qu'ils ont, par exemple, changé de poste au sein de l'entreprise.
La procédure suivante décrit comment utiliser un playbook Ansible pour s'assurer que les utilisateurs nommés user_01 et user_02 ne sont pas affectés au rôle helpdesk.
Conditions préalables
- Vous connaissez le mot de passe de l'administrateur IdM.
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
Naviguez jusqu'au répertoire ~/<MyPlaybooks>/ répertoire :
$ cd ~/<MyPlaybooks>/
Faites une copie du fichier
role-member-user-absent.yml
situé dans le répertoire/usr/share/doc/ansible-freeipa/playbooks/role/
:$ cp /usr/share/doc/ansible-freeipa/playbooks/role/role-member-user-absent.yml role-member-user-absent-copy.yml
-
Ouvrez le fichier
role-member-user-absent-copy.yml
Ansible playbook pour l'éditer. Adaptez le fichier en définissant les variables suivantes dans la section
iparole
task :-
Définissez la variable
ipaadmin_password
avec le mot de passe de l'administrateur IdM. -
Définissez la variable
name
avec le nom du rôle que vous souhaitez attribuer. -
Définissez la liste
user
avec les noms des utilisateurs. -
Fixer la variable
action
àmember
. -
Fixer la variable
state
àabsent
.
Il s'agit du fichier playbook Ansible modifié pour l'exemple actuel :
--- - name: Playbook to manage IPA role with members. hosts: ipaserver become: yes gather_facts: no vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - iparole: ipaadmin_password: "{{ ipaadmin_password }}" name: helpdesk user - user_01 - user_02 action: member state: absent
-
Définissez la variable
- Enregistrer le fichier.
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 ~/<MyPlaybooks>/inventory role-member-user-absent-copy.yml
Ressources supplémentaires
- Voir Chiffrer du contenu avec Ansible Vault.
- Voir Rôles dans IdM.
-
Voir le fichier Markdown de
README-role
dans le répertoire/usr/share/doc/ansible-freeipa/
. -
Voir les exemples de playbooks dans le répertoire
/usr/share/doc/ansible-freeipa/playbooks/iparole
.