Spec-Zone.ru › Ansible

Модуль community.crypto.acme_certificate_renewal_info – Определение необходимости обновления сертификата

Примечание

Этот модуль входит в коллекцию community.crypto (версия 3.2.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.crypto. Для использования этого модуля необходимы дополнительные требования; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.crypto.acme_certificate_renewal_info.

Добавлено в community.crypto 2.20.0

  • Краткое описание
  • Требования
  • Параметры
  • Атрибуты
  • Примечания
  • См. также
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Использует различные сведения, чтобы определить, следует ли обновить сертификат.
  • Если доступно, используется расширение ARI (информация об обновлении ACME, RFC 9773).

Требования

Следующие требования необходимы на хосте, на котором выполняется этот модуль.

  • либо openssl
  • либо cryptography >= 3.3

Параметры

Параметр

Комментарии

acme_directory

string / обязательный

Каталог ACME для использования. Это URL-адрес точки входа для доступа к API сервера центра сертификации ACME.

В целях безопасности по умолчанию используется сервер тестирования Let’s Encrypt (для протокола ACME v1). Он будет создавать технически корректные, но недоверенные сертификаты.

Все конечные точки тестирования Let’s Encrypt перечислены здесь: https://letsencrypt.org/docs/staging-environment/.

Для Let’s Encrypt URL-адрес производственного каталога для ACME v2: https://acme-v02.api.letsencrypt.org/directory.

Для ZeroSSL URL-адрес производственного каталога для ACME v2: https://acme.zerossl.com/v2/DV90.

Для Sectigo URL-адрес производственного каталога для ACME v2: https://acme-qa.secure.trust-provider.com/v2/DV.

Для HARICA URL-адрес производственного каталога для ACME v2: https://acme.harica.gr/XXX/directory, где XXX — значение, зависящее от вашей учетной записи.

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

acme_version

integer

Версия ACME конечной точки.

Для стандартизированных конечных точек ACME v2 должно быть указано 2.

Значение 1 больше не поддерживается начиная с community.crypto 3.0.0.

Варианты:

  • 2 ← (по умолчанию)

ari_algorithm

string

Если используются сведения ARI, выбирает алгоритм для определения необходимости обновления сертификата.

standard выбирает алгоритм, указанный в спецификации ARI.

start возвращает should_renew=true после наступления начала интервала обновления.

Варианты:

  • "standard" ← (по умолчанию)
  • "start"

certificate_content

string

Содержимое сертификата X.509, для которого нужно определить необходимость обновления.

certificate_path и certificate_content являются взаимоисключающими.

certificate_path

path

Путь к сертификату X.509, для которого нужно определить необходимость обновления.

Если сертификат не существует, модуль всегда возвращает should_renew=true.

certificate_path и certificate_content являются взаимоисключающими.

now

string

Использовать эту временную метку вместо текущей, чтобы определить, следует ли обновить сертификат.

Время можно указать как относительное значение или абсолютную временную метку.

Время всегда интерпретируется как UTC.

Допустимый формат: [+-]timespec | ASN.1 TIME, где timespec может быть целым числом + [w | d | h | m | s] (например, +32w1d2h).

remaining_days

integer

Количество дней, в течение которых сертификат должен оставаться действительным.

Например, если remaining_days=20, эта проверка вызывает should_renew=true, если срок действия сертификата истекает менее чем через 20 дней.

remaining_percentage

float

Процент периода действия сертификата, который должен оставаться.

Например, если remaining_percentage=0.1, а период действия сертификата составляет 90 дней, эта проверка вызывает should_renew=true, если срок действия сертификата истекает менее чем через 9 дней.

Значение должно находиться в диапазоне от 0 до 1.

request_timeout

integer

добавлено в community.crypto 2.3.0

Время, в течение которого Ansible ожидает ответа от API ACME.

Этот тайм-аут применяется ко всем HTTP(S)-запросам (HEAD, GET, POST).

По умолчанию: 10

select_crypto_backend

string

Определяет, какую криптографическую серверную часть использовать.

По умолчанию выбрано auto: этот вариант пытается использовать cryptography, если он доступен, и в противном случае использует openssl.

Если задано значение openssl, будет предпринята попытка использовать двоичный файл openssl.

Если задано значение cryptography, будет предпринята попытка использовать библиотеку cryptography.

Варианты:

  • "auto" ← (по умолчанию)
  • "cryptography"
  • "openssl"

treat_parsing_error_as_non_existing

boolean

добавлено в community.crypto 2.24.0

Определяет поведение, если файл сертификата существует или его содержимое передано, но сертификат не удается разобрать.

Если true, выполнение завершится успешно с exists=true, parsable=false и should_renew=true.

Если false, выполнение модуля завершится ошибкой.

Если файл существует, но его не удается загрузить из-за ошибок ввода-вывода или ошибок прав доступа, модуль всегда завершается с ошибкой.

Варианты:

  • false ← (по умолчанию)
  • true

use_ari

boolean

Использовать ли сведения ARI, если они доступны.

Установите значение false, если сервер ACME реализует ARI способом, несовместимым с этим модулем.

Варианты:

  • false
  • true ← (по умолчанию)

validate_certs

boolean

Проверять ли TLS-сертификаты при обращении к каталогу ACME.

Предупреждение: Значение false следует устанавливать только для тестирования, например при тестировании с локальным сервером Pebble.

Варианты:

  • false
  • true ← (по умолчанию)

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Это действие не изменяет состояние.

Модуль может работать в режиме check_mode и возвращать прогноз изменения состояния, не изменяя целевой объект.

diff_mode

Поддержка: н/д

Это действие не изменяет состояние.

В режиме diff будут возвращены сведения о том, что изменилось (или, возможно, должно измениться в check_mode).

idempotent

Поддержка: частичная

Модуль не является идемпотентным, если now — относительная временная метка или не указано.

Если use_ari=true, модуль не является идемпотентным, если ari_algorithm=standard.

При последовательном запуске дважды вне режима проверки с одинаковыми аргументами второй запуск сообщает об отсутствии изменений.

Предполагается, что система, которой управляет модуль или к которой он обращается, не изменилась существенным образом.

Примечания

Примечание

  • Хотя значения по умолчанию выбраны так, чтобы модуль можно было использовать с центром сертификации Let’s Encrypt, в принципе модуль можно использовать с любым центром сертификации, предоставляющим конечную точку ACME.
  • На данный момент разработчики тестировали модули ACME только с Let’s Encrypt (тестовая и производственная среды), ZeroSSL (производственная среда) и тестовым сервером Pebble. Сообщество сообщало, что модули также работают с Sectigo ACME Service для InCommon и HARICA. Если у вас возникли проблемы с другим сервером ACME, пожалуйста, создайте запрос, чтобы помочь нам обеспечить его поддержку. Мы также будем благодарны за отзывы о работе с сервером ACME, не упомянутым здесь.
  • Если доступна достаточно новая версия библиотеки cryptography (подробности см. в разделе «Требования»), она будет использоваться вместо двоичного файла openssl. Эту возможность можно явно отключить или включить с помощью параметра select_crypto_backend. Обратите внимание: использование двоичного файла openssl будет медленнее.

См. также

См. также

community.crypto.acme_certificate

Позволяет получить сертификат с помощью протокола ACME.

community.crypto.acme_ari_info

Получает сведения об обновлении сертификата.

Примеры

---
- name: Retrieve renewal information for a certificate
  community.crypto.acme_certificate_renewal_info:
    certificate_path: /etc/httpd/ssl/sample.com.crt
  register: cert_data

- name: Should the certificate be renewed?
  ansible.builtin.debug:
    var: cert_data.should_renew

Возвращаемые значения

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

Ключ

Описание

cert_id

string

Идентификатор сертификата согласно разделу 4.1 RFC 9773.

Возвращается: при успешном выполнении, если сертификат существует и имеет расширение X.509 Authority Key Identifier

Пример: "aYhba4dGQEHhs3uEe6CuLN4ByNQ.AIdlQyE"

exists

boolean

добавлено в community.crypto 2.24.0

Существует ли файл сертификата или было ли передано certificate_content.

Возвращается: при успешном выполнении

Пример: true

msg

string

Сведения о причине обновления.

Эти сведения следует показывать пользователю, поскольку при обновлении, инициированном ARI, они могут содержать важную информацию, например о принудительном отзыве ошибочно выданных сертификатов.

Возвращается: при успешном выполнении

Пример: "The certificate does not exist."

parsable

boolean

добавлено в community.crypto 2.24.0

Существует ли файл сертификата или было ли передано certificate_content и можно ли разобрать сертификат.

Может отличаться от exists только если treat_parsing_error_as_non_existing=true.

Возвращается: при успешном выполнении

Пример: true

should_renew

boolean

Следует ли обновить сертификат.

Если сертификат не передан или срок его действия истек, всегда возвращается true.

Возвращается: при успешном выполнении

Пример: true

supports_ari

boolean

Использовались ли сведения ARI для определения необходимости обновления. Это значение можно использовать, чтобы определить, следует ли указывать include_renewal_cert_id=when_ari_supported для модуля community.crypto.acme_certificate.

Если use_ari=false, всегда возвращается false.

Возвращается: при успешном выполнении

Пример: true

Авторы

  • Felix Fontein (@felixfontein)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Запросить помощь (crypto)
  • Запросить помощь (ACME)
  • Сообщить об ошибке
  • Предложить новую функцию
  • Общение

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/crypto/acme_certificate_renewal_info_module.html

Spec-Zone.ru

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