18.2. Demande d'un nouveau certificat auto-signé à l'aide du rôle de système certificate

Avec le rôle de système certificate, vous pouvez utiliser Ansible Core pour émettre des certificats auto-signés.

Ce processus utilise le fournisseur certmonger et demande le certificat par le biais de la commande getcert.

Note

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

  1. Optional: Créer un fichier d'inventaire, par exemple inventory.file:

    $ *touch inventory.file* (toucher le fichier d'inventaire)
  2. 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
  3. 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 exemple webserver.
    • 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 exemple mycert.
      • Le paramètre dns correspond au domaine à inclure dans le certificat, par exemple *.example.com.
      • Réglez le paramètre ca sur self-sign.
    • Définir le rôle de rhel-system-roles.certificate sous roles.

      Il s'agit du fichier du playbook pour cet exemple :

      ---
      - hosts: webserver
      
        vars:
          certificate_requests:
            - name: mycert
              dns: "*.example.com"
              ca: self-sign
      
        roles:
          - rhel-system-roles.certificate
  4. Enregistrer le fichier.
  5. 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).