14.5. Utiliser Ansible pour s'assurer qu'un attribut n'est pas membre d'une permission RBAC IdM


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'un attribut n'est pas membre d'une permission RBAC dans IdM. Par conséquent, lorsqu'un utilisateur disposant de cette permission crée une entrée dans IdM LDAP, cette entrée ne peut pas avoir de valeur associée à l'attribut.

L'exemple décrit comment assurer l'état suivant de la cible :

  • L'autorisation MyPermission existe.
  • Les entrées d'hôte créées par un utilisateur disposant d'un privilège contenant l'autorisation MyPermission ne peuvent pas avoir l'attribut description.

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.
  • L'autorisation MyPermission existe.

Procédure

  1. Naviguez jusqu'au répertoire ~/MyPlaybooks/ répertoire :

    $ cd ~/MyPlaybooks/
    Copy to Clipboard
  2. Faites une copie du fichier permission-member-absent.yml situé dans le répertoire /usr/share/doc/ansible-freeipa/playbooks/permission/:

    $ cp /usr/share/doc/ansible-freeipa/playbooks/permission/permission-member-absent.yml permission-member-absent-copy.yml
    Copy to Clipboard
  3. Ouvrez le fichier permission-member-absent-copy.yml Ansible playbook pour l'éditer.
  4. 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 attrs à description.
    • Fixer la variable action à member.
    • Assurez-vous que la variable state est définie comme suit absent

    Il s'agit du fichier playbook Ansible modifié pour l'exemple actuel :

    ---
    - name: Permission absent example
      hosts: ipaserver
    
      vars_files:
      - /home/user_name/MyPlaybooks/secret.yml
      tasks:
      - name: Ensure that an attribute is not a member of "MyPermission"
        ipapermission:
          ipaadmin_password: "{{ ipaadmin_password }}"
          name: MyPermission
          attrs: description
          action: member
          state: absent
    Copy to Clipboard
  5. Enregistrer le fichier.
  6. 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-member-absent-copy.yml
    Copy to Clipboard
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat