Spec-Zone.ru › Ansible 2.10

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

Примечание

Этот плагин входит в состав коллекции community.crypto (версия 1.3.0).

Для его установки используйте: ansible-galaxy collection install community.crypto.

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

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

Обзор

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

Требования

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

  • python >= 2.6
  • либо openssl, либо cryptography >= 1.5

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
account_key_content
строка
Содержание ключа учетной записи ACME RSA или эллиптической кривой.
Исключает account_key_src.
Требуется, если account_key_src не используется.
*Предупреждение:* содержимое будет записано во временный файл, который Ansible удалит по завершении модуля. Поскольку это важный закрытый ключ, который можно использовать для изменения ключа учетной записи или для отзыва сертификатов без знания их закрытых ключей, это может быть неприемлемо.
В случае использования cryptography, содержимое не записывается во временный файл. Однако Ansible всё ещё может записать его на диск при передаче модуля с его аргументом на узел, где он выполняется.
account_key_src
путь
Путь к файлу, содержащему закрытый ключ учетной записи ACME RSA или эллиптической кривой.
Закрытые ключи можно создать с помощью модуля community.crypto.openssl_privatekey. Если необходимые компоненты (pyOpenSSL или cryptography) недоступны, ключи также можно создать с помощью утилиты командной строки openssl: ключи RSA можно создать с помощью openssl genrsa ..., а ключи эллиптических кривых — с помощью openssl ecparam -genkey .... Можно использовать и другие утилиты, создающие закрытые ключи в формате PEM.
Исключает account_key_content.
Требуется, если account_key_content не используется.

псевдонимы: account_key
account_uri
строка
Если указано, предполагается, что URI учетной записи указан. Если ключ учетной записи не соответствует этой учетной записи или учетная запись с этим URI не существует, модуль завершается с ошибкой.
acme_directory
строка
Используемый каталог ACME. Это URL-адрес входной точки для доступа к API сервера CA.
Для сохранности по умолчанию используется тестовый сервер Let's Encrypt (для протокола ACME v1). Это создаст технически корректные, но небезопасные сертификаты.
Значение по умолчанию — https://acme-staging.api.letsencrypt.org/directory. Обратите внимание, что в версии community.crypto 2.0.0 этот параметр будет *обязательным* и не будет иметь значения по умолчанию.
Для 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
целое число
    Варианты:
  • 1
  • 2
Версия протокола ACME конечной точки.
Для классических конечных точек Let's Encrypt и Buypass ACME должно быть 1, или 2 для стандартных конечных точек ACME v2.
Значение по умолчанию — 1. Обратите внимание, что в версии community.crypto 2.0.0 этот параметр будет *обязательным* и не будет иметь значения по умолчанию.
Пожалуйста, также обратите внимание, что поддержка ACME v1 будет в конечном итоге удалена.
retrieve_orders
строка
    Варианты:
  • ignore ←
  • url_list
  • object_list
Выполняется ли получение списка URL-адресов заказов или объектов заказов, если они предоставлены сервером ACME.
Значение ignore не будет загружать список заказов.
В настоящее время Let's Encrypt не возвращает заказы, поэтому результат orders всегда будет пустым.
select_crypto_backend
строка
    Варианты:
  • auto ←
  • cryptography
  • openssl
Определяет, какой использовать криптографический бэкэнд.
Значение по умолчанию — auto, которое пытается использовать cryptography, если оно доступно, и переходит к openssl.
Если установлено openssl, будет пытаться использовать бинарник openssl.
Если установлено cryptography, будет пытаться использовать библиотеку cryptography.
validate_certs
булево
    Варианты:
  • no
  • yes ←
Подтверждаются ли сертификаты TLS при обращении к каталогу ACME.
*Предупреждение:* должно устанавливаться *только* в значение no для целей тестирования, например, при тестировании на локальном сервере Pebble.

Примечания

Примечание

  • Модуль community.crypto.acme_account позволяет изменять, создавать и удалять учетные записи ACME.
  • Этот модуль назывался acme_account_facts до Ansible 2.8. Способ использования не изменился.
  • Если доступна новая версия библиотеки cryptography (см. Требования для получения подробностей), она будет использоваться вместо бинарника openssl. Это можно явно отключить или включить с помощью параметра select_crypto_backend. Обратите внимание, что использование бинарника openssl будет медленнее и менее безопаснее, так как содержимое закрытого ключа всегда должно храниться на диске (см. account_key_content).
  • Хотя значения по умолчанию выбраны таким образом, чтобы модуль можно было использовать с CA Let’s Encrypt, он, в принципе, может использоваться с любой CA, предоставляющей конечную точку ACME, например, Buypass Go SSL.

См. также

См. также

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
  assert:
    that:
      - account_data.exists
- name: Print account URI
  debug: var=account_data.account_uri
- name: Print account contacts
  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
  assert:
    that:
      - account_data.exists
- name: Print account contacts
  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
account_uri
строка
всегда
URI учетной записи ACME или None, если учетная запись не существует.

exists
булево
всегда
Существует ли учетная запись.

orders
список / элементы=строка
если учетная запись существует, retrieve_orders не ignore, и сервер поддерживает список заказов
Список заказов.
Если retrieve_orders url_list, это будет список URL-адресов.
Если retrieve_orders object_list, это будет список объектов.

authorizations
список / элементы=строка
успех
Список URL-адресов авторизации для этого заказа.

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

error
словарь
при возникновении ошибки
В случае возникновения ошибки во время обработки, здесь содержится информация об ошибке.
Поле структурировано как документ проблемы (RFC7807).

expires
строка
при возвращении даты истечения срока действия сервером
Дата истечения срока действия заказа.
Отметка времени должна быть отформатирована в соответствии с RFC3339.
Требуется включать только при статусе status pending или valid.

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

identifiers
список / элементы=словарь
успех
Список идентификаторов, для которых предназначен этот заказ.

type
строка
успех
Тип идентификатора. dns или ip.

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

wildcard
булево
необходимо включить, если идентификатор является подстановочным
Является ли value подстановочным символом. Префикс подстановки *. не включен в value, если это true.

notAfter
строка
при возвращении сервером
Запрошенное значение поля notAfter в сертификате.
Дата должна быть отформатирована в соответствии с RFC3339.
Сервер не обязан возвращать это значение.

notBefore
строка
при возвращении сервером
Запрошенное значение поля notBefore в сертификате.
Дата должна быть отформатирована в соответствии с RFC3339.
Сервер не обязан возвращать это значение.

status
строка
успех
Статус заказа.



Авторы

  • 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.10/collections/community/crypto/acme_account_facts_module.html

Spec-Zone.ru

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