25.2. Assurer la présence d'un service HTTP dans IdM sur un client non-IdM en utilisant un playbook Ansible
Cette section décrit comment assurer la présence d'un serveur HTTP dans IdM sur un hôte qui n'est pas un client IdM à l'aide d'un playbook Ansible. En ajoutant le serveur HTTP à IdM, vous ajoutez également l'hôte à IdM.
Conditions préalables
- Vous avez installé un service HTTP sur votre hôte.
- L'hôte sur lequel vous avez configuré HTTP n'est pas un client IdM. Sinon, suivez les étapes de l'enrôlement du service HTTP dans IdM.
- Vous avez le mot de passe de l'administrateur IdM.
- L'enregistrement DNS A - ou l'enregistrement AAAA si IPv6 est utilisé - de l'hôte est disponible.
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-without-host-check.yml
Ansible playbook. Par exemple :$ cp /usr/share/doc/ansible-freeipa/playbooks/service/service-is-present-without-host-check.yml /usr/share/doc/ansible-freeipa/playbooks/service/service-is-present-without-host-check-copy.yml
Ouvrez le fichier copié,
/usr/share/doc/ansible-freeipa/playbooks/service/service-is-present-without-host-check-copy.yml
, pour l'éditer. Localisez les variablesipaadmin_password
etname
dans la tâcheipaservice
:--- - 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/www2.example.com skip_host_check: yes
Adapter le dossier :
-
Définissez la variable
ipaadmin_password
avec votre mot de passe d'administrateur IdM. -
Définissez la variable
name
avec le nom de l'hôte sur lequel le service HTTP est exécuté.
-
Définissez 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-without-host-check-copy.yml
Verification steps
- Se connecter à l'interface Web IdM en tant qu'administrateur IdM.
-
Naviguez jusqu'à
Identity
Services
.
Vous pouvez maintenant voir HTTP/client.idm.example.com@IDM.EXAMPLE.COM dans la liste Services.
Ressources supplémentaires
- Pour sécuriser la communication, voir l'ajout du cryptage TLS à un serveur HTTP Apache.