acme_account – Создание, изменение или удаление учетных записей ACME
Новая в версии 2.6.
Описание
- Позволяет создавать, изменять или удалять учетные записи с использованием CA, поддерживающего протокол ACME, такой как Let’s Encrypt.
- Этот модуль работает только с протоколом ACME v2.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- либо openssl, …
- … или cryptography >= 1.5
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| account_key_content - добавлено в 2.5 | Содержание ключа учетной записи ACME RSA или эллиптической кривой. Взаимоисключающий с account_key_src. Требуется, если не используется account_key_src.
Предупреждение: содержимое будет записано во временный файл, который будет удалён Ansible по завершении модуля. Поскольку это важный закрытый ключ — он может быть использован для изменения ключа учетной записи или для отзыва сертификатов без знания их закрытых ключей —, это может быть неприемлемо. В случае использования cryptography, содержимое не записывается во временный файл. Тем не менее, возможно, что оно будет записано на диск Ansible в процессе перемещения модуля с его аргументом на узел, где он выполняется. | |
| account_key_src - | Путь к файлу, содержащему ключ учетной записи ACME RSA или эллиптической кривой. Ключи RSA можно создать с помощью openssl genrsa .... Ключи эллиптической кривой можно создать с помощью openssl ecparam -genkey .... Также можно использовать любой другой инструмент, создающий закрытые ключи в формате PEM.Взаимоисключающий с account_key_content.Требуется, если не используется account_key_content.Псевдонимы: account_key | |
| account_uri - добавлено в 2.7 | Если указано, предполагается, что URI учетной записи указан. Если ключ учетной записи не соответствует этой учетной записи или учетная запись с этим URI не существует, модуль завершается ошибкой. | |
| acme_directory - | Значение по умолчанию: "https://acme-staging.api.letsencrypt.org/directory" | Используемый каталог ACME. Это URL-адрес точки входа для доступа к API сервера CA. В целях безопасности значение по умолчанию задано для тестового сервера Let's Encrypt (для протокола ACME v1). Это создаст технически корректные, но небезопасные сертификаты. Для Let's Encrypt все тестовые точки входа можно найти здесь: https://letsencrypt.org/docs/staging-environment/
Для Let's Encrypt URL-адрес каталога производства для ACME v1 — https://acme-v01.api.letsencrypt.org/directory, а URL-адрес каталога производства для ACME v2 — https://acme-v02.api.letsencrypt.org/directory.
Предупреждение: До сих пор модуль тестировался только с Let's Encrypt (тестовый и производственный сервер) и с сервером тестирования Pebble. |
| acme_version - добавлено в 2.5 |
| Версия ACME конечной точки. Должно быть 1 для классической конечной точки ACME Let's Encrypt или 2 для новой стандартизированной конечной точки ACME v2. |
| allow_creation boolean |
| Разрешить ли создание учетной записи (когда состояние равно present). |
| contact - | Значение по умолчанию: [] | Список URL-адресов контактов. Электронные адреса должны быть префиксрованы mailto:. См. https://tools.ietf.org/html/rfc8555#section-7.3 для разрешенных значений. Должно быть указано, когда состояние равно present. Будет проигнорировано, если состояние равно absent или changed_key. |
| new_account_key_content - | Содержание ключа учетной записи ACME RSA или эллиптической кривой для изменения. Применяются те же ограничения, что и для account_key_content. Взаимоисключающий с new_account_key_src. Требуется, если не используется new_account_key_src и состояние равно changed_key. | |
| new_account_key_src - | Путь к файлу, содержащему ключ учетной записи ACME RSA или эллиптической кривой для изменения. Применяются те же ограничения, что и для account_key_src. Взаимоисключающий с new_account_key_content. Требуется, если не используется new_account_key_content и состояние равно changed_key. | |
| select_crypto_backend строка добавлено в 2.7 |
| Определяет, какой криптографический бэкенд использовать. По умолчанию выбрано auto, которое пытается использовать cryptography, если оно доступно, и переходит к openssl. Если установлено openssl, будет попытка использовать бинарник openssl. Если установлено cryptography, будет попытка использовать библиотеку cryptography. |
| state - / обязательный |
| Состояние учетной записи, определяемое по её ключу. Если состояние absent, учетная запись либо не существует, либо деактивирована.Если состояние changed_key, учетная запись должна существовать. Ключ учетной записи будет изменён; никакая другая информация не будет изменена. |
| terms_agreed boolean |
| Булево значение, указывающее, согласны ли вы с условиями обслуживания. Сервера ACME могут потребовать, чтобы это было true. |
| validate_certs boolean добавлено в 2.5 |
| Выполнять ли проверку TLS-сертификатов при вызовах в каталог ACME.
Предупреждение: Только для тестирования, например, при тестировании с локальным сервером Pebble. |
Примечания
Примечание
- Факты об учетной записи ACME можно получить с помощью модуля acme_account_facts.
- Модуль acme_certificate также позволяет выполнять базовые операции управления учетной записью. При использовании обоих модулей рекомендуется отключить управление учетной записью для acme_certificate. Для этого используйте опцию
modify_accountмодуля acme_certificate. - Если доступна достаточно новая версия библиотеки
cryptography, она будет использоваться вместо бинарникаopenssl. Это можно явно отключить или включить с помощью опцииselect_crypto_backend. Обратите внимание, что использование бинарникаopensslбудет медленнее и менее безопасно, так как содержимое закрытого ключа всегда должно храниться на диске (см.account_key_content). - Хотя значения по умолчанию выбраны таким образом, чтобы модуль можно было использовать с CA Let’s Encrypt, в принципе модуль может использоваться с любым CA, предоставляющим конечную точку ACME.
Примеры
- name: Make sure account exists and has given contacts. We agree to TOS.
acme_account:
account_key_src: /etc/pki/cert/private/account.key
state: present
terms_agreed: yes
contact:
- mailto:me@example.com
- mailto:myself@example.org
- name: Make sure account has given email address. Don't create account if it doesn't exist
acme_account:
account_key_src: /etc/pki/cert/private/account.key
state: present
allow_creation: no
contact:
- mailto:me@example.com
- name: Change account's key to the one stored in the variable new_account_key
acme_account:
account_key_src: /etc/pki/cert/private/account.key
new_account_key_content: '{{ new_account_key }}'
state: changed_key
- name: Delete account (we have to use the new key)
acme_account:
account_key_content: '{{ new_account_key }}'
state: absent
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| account_uri строка | всегда | URI учетной записи ACME или None, если учетная запись не существует. |
Статус
- Данный модуль не гарантирует обратную совместимость интерфейса. [превью]
- Данный модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Felix Fontein (@felixfontein)
Подсказка
Если вы заметите какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/acme_account_module.html