Модуль community.crypto.acme_account – Создание, изменение или удаление учетных записей ACME
Примечание
Этот модуль входит в коллекцию community.crypto (версия 2.22.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Чтобы установить ее, используйте: ansible-galaxy collection install community.crypto. Для использования этого модуля требуются дополнительные зависимости. Подробности см. в разделе Требования.
Чтобы использовать его в книге задач, укажите: community.crypto.acme_account.
Обзор
- Позволяет создавать, изменять или удалять учетные записи с центром сертификации, поддерживающим протокол ACME, например Let’s Encrypt.
- Этот модуль работает только с протоколом ACME v2.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- либо openssl, либо cryptography >= 1.5
- ipaddress
Параметры
Параметр | Комментарии |
|---|---|
account_key_content строка | Содержимое ключа учетной записи ACME RSA или эллиптической кривой. Взаимоисключающее с Требуется, если Предупреждение: содержимое будет записано во временный файл, который будет удалён Ansible по завершении модуля. Поскольку это важный закрытый ключ — он может быть использован для изменения ключа учетной записи или для отзыва ваших сертификатов без знания их закрытых ключей —, это может быть неприемлемо. В случае использования |
account_key_passphrase строка добавлено в community.crypto 1.6.0 | Пароль для декодирования ключа учетной записи. Примечание: это не поддерживается |
account_key_src алиасы: account_key путь | Путь к файлу, содержащему ключ учетной записи ACME RSA или эллиптической кривой. Закрытые ключи можно создать с помощью модулей community.crypto.openssl_privatekey или community.crypto.openssl_privatekey_pipe. Если необходимая (криптография) библиотека недоступна, ключи также можно создать непосредственно с помощью командной утилиты Взаимоисключающее с Требуется, если |
account_uri строка | Если указано, предполагается, что URI учетной записи задан так, как указано. Если ключ учетной записи не соответствует этой учетной записи или учетная запись с этим URI не существует, модуль завершается с ошибкой. |
acme_directory строка / обязательно | Используемый каталог ACME. Это URL-адрес точки входа для доступа к API сервера CA ACME. Для безопасности по умолчанию используется эталонный сервер Let’s Encrypt (для протокола ACME v1). Это создаст технически корректные, но недоверенные сертификаты. Все эталонные конечные точки Let’s Encrypt можно найти здесь: https://letsencrypt.org/docs/staging-environment/. Для Buypass все конечные точки можно найти здесь: https://community.buypass.com/t/63d4ay/buypass-go-ssl-endpoints Для Let’s Encrypt, URL каталога для ACME v2 — https://acme-v02.api.letsencrypt.org/directory. Для Buypass, URL каталога для ACME v2 и v1 — https://api.buypass.com/acme/directory. Для ZeroSSL, URL каталога для ACME v2 — https://acme.zerossl.com/v2/DV90. Для Sectigo, URL каталога для ACME v2 — https://acme-qa.secure.trust-provider.com/v2/DV. Примечания к этому модулю содержат список сервисов ACME, с которыми был протестирован этот модуль. |
acme_version целое число / обязательно | Версия ACME конечной точки. Должно быть Значение Варианты:
|
allow_creation булево | Разрешить создание учетной записи (когда состояние равно Варианты:
|
contact список / элементы=строка | Список URL-адресов контактов. Электронные адреса должны быть префиксрованы с См. https://tools.ietf.org/html/rfc8555#section-7.3 для допустимых значений. Должен быть указан, когда состояние равно По умолчанию: |
external_account_binding словарь добавлено в community.crypto 1.1.0 | Позволяет предоставить данные внешней привязки учетной записи во время создания учетной записи. Это используется CA, такими как Sectigo, для привязки новой учетной записи ACME к существующей учетной записи CA, чтобы правильно идентифицировать клиента. Используется только при создании новой учетной записи. Не может быть указан для ACME v1. |
|
alg строка / обязательно |
Алгоритм MAC, предоставленный CA. Если не указан CA, это, вероятно, Варианты:
|
|
key строка / обязательно |
Значение ключа MAC, закодированное в Base64 URL, предоставленное CA. Заполнение ( |
|
kid строка / обязательно |
Идентификатор ключа, предоставленный CA. |
new_account_key_content string | Содержимое ключа учетной записи ACME RSA или эллиптической кривой, на который нужно заменить. Применяются те же ограничения, что и к Взаимоисключающие с Требуется, если |
new_account_key_passphrase string добавлено в community.crypto 1.6.0 | Фраза-пароль для декодирования нового ключа учетной записи. Примечание: это не поддерживается бэкендом |
new_account_key_src path | Путь к файлу, содержащему ключ учетной записи ACME RSA или эллиптической кривой, на который нужно заменить. Применяются те же ограничения, что и к Взаимоисключающие с Требуется, если |
request_timeout integer добавлено в community.crypto 2.3.0 | Время, которое Ansible должно ждать ответа от API ACME. Этот таймаут применяется ко всем запросам HTTP(S) (HEAD, GET, POST). По умолчанию: |
select_crypto_backend string | Определяет, какой криптографический бэкенд использовать. По умолчанию выбирается Если установлено Если установлено Варианты:
|
state string / обязательно | Состояние учетной записи, определяемое по ключу учетной записи. Если состояние Если состояние Варианты:
|
terms_agreed boolean | Булево значение, указывающее, согласны ли вы с документом соглашения об использовании. Серверы ACME могут потребовать, чтобы это было Варианты:
|
validate_certs boolean | Подтверждать ли сертификаты TLS при обращении к каталогу ACME. Предупреждение: должно только быть установлено в Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
action_group | Группы действий: community.crypto.acme, acme | Используйте |
check_mode | Поддержка: полная | Может работать в режиме |
diff_mode | Поддержка: полная | Возвращает подробную информацию о том, что изменилось (или, возможно, требует изменения в |
Примечания
Примечание
- Модуль community.crypto.acme_certificate также позволяет выполнять основные операции по управлению учетными записями. При использовании обоих модулей рекомендуется отключить управление учетными записями для community.crypto.acme_certificate. Для этого используйте параметр
modify_accountмодуля community.crypto.acme_certificate. - Хотя значения по умолчанию выбраны таким образом, чтобы модуль можно было использовать с центром сертификации Let’s Encrypt, модуль в принципе может использоваться с любым центром сертификации, предоставляющим конечную точку ACME, например, Buypass Go SSL.
- До сих пор модули ACME тестировались разработчиками только с Let’s Encrypt (этап и производство), Buypass (этап и производство), ZeroSSL (производство) и Pebble test server. Мы получили обратную связь от сообщества, что они также работают с Sectigo ACME Service for InCommon. Если у вас возникнут проблемы с другим сервером ACME, пожалуйста, создайте вопрос, чтобы помочь нам в поддержке. Отзывы о том, что работает сервер ACME, не упомянутый в списке, также приветствуются.
- Если доступна достаточно новая версия библиотеки
cryptography(см. Требования для получения подробностей), она будет использоваться вместо двоичного файлаopenssl. Это можно явно отключить или включить с помощью параметраselect_crypto_backend. Обратите внимание, что использование двоичного файлаopensslбудет медленнее и менее безопасно, так как содержимое закрытого ключа всегда должно храниться на диске (см.account_key_content).
См. также
См. также
- Система автоматического управления сертификатами (ACME)
-
Спецификация протокола ACME (RFC 8555).
- community.crypto.acme_account_info
-
Извлекает данные об учетной записи ACME.
- community.crypto.openssl_privatekey
-
Может использоваться для создания закрытого ключа учетной записи.
- community.crypto.openssl_privatekey_pipe
-
Может использоваться для создания закрытого ключа учетной записи без записи на диск.
- community.crypto.acme_inspect
-
Позволяет отладить проблемы.
Примеры
- name: Make sure account exists and has given contacts. We agree to TOS.
community.crypto.acme_account:
account_key_src: /etc/pki/cert/private/account.key
state: present
terms_agreed: true
contact:
- mailto:me@example.com
- mailto:myself@example.org
- name: Make sure account has given email address. Do not create account if it does not exist
community.crypto.acme_account:
account_key_src: /etc/pki/cert/private/account.key
state: present
allow_creation: false
contact:
- mailto:me@example.com
- name: Change account's key to the one stored in the variable new_account_key
community.crypto.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)
community.crypto.acme_account:
account_key_content: '{{ new_account_key }}'
state: absent
Значения возврата
Общие значения возврата описаны здесь, следующие — поля, уникальные для данного модуля:
Ключ | Описание |
|---|---|
account_uri строка | URI учетной записи ACME или None, если учетная запись не существует. Возвращаемое значение: всегда |
Ссылки на сборку
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/crypto/acme_account_module.html