19.3. Demande d'un nouveau certificat à l'autorité de certification IdM à l'aide du rôle de système certificate
Avec le rôle de système certificate
, vous pouvez utiliser anible-core
pour émettre des certificats tout en utilisant un serveur IdM avec une autorité de certification (CA) intégrée. Vous pouvez donc gérer efficacement et de manière cohérente la chaîne de confiance des certificats pour plusieurs systèmes lorsque vous utilisez IdM comme autorité de certification.
Ce processus utilise le fournisseur certmonger
et demande le certificat par le biais de la commande getcert
.
Par défaut, certmonger
essaie automatiquement de renouveler le certificat avant qu'il n'expire. Vous pouvez désactiver cette fonction en définissant le paramètre auto_renew
dans le manuel de jeu Ansible sur no
.
Conditions préalables
- Le paquetage Ansible Core est installé sur la machine de contrôle.
-
Le paquetage
rhel-system-roles
est installé sur le système à partir duquel vous souhaitez exécuter le playbook.
Procédure
Optional: Créer un fichier d'inventaire, par exemple
inventory.file
:$ *touch inventory.file* (toucher le fichier d'inventaire)
Ouvrez votre fichier d'inventaire et définissez les hôtes sur lesquels vous souhaitez demander le certificat, par exemple :
[webserver] server.idm.example.com
Créez un fichier playbook, par exemple
request-certificate.yml
:-
Définissez
hosts
pour inclure les hôtes sur lesquels vous souhaitez demander le certificat, par exemplewebserver
. Définissez la variable
certificate_requests
de manière à ce qu'elle contienne les éléments suivants :-
Attribuez au paramètre
name
le nom souhaité pour le certificat, par exemplemycert
. -
Le paramètre
dns
correspond au domaine à inclure dans le certificat, par exemplewww.example.com
. -
Le paramètre
principal
indique le principal Kerberos, par exempleHTTP/www.example.com@EXAMPLE.COM
. -
Réglez le paramètre
ca
suripa
.
-
Attribuez au paramètre
Définir le rôle de
rhel-system-roles.certificate
sousroles
.Il s'agit du fichier du playbook pour cet exemple :
--- - hosts: webserver vars: certificate_requests: - name: mycert dns: www.example.com principal: HTTP/www.example.com@EXAMPLE.COM ca: ipa roles: - rhel-system-roles.certificate
-
Définissez
- Enregistrer le fichier.
Exécutez le manuel de jeu :
*ansible-playbook -i inventory.file request-certificate.yml* $ *ansible-playbook -i inventory.file request-certificate.yml* $ *ansible-playbook -i inventory.file
Ressources supplémentaires
-
Voir le fichier
/usr/share/ansible/roles/rhel-system-roles.certificate/README.md
. -
Voir la page de manuel
ansible-playbook(1)
.