Spec-Zone.ru › Ansible

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

Примечание

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

Эта коллекция может быть уже установлена, если используется пакет ansible. Она не включена в ansible-core. Для проверки установки выполните ansible-galaxy collection list.

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

Для использования в плейбуке укажите: community.crypto.acme_account_info.

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

Обзор

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

Требования

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

  • либо openssl, либо cryptography >= 1.5
  • ipaddress

Параметры

Параметр

Комментарии

account_key_content

string

Содержимое ключа ACME account RSA или Elliptic Curve.

Взаимоисключающий с account_key_src.

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

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

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

account_key_passphrase

string

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

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

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

account_key_src

алиасы: account_key

path

Путь к файлу, содержащему ключ ACME account RSA или Elliptic Curve.

Закрытые ключи могут быть созданы с помощью модулей 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

string

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

acme_directory

string / required

Используемый каталог ACME. Это URL-адрес точки входа для доступа к API сервера ACME 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 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

integer / required

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

Должно быть 1 для классических конечных точек Let’s Encrypt и Buypass ACME или 2 для стандартизированных конечных точек ACME v2.

Значение 1 устарело начиная с community.crypto 2.0.0 и будет удалено из community.crypto 3.0.0.

Варианты:

  • 1
  • 2

request_timeout

integer

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

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

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

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

retrieve_orders

string

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

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

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

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

Варианты:

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

select_crypto_backend

string

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

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

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

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

Варианты:

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

validate_certs

boolean

Проверять ли сертификаты 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).

Примечания

Примечание

  • Модуль community.crypto.acme_account позволяет изменять, создавать и удалять учетные записи ACME.
  • Этот модуль назывался acme_account_facts до Ansible 2.8. Использование не изменилось.
  • Хотя значения по умолчанию выбраны так, чтобы модуль можно было использовать с центром сертификации Let’s Encrypt, в принципе, модуль может быть использован с любым центром сертификации, предоставляющим конечную точку ACME, например, Buypass Go SSL.
  • На данный момент модули ACME были протестированы разработчиками только с Let’s Encrypt (этап и производство), Buypass (этап и производство), ZeroSSL (производство) и Pebble testing server. От сообщества поступила обратная связь, что они также работают с Sectigo ACME Service for InCommon. Если у вас возникнут проблемы с другим сервером 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

словарь

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

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

contact

список / элементы=строка

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

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

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

orders

строка

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

Используйте опцию retrieve_orders, чтобы запросить этот URL и получить полный список заказов.

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

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

public_account_key

строка

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

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

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

status

строка

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

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

Возможные значения:

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

Пример: "valid"

account_uri

строка

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

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

exists

булево

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

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

order_uris

список / элементы=строка

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

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

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

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

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

orders

список / элементы=словарь

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

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

authorizations

список / элементы=строка

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

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

certificate

строка

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

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

error

словарь

В случае возникновения ошибки при обработке, содержит информацию об ошибке.

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

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

expires

строка

Срок действия заказа.

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

Требуется только в результате, если orders[].status равно pending или valid.

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

finalize

строка

URL, используемый для завершения заказа ACME.

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

identifiers

список / элементы=словарь

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

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

type

строка

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

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

Возможные значения:

  • "dns"
  • "ip"

value

строка

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

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

END_OF_DOCUMENT_MARKER

wildcard

boolean

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

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

notAfter

string

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

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

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

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

notBefore

string

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

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

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

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

status

string

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

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

Возможные значения:

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

Авторы

  • Felix Fontein (@felixfontein)

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

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

© 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_info_module.html

Spec-Zone.ru

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