Spec-Zone.ru › Ansible 2.10

community.crypto.x509_crl – Генерация списков отозванных сертификатов (CRLs)

Примечание

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

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

Чтобы использовать его в playbook, укажите: community.crypto.x509_crl.

Введено в версии 1.0.0: of community.crypto

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

Обзор

  • Этот модуль позволяет (пере)генерировать или обновить списки отозванных сертификатов (CRLs).
  • Сертификаты в списке отозванных сертификатов могут быть указаны по серийному номеру и (необязательно) их эмитенту или как путь к файлу сертификата в формате PEM.

Требования

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

  • cryptography >= 1.2

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
attributes
строка
добавлен в 2.3 ansible.builtin
Атрибуты, которые должны иметь результирующий файл или каталог.
Для получения поддерживаемых флагов см. страницу руководства для chattr на целевой системе.
Эта строка должна содержать атрибуты в том же порядке, что и отображает lsattr.
Оператор = предполагается по умолчанию, в противном случае операторы + или - должны быть включены в строку.

псевдонимы: attr
backup
логическое значение
    Варианты:
  • нет ←
  • да
Создать резервную копию файла, включая отметку времени, чтобы вы могли восстановить исходный CRL, если по ошибке перезаписали его новым.
digest
строка
Значение по умолчанию:
"sha256"
Алгоритм дайджеста, который будет использоваться при подписи CRL.
force
логическое значение
    Варианты:
  • нет ←
  • да
Нужно ли принудительно перегенерировать CRL.
format
строка
    Варианты:
  • pem ←
  • der
Формат файла CRL (PEM или DER).
Если существующий файл CRL соответствует всем параметрам, кроме format, он будет преобразован в правильный формат, а не перегенерирован.
group
строка
Имя группы, которая должна владеть файлом/каталогом (передаётся в chown).
ignore_timestamps
логическое значение
    Варианты:
  • нет ←
  • да
Игнорировать ли отметки времени last_update, next_update и revocation_date (в revoked_certificates) для проверок идемпотентности. Отметка времени invalidity_date в revoked_certificates никогда не будет игнорироваться.
Используйте это в сочетании с относительными отметками времени для этих значений, чтобы получить идемпотентность.
issuer
словарь
Пара ключей/значений, которые будут присутствовать в поле имени издателя CRL.
Если вам нужно указать несколько значений с одним ключом, используйте список в качестве значения.
Обязательно, если state равен present.
last_update
строка
Значение по умолчанию:
"+0s"
Точка во времени, с которой этому CRL можно доверять.
Время может быть указано как относительное время, так и как абсолютная отметка времени.
Время всегда интерпретируется как UTC.
Допустимый формат: [+-]timespec | ASN.1 TIME где timespec может быть целым числом + [w | d | h | m | s] (например, +32w1d2h).
Обратите внимание, что при использовании относительного времени этот модуль НЕ идемпотентен, за исключением случаев, когда ignore_timestamps установлено в yes.
mode
строка
    Варианты:
  • generate ←
  • update
Определяет, как обрабатывать записи существующих CRL.
Если установлено значение generate, гарантирует, что CRL содержит точный набор отозванных сертификатов, указанных в revoked_certificates.
Если установлено значение update, гарантирует, что CRL содержит отозванные сертификаты из revoked_certificates, но может также содержать и другие отозванные сертификаты. Если файл CRL уже существует, все записи из существующего CRL также будут включены в новый CRL. При использовании update, возможно, вам понадобится установить ignore_timestamps в yes.
next_update
строка
Самая поздняя абсолютная точка во времени, к которой ожидается, что этот issuer выпустит другой CRL. Многие клиенты будут считать CRL просроченным, когда наступит next_update.
Время может быть указано как относительное время, так и как абсолютная отметка времени.
Время всегда интерпретируется как UTC.
Допустимый формат: [+-]timespec | ASN.1 TIME где timespec может быть целым числом + [w | d | h | m | s] (например, +32w1d2h).
Обратите внимание, что при использовании относительного времени этот модуль НЕ идемпотентен, за исключением случаев, когда ignore_timestamps установлено в yes.
Обязательно, если state равен present.
owner
строка
Имя пользователя, который должен владеть файлом/каталогом (передаётся в chown).
path
путь / обязательно
Удаленный абсолютный путь, где должен быть создан или уже находится сгенерированный файл CRL.
privatekey_content
строка
Содержание закрытого ключа CA, используемого при подписи CRL.
Либо privatekey_path, либо privatekey_content должны быть указаны, если state равен present, но не оба.
privatekey_passphrase
строка
Пароль для privatekey_path.
Это требуется, если закрытый ключ защищён паролем.
privatekey_path
путь
Путь к закрытому ключу CA, используемому при подписи CRL.
Либо privatekey_path, либо privatekey_content должны быть указаны, если state равен present, но не оба.
return_content
логическое значение
    Варианты:
  • нет ←
  • да
