Spec-Zone.ru › Ansible

Модуль community.crypto.acme_account_info — получение информации об учетных записях ACME

Примечание

Этот модуль входит в коллекцию community.crypto (версия 3.2.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.crypto. Для работы с этим модулем требуются дополнительные компоненты; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.crypto.acme_account_info.

  • Краткое описание
  • Требования
  • Параметры
  • Атрибуты
  • Примечания
  • См. также
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Позволяет получать информацию об учетных записях в центре сертификации, поддерживающем протокол ACME, например в Let’s Encrypt.
  • Этот модуль работает только с протоколом ACME v2.

Требования

На хосте, на котором выполняется этот модуль, должны быть установлены следующие компоненты.

  • либо openssl
  • либо cryptography >= 3.3

Параметры

Параметр

Комментарии

account_key_content

строка

Содержимое ключа учетной записи ACME RSA или ключа на эллиптических кривых.

Для ключей на эллиптических кривых поддерживаются только следующие кривые: secp256r1, secp384r1 и secp521r1.

Несовместим с account_key_src.

Обязателен, если не используется account_key_src.

Предупреждение: содержимое будет записано во временный файл, который Ansible удалит после завершения работы модуля. Поскольку это важный закрытый ключ — его можно использовать для смены ключа учетной записи или отзыва сертификатов без знания их закрытых ключей, — такой способ может быть неприемлем.

Если используется cryptography, содержимое не записывается во временный файл. Однако Ansible все еще может записать его на диск при переносе модуля вместе с аргументом на узел, где он выполняется.

account_key_passphrase

строка

добавлено в community.crypto 1.6.0

Парольная фраза для расшифровки ключа учетной записи.

Примечание: эта возможность не поддерживается бэкендом openssl, только бэкендом cryptography.

account_key_src

псевдонимы: account_key

путь

Путь к файлу, содержащему ключ учетной записи ACME RSA или ключ на эллиптических кривых.

Для ключей на эллиптических кривых поддерживаются только следующие кривые: secp256r1, secp384r1 и secp521r1.

Закрытые ключи можно создать с помощью модулей community.crypto.openssl_privatekey или community.crypto.openssl_privatekey_pipe. Если необходимая библиотека (cryptography) недоступна, ключи также можно создать напрямую с помощью инструмента командной строки openssl: ключи RSA можно создать командой openssl genrsa .... Ключи на эллиптических кривых можно создать командой openssl ecparam -genkey .... Также можно использовать любые другие инструменты для создания закрытых ключей в формате PEM.

Несовместим с account_key_content.

Обязателен, если не используется account_key_content.

account_uri

строка

Если указано, предполагается, что URI учетной записи соответствует заданному значению. Если ключ учетной записи не соответствует этой учетной записи или учетная запись с таким URI не существует, модуль завершится с ошибкой.

acme_directory

строка / обязательный

Каталог ACME, который следует использовать. Это URL-адрес точки входа для доступа к API сервера центра сертификации ACME.

В целях безопасности по умолчанию используется тестовый сервер Let’s Encrypt (для протокола ACME v1). Он создает технически корректные, но недоверенные сертификаты.

Все тестовые конечные точки Let’s Encrypt перечислены здесь: https://letsencrypt.org/docs/staging-environment/.

Для Let’s Encrypt URL-адрес рабочего каталога ACME v2: https://acme-v02.api.letsencrypt.org/directory.

Для ZeroSSL URL-адрес рабочего каталога ACME v2: https://acme.zerossl.com/v2/DV90.

Для Sectigo URL-адрес рабочего каталога ACME v2: https://acme-qa.secure.trust-provider.com/v2/DV.

Для HARICA URL-адрес рабочего каталога ACME v2: https://acme.harica.gr/XXX/directory, где XXX зависит от вашей учетной записи.

В примечаниях к этому модулю приведен список служб ACME, с которыми он был протестирован.

acme_version

целое число

Версия ACME конечной точки.

Для стандартизированных конечных точек ACME v2 должно быть указано 2.

Значение 1 больше не поддерживается начиная с community.crypto 3.0.0.

Варианты:

  • 2 ← (по умолчанию)

request_timeout

целое число

добавлено в community.crypto 2.3.0

Время, в течение которого Ansible ожидает ответ от API ACME.

Это значение тайм-аута применяется ко всем HTTP(S)-запросам (HEAD, GET, POST).

По умолчанию: 10

retrieve_orders

строка

Следует ли получать список URL-адресов заказов или объектов заказов, если сервер ACME их предоставляет.

Значение ignore отключает получение списка заказов.

Если значение не равно ignore и сервер ACME поддерживает заказы, возвращаемое значение order_uris заполняется всегда. Возвращаемое значение orders возвращается только в том случае, если для этого параметра задано значение object_list.

В настоящее время Let’s Encrypt не возвращает заказы, поэтому результат orders всегда будет пустым.

Варианты:

  • "ignore" ← (по умолчанию)
  • "url_list"
  • "object_list"

select_crypto_backend

строка

Определяет, какой криптографический бэкенд использовать.

По умолчанию выбрано auto: сначала выполняется попытка использовать cryptography, если он доступен, а затем — openssl.

Если задано значение openssl, будет предпринята попытка использовать двоичный файл openssl.

Если задано значение cryptography, будет предпринята попытка использовать библиотеку cryptography.

Варианты:

  • "auto" ← (по умолчанию)
  • "cryptography"
  • "openssl"

validate_certs

логическое значение

Следует ли проверять TLS-сертификаты при обращении к каталогу ACME.

Предупреждение: устанавливайте значение false только для тестирования, например при проверке на локальном сервере Pebble.

Варианты:

  • false
  • true ← (по умолчанию)

Атрибуты

Атрибут

Поддержка

Описание

action_group

Группы действий: community.crypto.acme, acme

Используйте group/acme или group/community.crypto.acme в module_defaults, чтобы задать значения по умолчанию для этого модуля.

check_mode

Поддержка: полная

Это действие не изменяет состояние.

Может выполняться в режиме check_mode и возвращать прогноз статуса изменений, не изменяя целевой объект.

diff_mode

Поддержка: неприменимо

Это действие не изменяет состояние.

В режиме diff будут возвращены сведения об изменениях (или о том, что, возможно, требуется изменить в check_mode).

idempotent

Поддержка: полная

Это действие не изменяет состояние.

При повторном запуске с теми же аргументами вне режима check вторая операция не сообщает об изменениях.

При этом предполагается, что система, которой управляет модуль или к которой он обращается, не изменилась существенным образом.

Примечания

Примечание

  • Модуль community.crypto.acme_account позволяет изменять, создавать и удалять учетные записи ACME.
  • До Ansible 2.8 этот модуль назывался acme_account_facts. Способ его использования не изменился.
  • Хотя значения по умолчанию подобраны для работы модуля с центром сертификации Let’s Encrypt, в принципе модуль можно использовать с любым центром сертификации, предоставляющим конечную точку ACME.
  • На данный момент разработчики тестировали модули ACME только с Let’s Encrypt (тестовая и рабочая среды), ZeroSSL (рабочая среда) и тестовым сервером Pebble. Сообщество сообщало, что модули также работают с Sectigo ACME Service for InCommon и HARICA. Если у вас возникли проблемы с другим сервером ACME, пожалуйста, создайте задачу, чтобы помочь нам добавить его поддержку. Мы также будем рады отзывам о работе с серверами ACME, не упомянутыми здесь.
  • Если доступна достаточно новая версия библиотеки cryptography (подробности см. в разделе «Требования»), она будет использоваться вместо двоичного файла openssl. Эту возможность можно явно отключить или включить с помощью параметра select_crypto_backend. Обратите внимание, что использование двоичного файла openssl будет медленнее и менее безопасно, поскольку содержимое закрытого ключа всегда необходимо хранить на диске (см. account_key_content).

См. также

См. также

community.crypto.acme_account

Позволяет создавать, изменять и удалять учетные записи ACME.

Примеры

---
- name: Check whether an account with the given account key exists
  community.crypto.acme_account_info:
    account_key_src: /etc/pki/cert/private/account.key
  register: account_data
- name: Verify that account exists
  ansible.builtin.assert:
    that:
      - account_data.exists
- name: Print account URI
  ansible.builtin.debug:
    var: account_data.account_uri
- name: Print account contacts
  ansible.builtin.debug:
    var: account_data.account.contact

- name: Check whether the account exists and is accessible with the given account key
  acme_account_info:
    account_key_content: "{{ acme_account_key }}"
    account_uri: "{{ acme_account_uri }}"
  register: account_data
- name: Verify that account exists
  ansible.builtin.assert:
    that:
      - account_data.exists
- name: Print account contacts
  ansible.builtin.debug:
    var: account_data.account.contact

Возвращаемые значения

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

Ключ

Описание

account

dictionary

Информация об учетной записи, полученная с сервера ACME.

Возвращается: если учетная запись существует

contact

list / elements=string

Ресурс проверки, который необходимо создать для подтверждения.

Возвращается: всегда

Пример: ["mailto:me@example.com", "tel:00123456789"]

orders

string

URL-адрес, по которому можно получить список заказов для этой учетной записи.

Используйте параметр retrieve_orders для запроса этого URL-адреса и получения полного списка заказов.

Возвращается: всегда

Пример: "https://example.ca/account/1/orders"

public_account_key

string

Открытый ключ учетной записи в формате JSON Web Key.

Возвращается: всегда

Пример: "{\"kty\":\"EC\",\"crv\":\"P-256\",\"x\":\"MKBCTNIcKUSDii11ySs3526iDZ8AiTo7Tu6KPAqv7D4\",\"y\":\"4Etl6SRW2YiLUrN5vfvVHuhp7x8PxltmWWlbbM4IFyM\"}"

status

string

Статус учетной записи.

Возвращается: всегда

Может возвращать только:

  • "valid"
  • "deactivated"
  • "revoked"

Пример: "valid"

account_uri

string

URI учетной записи ACME или None, если учетная запись не существует.

Возвращается: всегда

exists

boolean

Существует ли учетная запись.

Возвращается: всегда

order_uris

list / elements=string

добавлено в community.crypto 1.5.0

Список заказов.

Если retrieve_orders — url_list, это будет список URL-адресов.

Если retrieve_orders — object_list, это будет список объектов.

Возвращается: если учетная запись существует, retrieve_orders не является ignore и сервер поддерживает получение списка заказов

orders

list / elements=dictionary

Список заказов.

Возвращается: если учетная запись существует, retrieve_orders — object_list и сервер поддерживает получение списка заказов

authorizations

list / elements=string

Список URL-адресов авторизаций для этого заказа.

Возвращается: при успешном выполнении

certificate

string

URL-адрес для получения сертификата.

Возвращается: когда сертификат выпущен

error

dictionary

Если при обработке произошла ошибка, это поле содержит информацию о ней.

Поле имеет структуру документа об ошибке (RFC7807).

Возвращается: если произошла ошибка

expires

string

Время истечения срока действия заказа.

Временная метка должна быть отформатирована согласно RFC3339.

Это поле обязательно включать в результат только в том случае, если orders[].status — pending или valid.

Возвращается: если сервер указывает дату истечения срока действия

finalize

string

URL-адрес для завершения обработки заказа ACME.

Возвращается: при успешном выполнении

identifiers

list / elements=dictionary

Список идентификаторов, для которых предназначен этот заказ.

Возвращается: при успешном выполнении

type

string

Тип идентификатора.

Возвращается: при успешном выполнении

Может возвращать только:

  • "dns"
  • "ip"

value

string

Имя идентификатора: имя хоста или IP-адрес.

Возвращается: при успешном выполнении

wildcard

boolean

Является ли orders[].identifiers[].value подстановочным знаком. Префикс подстановочного знака *. не включается в orders[].identifiers[].value, если это true.

Возвращается: обязательно включается, если идентификатор является подстановочным

notAfter

string

Запрошенное значение поля notAfter в сертификате.

Дата должна быть отформатирована согласно RFC3339.

Сервер не обязан возвращать это значение.

Возвращается: если сервер возвращает это значение

notBefore

string

Запрошенное значение поля notBefore в сертификате.

Дата должна быть отформатирована согласно RFC3339.

Сервер не обязан возвращать это значение.

Возвращается: если сервер возвращает это значение

status

string

Статус заказа.

Возвращается: при успешном выполнении

Может возвращать только:

  • "pending"
  • "ready"
  • "processing"
  • "valid"
  • "invalid"

Авторы

  • Felix Fontein (@felixfontein)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Запросить помощь (crypto)
  • Запросить помощь (ACME)
  • Сообщить об ошибке
  • Предложить новую функцию
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/crypto/acme_account_info_module.html

Spec-Zone.ru

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