18.2. Utiliser Ansible pour s'assurer qu'une règle de libre-service est présente

La procédure suivante décrit comment utiliser un playbook Ansible pour définir des règles de libre-service et assurer leur présence sur un serveur de gestion des identités (IdM). Dans cet exemple, la nouvelle règle Users can manage their own name details permet aux utilisateurs de modifier leurs propres attributs givenname, displayname, title et initials. Cela leur permet, par exemple, de modifier leur nom d'affichage ou leurs initiales s'ils le souhaitent.

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

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

    $ cd ~/MyPlaybooks/
  2. Faites une copie du fichier selfservice-present.yml situé dans le répertoire /usr/share/doc/ansible-freeipa/playbooks/selfservice/:

    $ cp /usr/share/doc/ansible-freeipa/playbooks/selfservice/selfservice-present.yml selfservice-present-copy.yml
  3. Ouvrez le fichier selfservice-present-copy.yml Ansible playbook pour l'éditer.
  4. Adaptez le fichier en définissant les variables suivantes dans la section ipaselfservice task :

    • Définissez la variable ipaadmin_password avec le mot de passe de l'administrateur IdM.
    • Définissez la variable name avec le nom de la nouvelle règle de libre-service.
    • Attribuez à la variable permission une liste de permissions à accorder, séparées par des virgules : read et write.
    • Définissez la variable attribute avec une liste d'attributs que les utilisateurs peuvent gérer eux-mêmes : givenname, displayname, title, et initials.

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

    ---
    - name: Self-service present
      hosts: ipaserver
    
      vars_files:
      - /home/user_name/MyPlaybooks/secret.yml
      tasks:
      - name: Ensure self-service rule "Users can manage their own name details" is present
        ipaselfservice:
          ipaadmin_password: "{{ ipaadmin_password }}"
          name: "Users can manage their own name details"
          permission: read, write
          attribute:
          - givenname
          - displayname
          - title
          - initials
  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 selfservice-present-copy.yml

Ressources supplémentaires