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