Chapitre 14. Utiliser les playbooks Ansible pour gérer les permissions RBAC dans IdM
Le contrôle d'accès basé sur les rôles (RBAC) est un mécanisme de contrôle d'accès neutre défini autour de rôles, de privilèges et de permissions. Dans les grandes entreprises en particulier, l'utilisation du RBAC peut aider à créer un système hiérarchique d'administrateurs avec leurs domaines de responsabilité individuels.
Ce chapitre décrit les opérations suivantes effectuées lors de la gestion des autorisations RBAC dans la gestion des identités (IdM) à l'aide des playbooks Ansible :
- Utiliser Ansible pour s'assurer qu'une permission RBAC est présente
- Utiliser Ansible pour s'assurer qu'une permission RBAC avec un attribut est présente
- Utiliser Ansible pour s'assurer qu'une permission RBAC est absente
- Utiliser Ansible pour s'assurer qu'un attribut est membre d'une permission IdM RBAC
- Utiliser Ansible pour s'assurer qu'un attribut n'est pas membre d'une permission RBAC IdM
- Utiliser Ansible pour renommer une permission IdM RBAC
Conditions préalables
- Vous comprenez les concepts et les principes de RBAC.
14.1. Utiliser Ansible pour s'assurer qu'une permission RBAC est présente
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 (RBAC) de l'IdM.
La procédure suivante décrit comment utiliser un playbook Ansible pour s'assurer qu'une permission est présente dans IdM afin qu'elle puisse être ajoutée à un privilège. L'exemple décrit comment garantir l'état cible suivant :
-
L'autorisation
MyPermission
existe. -
L'autorisation
MyPermission
ne peut être appliquée qu'aux hôtes. Un utilisateur bénéficiant d'un privilège contenant l'autorisation peut effectuer toutes les opérations suivantes sur une entrée :
- Écrire
- Lire
- Recherche
- Comparer
- Ajouter
- Supprimer
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
permission-present.yml
situé dans le répertoire/usr/share/doc/ansible-freeipa/playbooks/permission/
:$ cp /usr/share/doc/ansible-freeipa/playbooks/permission/permission-present.yml permission-present-copy.yml
-
Ouvrez le fichier
permission-present-copy.yml
Ansible playbook pour l'éditer. Adaptez le fichier en définissant les variables suivantes dans la section
ipapermission
task :-
Adaptez le site
name
de la tâche pour qu'il corresponde à votre cas d'utilisation. -
Définissez la variable
ipaadmin_password
avec le mot de passe de l'administrateur IdM. -
Attribuez à la variable
name
le nom de l'autorisation. -
Fixer la variable
object_type
àhost
. -
Fixer la variable
right
àall
.
Il s'agit du fichier playbook Ansible modifié pour l'exemple actuel :
--- - name: Permission present example hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Ensure that the "MyPermission" permission is present ipapermission: ipaadmin_password: "{{ ipaadmin_password }}" name: MyPermission object_type: host right: all
-
Adaptez le site
- 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 permission-present-copy.yml