32.5. Utiliser Ansible pour s'assurer qu'un privilège IdM RBAC est absent
En tant qu'administrateur système de la gestion des identités (IdM), vous pouvez personnaliser le contrôle d'accès basé sur les rôles de l'IdM. La procédure suivante décrit comment utiliser un playbook Ansible pour s'assurer qu'un privilège RBAC est absent. L'exemple décrit comment s'assurer que le privilège CA administrator
est absent. Grâce à cette procédure, l'administrateur de admin
devient le seul utilisateur capable de gérer les autorités de certification dans IdM.
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
privilege-absent.yml
situé dans le répertoire/usr/share/doc/ansible-freeipa/playbooks/privilege/
:$ cp /usr/share/doc/ansible-freeipa/playbooks/privilege/privilege-absent.yml privilege-absent-copy.yml
-
Ouvrez le fichier
privilege-absent-copy.yml
Ansible playbook pour l'éditer. Adaptez le fichier en définissant les variables suivantes dans la section
ipaprivilege
task :-
Définissez la variable
ipaadmin_password
avec le mot de passe de l'administrateur IdM. -
Attribuez à la variable
name
le nom du privilège que vous souhaitez supprimer. -
Assurez-vous que la variable
state
est fixée àabsent
.
-
Définissez la variable
Renommez la tâche dans le playbook, par exemple :
[...] tasks: - name: Ensure privilege "CA administrator" is absent ipaprivilege: [...]
Il s'agit du fichier playbook Ansible modifié pour l'exemple actuel :
--- - name: Privilege absent example hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Ensure privilege "CA administrator" is absent ipaprivilege: ipaadmin_password: "{{ ipaadmin_password }}" name: CA administrator state: absent
- 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 inventory privilege-absent-copy.yml