8.7. Assurer la présence d'un enregistrement SRV dans IdM en utilisant Ansible
Un enregistrement de service DNS (SRV) définit le nom d'hôte, le numéro de port, le protocole de transport, la priorité et le poids d'un service disponible dans un domaine. Dans la gestion des identités (IdM), vous pouvez utiliser les enregistrements SRV pour localiser les serveurs IdM et les répliques.
Cette section montre comment un administrateur Identity Management (IdM) peut utiliser un playbook Ansible pour s'assurer qu'un enregistrement SRV est présent dans le DNS IdM. Dans l'exemple utilisé dans la procédure ci-dessous, un administrateur IdM s'assure de la présence de l'enregistrement SRV _kerberos._udp.idm.example.com avec la valeur 10 50 88 idm.example.com. Cela définit les valeurs suivantes :
- Il fixe la priorité du service à 10.
- Il fixe le poids du service à 50.
- Il fixe le port à utiliser par le service à 88.
Conditions préalables
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
.
- Vous connaissez le mot de passe de l'administrateur IdM.
- La zone idm.example.com existe et est gérée par IdM DNS. Pour plus d'informations sur l'ajout d'une zone DNS primaire dans IdM DNS, voir Utilisation des playbooks Ansible pour gérer les zones IdM DNS.
Procédure
Naviguez jusqu'au répertoire
/usr/share/doc/ansible-freeipa/playbooks/dnsrecord
:$ cd /usr/share/doc/ansible-freeipa/playbooks/dnsrecord
Ouvrez votre fichier d'inventaire et assurez-vous que le serveur IdM que vous souhaitez configurer est répertorié 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 ensure-SRV-record-is-present.yml Ansible playbook. Par exemple :
$ cp ensure-SRV-record-is-present.yml ensure-SRV-record-is-present-copy.yml
- Ouvrez le fichier ensure-SRV-record-is-present-copy.yml pour le modifier.
Adaptez le fichier en définissant les variables suivantes dans la section
ipadnsrecord
task :-
Définissez la variable
ipaadmin_password
avec votre mot de passe d'administrateur IdM. -
Fixer la variable
name
à _kerberos._udp.idm.example.com. -
Fixer la variable
srv_rec
à '10 50 88 idm.example.com'. Fixer la variable
zone_name
à idm.example.com.Il s'agit du fichier playbook Ansible modifié pour l'exemple actuel :
--- - name: Test multiple DNS Records are present. hosts: ipaserver become: true gather_facts: false tasks: # Ensure a SRV record is present - ipadnsrecord: ipaadmin_password: "{{ ipaadmin_password }}" name: _kerberos._udp.idm.example.com srv_rec: ’10 50 88 idm.example.com’ zone_name: idm.example.com state: present
-
Définissez la variable
- Enregistrer le fichier.
Exécutez le manuel de jeu :
$ ansible-playbook --vault-password-file=password_file -v -i inventory.file ensure-SRV-record-is-present.yml
Ressources supplémentaires
- Voir les enregistrements DNS dans IdM.
-
Voir le fichier
README-dnsrecord.md
dans le répertoire/usr/share/doc/ansible-freeipa/
. -
Voir les exemples de playbooks Ansible dans le répertoire
/usr/share/doc/ansible-freeipa/playbooks/dnsrecord
.