acme_account_info – Извлекает информацию об учетных записях ACME
Новая в версии 2.7.
Обзор
- Позволяет извлекать информацию об учетных записях у ЦС, поддерживающего протокол ACME, например Let’s Encrypt.
- Этот модуль работает только с протоколом ACME v2.
Псевдонимы: acme_account_facts
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- 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 сервера ЦС. По соображениям безопасности значение по умолчанию устанавливается на тестовый сервер 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. |
| retrieve_orders строка добавлено в 2.9 |
| Выполнять ли запрос списка URL-адресов заказов или объектов заказов, если они предоставлены сервером ACME. Значение ignore не будет запрашивать список заказов.В настоящее время Let's Encrypt не возвращает заказы, поэтому результат orders всегда пустой. |
| select_crypto_backend строка добавлено в 2.7 |
| Определяет, какой криптографический бэкенд использовать. Значение по умолчанию — auto, которое пытается использовать cryptography, если оно доступно, и переходит к openssl.Если установлено значение openssl, будет пытаться использовать двоичный файл openssl.Если установлено значение cryptography, будет пытаться использовать библиотеку cryptography. |
| validate_certs логический тип добавлено в 2.5 |
| Указывает, будут ли валидироваться сертификаты TLS при вызовах в каталог ACME.
Предупреждение: Для целей тестирования, например, при тестировании с локальным сервером Pebble, следует всегда устанавливать значение no. |
Примечания
Примечание
- Модуль acme_account позволяет изменять, создавать и удалять учетные записи ACME.
- Этот модуль назывался
acme_account_factsдо Ansible 2.8. Использование не изменилось. - Если доступна достаточно новая версия библиотеки
cryptography, она будет использоваться вместо двоичного файлаopenssl. Это можно явно отключить или включить с помощью параметраselect_crypto_backend. Обратите внимание, что использование двоичного файлаopensslбудет медленнее и менее безопасно, так как содержимое закрытых ключей всегда должно храниться на диске (см.account_key_content). - Хотя значения по умолчанию выбраны для использования модуля с ЦС Let’s Encrypt, модуль в принципе может использоваться с любым ЦС, предоставляющим конечную точку ACME, например, Buypass Go SSL.
См. также
См. также
- acme_account – Создание, изменение или удаление учетных записей ACME
- Позволяет создавать, изменять или удалять учетную запись ACME.
Примеры
- name: Check whether an account with the given account key exists
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 строка | Статус заказа. | |||
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом 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.9/modules/acme_account_info_module.html