Если установлено значение yes, вернёт содержимое (текущего или сгенерированного) CRL в качестве crl.
revoked_certificates
список / элементы=словарь
Список сертификатов, которые необходимо отозвать.
Обязательно, если state равен present.
content
строка
Содержимое сертификата в формате PEM.
Серийный номер и издатель будут извлечены из сертификата.
Взаимоисключающие с path и serial_number. Один из этих трёх параметров должен быть указан.
invalidity_date
строка
Точка во времени, когда стало известно/подозревалось, что закрытый ключ был скомпрометирован или сертификат стал недействительным.
Время может быть указано как относительное время, так и как абсолютная отметка времени.
Время всегда интерпретируется как UTC.
Допустимый формат: [+-]timespec | ASN.1 TIME где timespec может быть целым числом + [w | d | h | m | s] (например, +32w1d2h).
Обратите внимание, что при использовании относительного времени этот модуль НЕ идемпотентен. Это НЕ изменится, когда ignore_timestamps установлено в yes.
invalidity_date_critical
логическое значение
    Варианты:
  • нет ←
  • да
Является ли расширение даты недействительности критическим.
issuer
список / элементы=строка
Издатель сертификата.
Пример: DNS:ca.example.org
issuer_critical
логическое значение
    Варианты:
  • нет ←
  • да
Является ли расширение издателя сертификата критическим.
path
путь
Путь к сертификату в формате PEM.
Серийный номер и издатель будут извлечены из сертификата.
Взаимоисключающие с content и serial_number. Один из этих трёх параметров должен быть указан.
reason
строка
    Варианты:
  • неуказано
  • компрометация_ключа
  • компрометация_ca
  • изменение_аффилиации
  • заменён
  • прекращение_работы
  • задержание_сертификата
  • лишение_привилегий
  • компрометация_aa
  • удаление_из_crl
Значение расширения причины отозвания.
reason_critical
логическое значение
    Варианты:
  • нет ←
  • да
Является ли расширение причины отозвания критическим.
revocation_date
строка
Значение по умолчанию:
"+0s"
Точка во времени, когда сертификат был отозван.
Время может быть указано как относительное время, так и как абсолютная отметка времени.
Время всегда интерпретируется как UTC.
Допустимый формат: [+-]timespec | ASN.1 TIME где timespec может быть целым числом + [w | d | h | m | s] (например, +32w1d2h).
Обратите внимание, что при использовании относительного времени этот модуль НЕ идемпотентен, за исключением случаев, когда ignore_timestamps установлено в yes.
serial_number
целое число
Серийный номер сертификата.
Взаимоисключающие с path и content. Один из этих трёх параметров должен быть указан.
selevel
строка
Часть уровня SELinux контекста файла.
Это атрибут MLS/MCS, иногда известный как range.
Если установлено значение _default, будет использоваться часть политики level, если она доступна.
serole
строка
Часть роли контекста файла SELinux.
При установке в _default, будет использована часть политики role, если она доступна.
setype
строка
Часть типа контекста файла SELinux.
При установке в _default, будет использована часть политики type, если она доступна.
seuser
строка
Часть пользователя контекста файла SELinux.
По умолчанию используется политика system, если применимо.
При установке в _default, будет использована часть политики user, если она доступна.
state
строка
    Варианты:
  • absent
  • present ←
Указывает, должен ли файл CRL существовать, принимая меры, если состояние отличается от указанного.
unsafe_writes
логическое
добавлен в 2.2 ansible.builtin
    Варианты:
  • no ←
  • yes
