Rechercher

25.4. Assurer la présence d'un certificat signé en externe dans une entrée de service IdM à l'aide d'un playbook Ansible

download PDF

Cette section décrit comment utiliser le module ansible-freeipa service pour s'assurer qu'un certificat émis par une autorité de certification (AC) externe est attaché à l'entrée IdM du service HTTP. Le fait que le certificat d'un service HTTP soit signé par une autorité de certification externe plutôt que par l'autorité de certification IdM est particulièrement utile si votre autorité de certification IdM utilise un certificat auto-signé.

Conditions préalables

Procédure

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

    $ touch inventory.file
  2. 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
  3. Faites une copie du fichier /usr/share/doc/ansible-freeipa/playbooks/service/service-member-certificate-present.yml, par exemple :

    $ cp /usr/share/doc/ansible-freeipa/playbooks/service/service-member-certificate-present.yml /usr/share/doc/ansible-freeipa/playbooks/service/service-member-certificate-present-copy.yml
  4. Facultatif : si le certificat est au format PEM (Privacy Enhanced Mail), convertissez-le au format DER (Distinguished Encoding Rules) pour faciliter sa manipulation par l'interface de ligne de commande (CLI) :

    $ openssl x509 -outform der -in cert1.pem -out cert1.der
  5. Décodez le fichier DER sur la sortie standard à l'aide de la commande base64. Utilisez l'option -w0 pour désactiver le wrapping :

    $ base64 cert1.der -w0
    MIIC/zCCAeegAwIBAgIUV74O+4kXeg21o4vxfRRtyJm...
  6. Copier le certificat de la sortie standard dans le presse-papiers.
  7. Ouvrez le fichier /usr/share/doc/ansible-freeipa/playbooks/service/service-member-certificate-present-copy.yml pour l'éditer et visualiser son contenu :

    ---
    - name: Service certificate present.
      hosts: ipaserver
      gather_facts: false
    
      vars_files:
      - /home/user_name/MyPlaybooks/secret.yml
      tasks:
      # Ensure service certificate is present
      - ipaservice:
          ipaadmin_password: "{{ ipaadmin_password }}"
          name: HTTP/www.example.com
          certificate: |
            - MIICBjCCAW8CFHnm32VcXaUDGfEGdDL/...
          [...]
          action: member
          state: present
  8. Adapter le dossier :

    • Remplacez le certificat, défini à l'aide de la variable certificate, par le certificat que vous avez copié depuis l'interface de programmation. Notez que si vous utilisez la variable certificate: avec le caractère de pipe "|" comme indiqué, vous pouvez entrer le certificat DE CETTE MANIERE plutôt que de devoir l'entrer sur une seule ligne. Cela facilite la lecture du certificat.
    • Modifier le mot de passe de l'administrateur IdM, défini par la variable ipaadmin_password.
    • Modifiez le nom du client IdM sur lequel le service HTTP est exécuté, défini par la variable name.
    • Modifier toute autre variable pertinente.
  9. Save and exit the file.
  10. 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-member-certificate-present-copy.yml

Verification steps

  1. Se connecter à l'interface Web IdM en tant qu'administrateur IdM.
  2. Naviguez jusqu'à Identity Services.
  3. Cliquez sur le nom du service avec le nouveau certificat ajouté, par exemple HTTP/client.idm.example.com.

Dans la section Service Certificate à droite, vous pouvez maintenant voir le nouveau certificat ajouté.

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.