Spec-Zone.ru › Ansible 2.11

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

Примечание

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

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

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

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

Обзор

  • Позволяет получить информацию об учетных записях 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, а URL каталога для 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 конечной точки.
Должно быть 1 для классических конечных точек Let's Encrypt и Buypass ACME, или 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. Использование не изменилось.
  • Поддерживает check_mode.
  • Если доступна достаточно новая версия библиотеки 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
  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
  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
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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/crypto/acme_account_info_module.html

Spec-Zone.ru

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