Spec-Zone.ru › Ansible 2.11

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

Примечание

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

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

Чтобы использовать его в playbook, укажите: 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 тестовым сервером.
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
булево
    Варианты:
  • нет
  • да ←
Указывает, будут ли проверены сертификаты TLS при обращении к каталогу ACME.
*Предупреждение:* Должно *только* устанавливаться в 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.

См. также

См. также

Automatic Certificate Management Environment (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–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_module.html

Spec-Zone.ru

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