8.2. Solicitud de un nuevo certificado autofirmado mediante la función de sistema de certificados

Con la función de sistema de certificados, puede utilizar Red Hat Ansible Engine para emitir certificados autofirmados.

Este proceso utiliza el proveedor certmonger y solicita el certificado a través del comando getcert.

Nota

Por defecto, certmonger intenta renovar automáticamente el certificado antes de que caduque. Puede desactivar esto estableciendo el parámetro auto_renew en el libro de jugadas de Ansible como no.

Requisitos previos

  • Tiene instalado Red Hat Ansible Engine en el sistema desde el que desea ejecutar el libro de jugadas.

    Nota

    No es necesario tener Ansible instalado en los sistemas en los que se desea desplegar la solución certificate.

  • Tienes el paquete rhel-system-roles instalado en el sistema desde el que quieres ejecutar el playbook.

    Para más detalles sobre los Roles de Sistema de RHEL y cómo aplicarlos, vea Introducción a los Roles de Sistema de RHEL.

Procedimiento

  1. Optional: Crear un archivo de inventario, por ejemplo inventory.file:

    $ touch inventario.archivo
  2. Abra su archivo de inventario y defina los hosts en los que desea solicitar el certificado, por ejemplo:

    [webserver]
    server.idm.example.com
  3. Cree un archivo de playbook, por ejemplo request-certificate.yml:

    • Configure hosts para incluir los hosts en los que desea solicitar el certificado, como por ejemplo webserver.
    • Establezca la variable certificate_requests para incluir lo siguiente:

      • Establezca el parámetro name con el nombre deseado para el certificado, como por ejemplo mycert.
      • Establezca el parámetro dns con el dominio que se incluirá en el certificado, como por ejemplo *.example.com.
      • Ajuste el parámetro ca a self-sign.
    • Establezca la función rhel-system-roles.certificate en roles.

      Este es el archivo del libro de jugadas para este ejemplo:

      ---
      - hosts: webserver
      
        vars:
          certificate_requests:
            - name: mycert
              dns: *.example.com
              ca: self-sign
      
        roles:
          - rhel-system-roles.certificate
  4. Guarda el archivo.
  5. Ejecuta el libro de jugadas:

    $ ansible-playbook -i inventory.file request-certificate.yml

Recursos adicionales

  • Para obtener detalles sobre los parámetros utilizados en la variable certificate_requests e información adicional sobre la función del sistema certificate, consulte el archivo /usr/share/ansible/roles/rhel-system-roles.certificate/README.md.
  • Para obtener más información sobre el comando ansible-playbook, consulte la página de manual ansible-playbook(1).