mprahl.lets-encrypt-route-53

lets-encrypt-route-53

Este es un rol de Ansible que automatiza la generación de certificados firmados por Let's Encrypt con desafíos DNS en Route 53 de Amazon (AWS).

Por favor, ten en cuenta que como parte de este rol se instalarán openssl, boto y pyOpenSSL. Si utilizas CentOS, RHEL o Mac OS, el rol instalará pip y luego instalará boto y pyOpenSSL en un entorno virtual de Python, ya que las versiones empaquetadas no están disponibles o no son lo suficientemente recientes. Ten en cuenta que se requiere EPEL en CentOS y RHEL.

Si no usas este rol en Debian/Ubuntu, CentOS/Red Hat, Mac OS o FreeBSD, openssl, boto y pyOpenSSL deben ser instalados manualmente antes de usar este rol.

Requisitos

Se requiere Ansible 2.7 o superior para este rol. Si usas una versión más antigua de Ansible, utiliza la versión 4.2.1 de este rol. Este rol también debe ser ejecutado como root o mediante sudo/become.

Etiquetas del Rol

  • install - se usa para etiquetar las tareas que instalan las dependencias requeridas.
  • openssl - se usa para etiquetar las tareas que generan las claves privadas y CSR.

Variables del Rol

Hechos Establecidos Por El Rol

  • ler53_cert_changed - se establece en True cuando se crea o renueva el certificado.

Variables Requeridas

  • ler53_route_53_domain - el dominio de Route 53 (AWS) para el cual se está generando el certificado SSL. Este es un parámetro requerido si no se proporciona el parámetro ler53_route_53_zone_id.
  • ler53_route_53_zone_id - el zone_id de Route 53 (AWS) para el cual se está generando el certificado SSL. Este es un parámetro requerido si no se proporciona el parámetro ler53_route_53_domain. Usa este parámetro si no tienes derechos de AWS para realizar route53:ListHostedZones.

Variables Opcionales

  • ler53_cert_common_name - el nombre común para el certificado SSL que se está generando. Por defecto, esto es el valor de ansible_fqdn.
  • ler53_cert_sans - una lista de nombres alternativos del sujeto DNS (SAN) del mismo dominio que se especifica en ler53_route_53_domain que se incluirán en el CSR. Ten en cuenta que un SAN DNS para el valor de ler53_cert_common_name se añade automáticamente y no debe ser agregado a esta lista. Esta variable no está definida por defecto.
  • ler53_cert_key_usages - una lista de usos de clave que se incluirán en el CSR (Let's Encrypt puede restringir algunos). Por defecto, esto es digitalSignature y keyEncipherment.
  • ler53_key_size - el tamaño de la clave privada que se empareja con el certificado que se está generando. Por defecto, esto es 2048.
  • ler53_cert_dir - la ruta al directorio donde se almacenarán la clave privada, el CSR y el certificado. Por defecto, esto es /etc/ssl/{{ ler53_cert_common_name }}.
  • ler53_key_file_name - el nombre del archivo de la clave privada que se empareja con el certificado que se está generando. Por defecto, esto es {{ ler53_cert_common_name }}.key.
  • ler53_cert_file_name - el nombre del archivo del certificado que se está generando. Por defecto, esto es {{ ler53_cert_common_name }}.crt.
  • ler53_csr_file_name - el nombre del archivo de la solicitud de firma de certificado (CSR) que se está generando. Por defecto, esto es {{ ler53_cert_common_name }}.csr.
  • ler53_intermediate_file_name - el nombre del archivo de la CA intermedia descargada de Let's Encrypt. Por defecto, esto es {{ ler53_cert_common_name }}.intermediate.pem.
  • ler53_cert_and_intermediate_file_name - el nombre del archivo creado con el certificado y la CA intermedia concatenados. Por defecto, esto es {{ ler53_cert_common_name }}.pem.
  • ler53_cert_files_mode - el modo/ permisos del archivo a forzar en la clave privada, CSR y certificado. Por defecto, esto es 0600.
  • ler53_cert_files_owner - el propietario del archivo que se forzará en la clave privada, CSR y certificado. Por defecto, esto es root.
  • ler53_cert_files_group - el grupo de archivos que se forzará en la clave privada, CSR y certificado. Por defecto, esto es root.
  • ler53_account_email - un correo electrónico para asociar con tu cuenta de Let's Encrypt. Por favor, consulta el Módulo de Let's Encrypt para más información.
  • ler53_account_key_size - el tamaño de la clave de la cuenta de Let's Encrypt que se generará si no está presente. Por defecto, esto es 2048.
  • ler53_account_key_dir - la ruta al directorio donde se almacenará la clave de la cuenta de Let's Encrypt. Por defecto, esto es /etc/ssl/lets_encrypt.
  • ler53_account_key_file_name - el nombre del archivo de la clave de la cuenta de Let's Encrypt. Por defecto, esto es lets_encrypt_account.key.
  • ler53_cert_remaining_days_before_renewal - el número mínimo de días que debe quedar para que el certificado actual sea válido antes de renovarlo. Por defecto, esto es 10.
  • ler53_new_cert_when_csr_changes - eliminar el certificado existente cuando cambie el CSR. Esto es útil cuando cambias el nombre común o SAN en tu certificado y deseas generar un nuevo certificado sin esperar a que expire. Por defecto, esto es false.
  • ler53_cert_extended_key_usages - Restricciones adicionales (por ejemplo, autenticación del cliente, autenticación del servidor) sobre los propósitos permitidos para los que se puede usar la clave pública.
  • ler53_service_handlers - Una lista de diccionarios que describen los manejadores de servicio que se ejecutarán cuando se actualice un certificado en el formato {'name': 'httpd', 'state': 'restarted'}.
  • ler53_acme_directory - El directorio ACME a usar. Por defecto, esto es https://acme-v02.api.letsencrypt.org/directory. Esto puede ser útil para sobrescribir si deseas probar este rol contra la instancia de prueba de Let's Encrypt.
  • ler53_aws_access_key - la clave de acceso para un usuario de AWS que tiene permiso para añadir registros al dominio para el cual se está generando el certificado SSL. Si no se especifica, el SDK de AWS determinará la clave de acceso.
  • ler53_aws_secret_key - la clave secreta para un usuario de AWS que tiene permiso para añadir registros al dominio para el cual se está generando el certificado SSL. Si no se especifica, el SDK de AWS determinará la clave secreta.

Ejemplo de Playbook

- name: Generar un certificado SSL para host.example.com
  hosts: host
  become: yes

  vars:
  - ler53_cert_common_name: host.example.com
  - ler53_route_53_domain: example.com

  roles:
  - mprahl.lets-encrypt-route-53

Licencia

MIT

Acerca del proyecto

automates the generation of Let's Encrypt signed certificates with DNS challenges on Amazon's Route 53 (AWS)

Instalar
ansible-galaxy install mprahl.lets-encrypt-route-53
Licencia
Unknown
Descargas
38.1k
Propietario