Влияние на использование атомарной операции для предотвращения повреждения данных или несогласованного чтения из целевого файла.
По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Одним из примеров являются файлы, смонтированные в Docker, которые не могут обновляться атомарно изнутри контейнера и могут записываться только небезопасным способом.
Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов в случае неудачи атомарных операций (однако он не заставляет Ansible выполнять небезопасные записи).
ВАЖНО! Небезопасные записи подвержены проблемам гонок и могут привести к повреждению данных.

Примечания

Примечание

  • Все значения ASN.1 TIME должны быть указаны в формате YYYYMMDDHHMMSSZ.
  • Указанная дата должна быть UTC. Минуты и секунды обязательны.

Примеры

- name: Generate a CRL
  community.crypto.x509_crl:
    path: /etc/ssl/my-ca.crl
    privatekey_path: /etc/ssl/private/my-ca.pem
    issuer:
      CN: My CA
    last_update: "+0s"
    next_update: "+7d"
    revoked_certificates:
      - serial_number: 1234
        revocation_date: 20190331202428Z
        issuer:
          CN: My CA
      - serial_number: 2345
        revocation_date: 20191013152910Z
        reason: affiliation_changed
        invalidity_date: 20191001000000Z
      - path: /etc/ssl/crt/revoked-cert.pem
        revocation_date: 20191010010203Z

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

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

Ключ Возвращаемое значение Описание
backup_file
строка
изменён и если backup yes
Имя созданного файла резервной копии.

Пример:
/path/to/my-ca.crl.2019-03-09@11:22~
crl
строка
если state present и return_content yes
Содержимое CRL (текущего или сгенерированного).
Будет содержать сам CRL, если format pem, и Base64 CRL, если format der.

digest
строка
успех
Алгоритм подписи, используемый для подписи CRL.

Пример:
sha256WithRSAEncryption
filename
строка
изменён или успех
Путь к сгенерированному CRL

Пример:
/path/to/my-ca.crl
format
строка
успех
Формат CRL (в формате PEM (pem) или DER (der)).

Пример:
pem
issuer
словарь
успех
Эмитент CRL.
Обратите внимание, что для повторяющихся значений будет возвращено только последнее.

Пример:
{"organizationName": "Ansible", "commonName": "ca.example.com"}
issuer_ordered
список / элементы=список
успех
Эмитент CRL как упорядоченный список кортежей.

Пример:
[["organizationName", "Ansible"], ["commonName": "ca.example.com"]]
last_update
строка
успех
Момент времени, с которого CRL можно считать надёжным (ASN.1 TIME).

Пример:
20190413202428Z
next_update
строка
успех
Момент времени, с которого будет выпущен новый CRL, и клиент должен проверить его (ASN.1 TIME).

Пример:
20190413202428Z
privatekey
строка
изменён или успех
Путь к закрытому ключу CA

Пример:
/path/to/my-ca.pem
revoked_certificates
список / элементы=словарь
успех
Список сертификатов, которые должны быть отозваны.

invalidity_date
строка
успех
Момент времени, когда стало известно/подозревалось, что закрытый ключ был скомпрометирован или сертификат стал недействительным (ASN.1 TIME).

Пример:
20190413202428Z
invalidity_date_critical
логическое
успех
Является ли расширение даты недействительности критическим.

issuer
список / элементы=строка
успех
Эмитент сертификата.

Пример:
["DNS:ca.example.org"]
issuer_critical
логическое
успех
Является ли расширение эмитента сертификата критическим.

reason
строка
успех
Значение расширения причины отзыва.
Один из unspecified, key_compromise, ca_compromise, affiliation_changed, superseded, cessation_of_operation, certificate_hold, privilege_withdrawn, aa_compromise, и remove_from_crl.

Пример:
key_compromise
reason_critical
логическое
успех
Является ли расширение причины отзыва критическим.

revocation_date
строка
успех
Момент времени отзыва сертификата (ASN.1 TIME).

Пример:
20190413202428Z
serial_number
целое число
успех
Серийный номер сертификата.

Пример:
1234


Авторы

  • 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/x509_crl_module.html

Spec-Zone.ru

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