Spec-Zone.ru › Ansible 2.10

community.crypto.acme_account – Создание, изменение или удаление учетных записей ACME

Примечание

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

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

Для использования в книге задач укажите: community.crypto.acme_account.

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

Обзор

  • Позволяет создавать, изменять или удалять учетные записи с 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 testing server.
acme_version
целое число
    Варианты:
  • 1
  • 2
Версия ACME конечной точки.
Должно быть 1 для классических конечных точек Let’s Encrypt и Buypass ACME или 2 для стандартных конечных точек ACME v2.
Значение по умолчанию — 1. Обратите внимание, что в community.crypto 2.0.0 этот параметр будет *обязателен* и больше не будет иметь значения по умолчанию.
Также обратите внимание, что в будущем поддержка ACME v1 будет прекращена.
allow_creation
логическое значение
    Варианты:
  • нет
  • да ←
Разрешить создание учетной записи (при состоянии present).
contact
список / элементы=строка
Значение по умолчанию:
[]
Список URL-адресов контактов.
Электронные адреса должны начинаться с mailto:.
См. https://tools.ietf.org/html/rfc8555#section-7.3 для получения разрешенных значений.
Должно быть указано, когда состояние — present. Будет проигнорировано, если состояние — absent или changed_key.
external_account_binding
словарь
добавлен в 1.1.0 версии community.crypto
Позволяет указать данные внешнего привязывания учетной записи во время создания учетной записи.
Используется CA, такими как Sectigo, для привязки новой учетной записи ACME к существующей учетной записи CA, чтобы правильно идентифицировать клиента.
Используется только при создании новой учетной записи. Не может быть указано для ACME v1.
alg
строка / обязательно
    Варианты:
  • HS256
  • HS384
  • HS512
Алгоритм MAC, предоставленный CA.
Если не указан CA, вероятно, HS256.
key
строка / обязательно
Значение ключа MAC в кодировке Base64 URL, предоставленное CA.
Заполнение (= символы в конце) можно опустить.
kid
строка / обязательно
Идентификатор ключа, предоставленный CA.
new_account_key_content
строка
Содержание ключа учетной записи ACME RSA или эллиптической кривой для изменения.
Применяются те же ограничения, что и к account_key_content.
Взаимоисключающий с new_account_key_src.
Обязательно, если не используется new_account_key_src и состояние — changed_key.
new_account_key_src
путь
Путь к файлу, содержащему ключ учетной записи ACME RSA или эллиптической кривой для изменения.
Применяются те же ограничения, что и к account_key_src.
Взаимоисключающий с new_account_key_content.
Обязательно, если не используется new_account_key_content и состояние — changed_key.
select_crypto_backend
строка
    Варианты:
  • авто ←
  • cryptography
  • openssl
Определяет используемый криптографический бэкенд.
Значение по умолчанию — auto, которое пытается использовать cryptography при его наличии и переходит к openssl.
Если установлено openssl, будет предпринята попытка использования бинарного файла openssl.
Если установлено cryptography, будет предпринята попытка использования библиотеки cryptography.
state
строка / обязательно
    Варианты:
  • present
  • absent
  • changed_key
Состояние учетной записи, определяемое по ее ключу учетной записи.
Если состояние absent, учетная запись либо не существует, либо деактивирована.
Если состояние changed_key, учетная запись должна существовать. Ключ учетной записи будет изменен; никакая другая информация не будет изменена.
terms_agreed
логическое значение
    Варианты:
  • нет ←
  • да
Логическое значение, указывающее, согласны ли вы с документом пользовательского соглашения.
Серверы ACME могут потребовать, чтобы это значение было истинным.
validate_certs
логическое значение
    Варианты:
  • нет
  • да ←
Определяет, будут ли при вызовах в каталог ACME проверены сертификаты TLS.
*Предупреждение:* Следует *только* устанавливать значение no для целей тестирования, например, при тестировании против локального сервера Pebble.

Примечания

Примечание

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

См. также

См. также

Автоматическая система управления сертификатами (ACME)

Спецификация протокола ACME (RFC 8555).

community.crypto.acme_account_info

Получение сведений об учетной записи ACME.

community.crypto.openssl_privatekey

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

community.crypto.acme_inspect

Позволяет отладить проблемы.

Примеры

- name: Make sure account exists and has given contacts. We agree to TOS.
  community.crypto.acme_account:
    account_key_src: /etc/pki/cert/private/account.key
    state: present
    terms_agreed: yes
    contact:
    - mailto:me@example.com
    - mailto:myself@example.org

- name: Make sure account has given email address. Don't create account if it doesn't exist
  community.crypto.acme_account:
    account_key_src: /etc/pki/cert/private/account.key
    state: present
    allow_creation: no
    contact:
    - mailto:me@example.com

- name: Change account's key to the one stored in the variable new_account_key
  community.crypto.acme_account:
    account_key_src: /etc/pki/cert/private/account.key
    new_account_key_content: '{{ new_account_key }}'
    state: changed_key

- name: Delete account (we have to use the new key)
  community.crypto.acme_account:
    account_key_content: '{{ new_account_key }}'
    state: absent

Значения возврата

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

Ключ Возвращаемое значение Описание
account_uri
строка
всегда
URI учетной записи ACME или None, если учетной записи не существует.



Авторы

  • 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_module.html

Spec-Zone.ru

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