acme_account – Создание, изменение или удаление учетных записей ACME
Новая версия с 2.6.
Обзор
- Позволяет создавать, изменять или удалять учетные записи с центром сертификации, поддерживающим протокол 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/. Все конечные точки Buypass можно найти здесь: https://community.buypass.com/t/63d4ay/buypass-go-ssl-endpoints
Для Let's Encrypt URL каталога производства для ACME v1 — https://acme-v01.api.letsencrypt.org/directory, а для ACME v2 — https://acme-v02.api.letsencrypt.org/directory. Для Buypass URL каталога производства для ACME v2 и v1 — https://api.buypass.com/acme/directory.
Предупреждение: Модуль пока протестирован только с Let's Encrypt (тестовый и основной), Buypass (тестовый и основной) и Pebble тестовым сервером. |
| acme_version целое число добавлено в 2.5 |
| Версия ACME конечной точки. Должно быть 1 для классических конечных точек Let's Encrypt и Buypass ACME, или 2 для стандартных конечных точек ACME v2. |
| allow_creation булево |
| Разрешить ли создание учетной записи (когда состояние равно 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 булево |
| Булево значение, указывающее, согласны ли вы с условиями обслуживания. Сервера ACME могут требовать, чтобы это значение было истинным. |
| validate_certs булево добавлено в 2.5 |
| Выполнять ли проверку TLS-сертификатов при обращении к каталогу ACME.
Предупреждение: Должно быть установлено только в no для целей тестирования, например, при тестировании с локальным сервером Pebble. |
Примечания
Примечание
- Модуль acme_certificate также позволяет выполнять базовое управление учетными записями. При использовании обоих модулей рекомендуется отключить управление учетными записями для модуля acme_certificate. Для этого используйте параметр
modify_accountмодуля acme_certificate. - Если доступна достаточно новая версия библиотеки
cryptography(см. Требования для подробностей), она будет использоваться вместо бинарникаopenssl. Это можно явно отключить или включить с помощью опцииselect_crypto_backend. Обратите внимание, что использование бинарникаopensslбудет медленнее и менее безопасным, так как содержимое закрытого ключа всегда должно храниться на диске (см.account_key_content). - Хотя значения по умолчанию выбраны таким образом, чтобы модуль можно было использовать с центром сертификации Let’s Encrypt, модуль, в принципе, можно использовать с любым центром сертификации, предоставляющим конечную точку ACME, например, Buypass Go SSL.
См. также
См. также
- Автоматическая система управления сертификатами (ACME)
- Спецификация протокола ACME (RFC 8555).
- acme_account_info – Получение информации об учетных записях ACME
- Получение данных об учетной записи ACME.
- openssl_privatekey – Генерация закрытых ключей OpenSSL
- Может использоваться для создания закрытого ключа учетной записи.
- acme_inspect – Отправка прямых запросов на сервер 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. [community]
Авторы
- 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.8/modules/acme_account_module.html