Spec-Zone.ru › Ansible 2.4

letsencrypt - Создание сертификатов SSL с помощью Let’s Encrypt

Новое в версии 2.2.

  • Описание
  • Требования (к хосту, на котором выполняется модуль)
  • Параметры
  • Примеры
  • Значения возврата
    • Статус

Описание

  • Создание и обновление сертификатов SSL с помощью Let’s Encrypt. Let’s Encrypt — это бесплатный, автоматизированный и открытый центр сертификации (ЦС), работающий в интересах общественности. Подробнее см. https://letsencrypt.org. Текущая реализация поддерживает вызовы http-01, tls-sni-02 и dns-01.
  • Для использования данного модуля его необходимо выполнить как минимум дважды. Либо как две отдельные задачи в одном запуске, либо в нескольких запусках.
  • Между этими двумя задачами необходимо выполнить необходимые шаги для выбранного вызова любыми доступными средствами. Для http-01 это означает создание необходимого файла вызова на целевом веб-сервере. Для dns-01 необходимо создать необходимый DNS-запись. tls-sni-02 требует создания сертификата SSL с соответствующими Subject Alternative Names. Данный модуль *не* отвечает за выполнение этих шагов.
  • Для получения подробной информации о выполнении этих вызовов, возможно, потребуется изучить https://tools.ietf.org/html/draft-ietf-acme-acme-02#section-7
  • Хотя значения по умолчанию выбраны таким образом, чтобы модуль можно было использовать с центром сертификации Let’s Encrypt, модуль может быть использован с любым сервисом, использующим протокол ACME.

Требования (к хосту, на котором выполняется модуль)

  • python >= 2.6
  • openssl

Параметры

параметр обязательный значение по умолчанию выбор комментарии
account_email
нет
Адрес электронной почты, связанный с этой учетной записью.
Он будет использоваться для предупреждений о истечении срока действия сертификата.
account_key
да
Файл, содержащий открытый ключ учетной записи Let's Encrypt.
Можно создать с помощью openssl rsa ....
acme_directory
нет https://acme-staging.api.letsencrypt.org/directory
Используемый каталог ACME. Это URL-адрес точки входа для доступа к API сервера ЦС.
По соображениям безопасности значение по умолчанию установлено на тестовом сервере Let's Encrypt. Это создаст технически правильные, но недоверенные сертификаты.
agreement
нет https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf
URI документа о пользовательском соглашении, с которым вы соглашаетесь при использовании службы ACME по адресу acme_directory.
challenge
нет http-01
  • http-01
  • dns-01
  • tls-sni-02
Вызов, который необходимо выполнить.
csr
да
Файл, содержащий CSR для нового сертификата.
Можно создать с помощью openssl csr ....
CSR может содержать несколько имен альтернативных субъектов, но каждое из них приведет к отдельному вызову, который необходимо выполнить, чтобы CSR был подписан.
псевдонимы: src
data
нет
Данные для проверки текущих вызовов.
Значение, которое необходимо использовать здесь, будет предоставлено предыдущим использованием этого модуля.
dest
да
Целевой файл для сертификата.
псевдонимы: cert
remaining_days
нет 10
Количество дней, оставшихся до истечения срока действия сертификата. Если cert_days < remaining_days, он будет продлен. Если сертификат не продлен, значения возврата модуля не будут включать challenge_data.

Примеры

- letsencrypt:
    account_key: /etc/pki/cert/private/account.key
    csr: /etc/pki/cert/csr/sample.com.csr
    dest: /etc/httpd/ssl/sample.com.crt
  register: sample_com_challenge

# perform the necessary steps to fulfill the challenge
# for example:
#
# - copy:
#     dest: /var/www/html/{{ sample_com_challenge['challenge_data']['sample.com']['http-01']['resource'] }}
#     content: "{{ sample_com_challenge['challenge_data']['sample.com']['http-01']['resource_value'] }}"
#     when: sample_com_challenge|changed

- letsencrypt:
    account_key: /etc/pki/cert/private/account.key
    csr: /etc/pki/cert/csr/sample.com.csr
    dest: /etc/httpd/ssl/sample.com.crt
    data: "{{ sample_com_challenge }}"

Значения возврата

Общие значения возврата документированы здесь Значения возврата, следующие — поля, уникальные для этого модуля:

имя описание возвращаемое тип пример
authorizations
Данные авторизации ACME.
изменилось сложное
содержит:
имя описание возвращаемое тип пример
authorization
Объект авторизации ACME. См. https://tools.ietf.org/html/draft-ietf-acme-acme-02#section-6.1.2
успех dict
cert_days
Количество дней, оставшихся до истечения срока действия сертификата.
успех int
challenge_data
данные вызова по домену/типу вызова
изменилось сложное
содержит:
имя описание возвращаемое тип пример
resource
ресурс вызова, который необходимо создать для проверки
изменилось строка .well-known/acme-challenge/evaGxfADs6pSRb2LAv9IZf17Dt3juxGJ-PCt92wr-oA
resource_value
значение, которое ресурс должен произвести для проверки
изменилось строка IlirfxKKXA...17Dt3juxGJ-PCt92wr-oA

Статус

Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость интерфейса.

Для получения помощи в разработке модулей, если вы захотите, пожалуйста, прочитайте Информация сообщества и участие, Тестирование Ansible и Разработка модулей.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/letsencrypt_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API