lets-encrypt-route-53

lets-encrypt-route-53

Это роль Ansible, которая автоматизирует создание сертификатов, подписанных Let's Encrypt, с использованием DNS вызовов на Amazon Route 53 (AWS).

Обратите внимание, что в рамках этой роли будут установлены openssl, boto и pyOpenSSL. Если вы используете CentOS, RHEL или Mac OS, роль установит pip, а затем установит boto и pyOpenSSL в виртуальной среде Python, поскольку упакованные версии могут отсутствовать или быть устаревшими. Обратите внимание, что EPEL необходим на CentOS и RHEL.

Если вы не используете эту роль на Debian/Ubuntu, CentOS/Red Hat, Mac OS или FreeBSD, openssl, boto и pyOpenSSL необходимо установить вручную перед использованием этой роли.

Требования

Для этой роли требуется Ansible 2.7 и выше. Если вы используете более старую версию Ansible, используйте версию 4.2.1 этой роли. Эта роль также должна выполняться от имени root или с помощью sudo/become.

Теги роли

  • install - используется для маркировки задач, которые устанавливают необходимые зависимости.
  • openssl - используется для маркировки задач, которые генерируют закрытые ключи и CSR.

Переменные роли

Факты, устанавливаемые ролью

  • ler53_cert_changed - устанавливается в True, когда сертификат создается или обновляется.

Обязательные переменные

  • ler53_route_53_domain - домен Route 53 (AWS), для которого создается SSL сертификат. Это обязательный параметр, если параметр ler53_route_53_zone_id не указан.
  • ler53_route_53_zone_id - zone_id Route 53 (AWS), для которой создается SSL сертификат. Это обязательный параметр, если параметр ler53_route_53_domain не указан. Используйте этот параметр, если у вас нет прав AWS для выполнения route53:ListHostedZones.

Необязательные переменные

  • ler53_cert_common_name - общее имя для создаваемого SSL сертификата. По умолчанию это значение ansible_fqdn.
  • ler53_cert_sans - список альтернативных DNS имен (SAN) того же домена, что указано в ler53_route_53_domain, которые необходимо включить в CSR. Обратите внимание, что DNS SAN для значения ler53_cert_common_name добавляется автоматически и не должен добавляться в этот список. Эта переменная по умолчанию не определена.
  • ler53_cert_key_usages - список использования ключей, которые необходимо включить в CSR (Let's Encrypt может ограничивать некоторые). По умолчанию это digitalSignature и keyEncipherment.
  • ler53_key_size - размер закрытого ключа, который соответствует создаваемому сертификату. По умолчанию это 2048.
  • ler53_cert_dir - путь к директории для хранения закрытого ключа, CSR и сертификата. По умолчанию это /etc/ssl/{{ ler53_cert_common_name }}.
  • ler53_key_file_name - имя файла закрытого ключа, который соответствует создаваемому сертификату. По умолчанию это {{ ler53_cert_common_name }}.key.
  • ler53_cert_file_name - имя файла создаваемого сертификата. По умолчанию это {{ ler53_cert_common_name }}.crt.
  • ler53_csr_file_name - имя файла создаваемого запроса на подпись сертификата (CSR). По умолчанию это {{ ler53_cert_common_name }}.csr.
  • ler53_intermediate_file_name - имя файла промежуточного CA, загруженного из Let's Encrypt. По умолчанию это {{ ler53_cert_common_name }}.intermediate.pem.
  • ler53_cert_and_intermediate_file_name - имя файла, созданного с сертификатом и промежуточным CA, объединенными вместе. По умолчанию это {{ ler53_cert_common_name }}.pem.
  • ler53_cert_files_mode - режим/права доступа к файлам, которые необходимо задать для закрытого ключа, CSR и сертификата. По умолчанию это 0600.
  • ler53_cert_files_owner - владелец файлов, которого необходимо установить для закрытого ключа, CSR и сертификата. По умолчанию это root.
  • ler53_cert_files_group - группа файлов, которую необходимо установить для закрытого ключа, CSR и сертификата. По умолчанию это root.
  • ler53_account_email - электронная почта, привязанная к вашему аккаунту Let's Encrypt. Пожалуйста, просмотрите Модуль Let's Encrypt для получения дополнительной информации.
  • ler53_account_key_size - размер ключа аккаунта Let's Encrypt, который создается, если он отсутствует. По умолчанию это 2048.
  • ler53_account_key_dir - путь к директории для хранения ключа аккаунта Let's Encrypt. По умолчанию это /etc/ssl/lets_encrypt.
  • ler53_account_key_file_name - имя файла ключа аккаунта Let's Encrypt. По умолчанию это lets_encrypt_account.key.
  • ler53_cert_remaining_days_before_renewal - минимальное количество дней, оставшихся до истечения текущего сертификата, прежде чем его нужно будет обновить. По умолчанию это 10.
  • ler53_new_cert_when_csr_changes - удалить существующий сертификат, когда CSR изменяется. Это полезно, когда вы изменяете общее имя или SAN вашего сертификата и хотите создать новый сертификат, не дожидаясь его истечения. По умолчанию это false.
  • ler53_cert_extended_key_usages - Дополнительные ограничения (например, аутентификация клиента, аутентификация сервера) на разрешенные цели, для которых может использоваться открытый ключ.
  • ler53_service_handlers - Список словарей, описывающих обработчики служб, которые запускаются, когда сертификат обновляется в формате {'name': 'httpd', 'state': 'restarted'}.
  • ler53_acme_directory - ACME директория для использования. По умолчанию это https://acme-v02.api.letsencrypt.org/directory. Это может быть полезно для переопределения, если вы хотите протестировать эту роль на тестовом экземпляре Let's Encrypt.
  • ler53_aws_access_key - ключ доступа к пользователю AWS, которому разрешено добавлять записи в домен, для которого создается SSL сертификат. Если не указано, AWS SDK определит ключ доступа.
  • ler53_aws_secret_key - секретный ключ к пользователю AWS, которому разрешено добавлять записи в домен, для которого создается SSL сертификат. Если не указано, AWS SDK определит секретный ключ.

Пример плейбука

- name: Генерация SSL сертификата для 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

Лицензия

MIT

О проекте

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

Установить
ansible-galaxy install mprahl/ansible-role-lets-encrypt-route-53
Лицензия
Unknown
Загрузки
38111
Владелец