10.4. Utiliser Ansible pour s'assurer qu'une règle de libre-service possède des attributs spécifiques
La procédure suivante décrit comment utiliser un playbook Ansible pour s'assurer qu'une règle de libre-service existante possède des paramètres spécifiques. Dans l'exemple, vous vous assurez que la règle de libre-service Users can manage their own name details possède également l'attribut de membre surname
.
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
.
- La règle de libre-service Users can manage their own name details existe dans IdM.
Procédure
Naviguez jusqu'au répertoire ~/MyPlaybooks/ répertoire :
$ cd ~/MyPlaybooks/
Faites une copie du fichier
selfservice-member-present.yml
situé dans le répertoire/usr/share/doc/ansible-freeipa/playbooks/selfservice/
:$ cp /usr/share/doc/ansible-freeipa/playbooks/selfservice/selfservice-member-present.yml selfservice-member-present-copy.yml
-
Ouvrez le fichier
selfservice-member-present-copy.yml
Ansible playbook pour l'éditer. 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 règle de libre-service à modifier. -
Fixer la variable
attribute
àsurname
. -
Fixer la variable
action
àmember
.
Il s'agit du fichier playbook Ansible modifié pour l'exemple actuel :
--- - name: Self-service member present hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Ensure selfservice "Users can manage their own name details" member attribute surname is present ipaselfservice: ipaadmin_password: "{{ ipaadmin_password }}" name: "Users can manage their own name details" attribute: - surname action: member
-
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 inventory selfservice-member-present-copy.yml
Ressources supplémentaires
- Voir Contrôle d'accès en libre-service dans IdM.
-
Voir le fichier
README-selfservice.md
disponible dans le répertoire/usr/share/doc/ansible-freeipa/
. -
Voir les exemples de playbooks dans le répertoire
/usr/share/doc/ansible-freeipa/playbooks/selfservice
.