49.4. Especificación de los comandos que se ejecutan antes o después de la emisión del certificado mediante la función de sistema de certificados
Con la función de sistema de certificados, puede utilizar Red Hat Ansible Engine para ejecutar un comando antes y después de la emisión o renovación de un certificado.
En el siguiente ejemplo, el administrador se asegura de detener el servicio httpd antes de que se emita o renueve un certificado autofirmado para www.example.com, y de reiniciarlo después.
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.
NotaNo es necesario tener Ansible instalado en los sistemas en los que se desea desplegar la solución
certificate.Tienes el paquete
rhel-system-rolesinstalado 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
Optional: Crear un archivo de inventario, por ejemplo
inventory.file:$ touch inventario.archivoAbra su archivo de inventario y defina los hosts en los que desea solicitar el certificado, por ejemplo:
[webserver] server.idm.example.comCree un archivo de playbook, por ejemplo
request-certificate.yml:-
Configure
hostspara incluir los hosts en los que desea solicitar el certificado, como por ejemplowebserver. Establezca la variable
certificate_requestspara incluir lo siguiente:-
Establezca el parámetro
namecon el nombre deseado para el certificado, como por ejemplomycert. -
Establezca el parámetro
dnscon el dominio que se incluirá en el certificado, como por ejemplowww.example.com. -
Establezca el parámetro
caen la CA que desea utilizar para emitir el certificado, como por ejemploself-sign. -
Establezca el parámetro
run_beforecon el comando que desea ejecutar antes de que se emita o renueve este certificado, comosystemctl stop httpd.service. -
Establezca el parámetro
run_aftercon el comando que desea ejecutar después de que se emita o renueve este certificado, comosystemctl start httpd.service.
-
Establezca el parámetro
Establezca la función
rhel-system-roles.certificateenroles.Este es el archivo del libro de jugadas para este ejemplo:
--- - hosts: webserver vars: certificate_requests: - name: mycert dns: www.example.com ca: self-sign run_before: systemctl stop httpd.service run_after: systemctl start httpd.service roles: - linux-system-roles.certificate
-
Configure
- Guarda el archivo.
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_requestse información adicional sobre la función del sistemacertificate, 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 manualansible-playbook(1).