Chapitre 25. Assurer la présence et l'absence de services dans IdM à l'aide d'Ansible
Avec le module Ansible service
, l'administrateur de la gestion des identités (IdM) peut s'assurer que des services spécifiques qui ne sont pas natifs de l'IdM sont présents ou absents de l'IdM. Par exemple, vous pouvez utiliser le module service
pour :
Vérifier qu'un service installé manuellement est présent sur un client IdM et installer automatiquement ce service s'il est absent. Pour plus de détails, voir :
- Vérifier qu'un service enrôlé dans IdM a un certificat attaché et installer automatiquement ce certificat s'il est absent. Pour plus de détails, voir :
- Assurer la présence d'un certificat signé en externe dans une entrée de service IdM.
Autoriser les utilisateurs et les hôtes IdM à récupérer et à créer la table de clés du service. Pour plus de détails, voir :
Permet aux utilisateurs et hôtes IdM d'ajouter un alias Kerberos à un service. Pour plus de détails, voir :
Vérifier qu'un service n'est pas présent sur un client IdM et supprimer automatiquement ce service s'il est présent. Pour plus de détails, voir :
25.1. Assurer la présence d'un service HTTP dans IdM à l'aide d'un playbook Ansible
Cette section décrit comment assurer la présence d'un serveur HTTP dans IdM à l'aide d'un playbook Ansible.
Conditions préalables
- Le système qui héberge le service HTTP est un client IdM.
- Vous avez le mot de passe de l'administrateur IdM.
Procédure
Créer un fichier d'inventaire, par exemple
inventory.file
:$ touch inventory.file
Ouvrez le site
inventory.file
et définissez le serveur IdM que vous souhaitez configurer dans la section[ipaserver]
. Par exemple, pour demander à Ansible de configurer server.idm.example.com, entrez :[ipaserver] server.idm.example.com
Faites une copie du fichier
/usr/share/doc/ansible-freeipa/playbooks/service/service-is-present.yml
Ansible playbook. Par exemple :$ cp /usr/share/doc/ansible-freeipa/playbooks/service/service-is-present.yml /usr/share/doc/ansible-freeipa/playbooks/service/service-is-present-copy.yml
Ouvrez le fichier
/usr/share/doc/ansible-freeipa/playbooks/service/service-is-present-copy.yml
Ansible playbook pour l'éditer :--- - name: Playbook to manage IPA service. hosts: ipaserver gather_facts: false vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: # Ensure service is present - ipaservice: ipaadmin_password: "{{ ipaadmin_password }}" name: HTTP/client.idm.example.com
Adapter le dossier :
-
Modifier le mot de passe de l'administrateur IdM défini par la variable
ipaadmin_password
. -
Changez le nom de votre client IdM sur lequel le service HTTP est exécuté, comme défini par la variable
name
de la tâcheipaservice
.
-
Modifier le mot de passe de l'administrateur IdM défini par la variable
- Save and exit the file.
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 path_to_inventory_directory/inventory.file /usr/share/doc/ansible-freeipa/playbooks/service/service-is-present-copy.yml
Verification steps
- Se connecter à l'interface Web IdM en tant qu'administrateur IdM.
-
Naviguez jusqu'à
Identity
Services
.
Si HTTP/client.idm.example.com@IDM.EXAMPLE.COM figure dans la liste Services, le playbook Ansible a été ajouté avec succès à IdM.
Ressources supplémentaires
- Pour sécuriser la communication entre le serveur HTTP et les clients du navigateur, voir l'ajout du cryptage TLS à un serveur HTTP Apache.
- Pour demander un certificat pour le service HTTP, voir la procédure décrite dans la section Obtention d'un certificat IdM pour un service à l'aide de certmonger.