Spec-Zone.ru › Ansible 2.11

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

Примечание

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

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

Для использования в плейбуке укажите: 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
В формате PEM или DER должен быть файл CRL.
Если существующий файл 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
строка
    Варианты:
  • сгенерировать ←
  • обновить
Определяет, как обрабатывать записи существующих 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.
Если state равен present, необходимо указать либо privatekey_path, либо privatekey_content, но не оба.
privatekey_passphrase
строка
Пароль для privatekey_path.
Это необходимо, если закрытый ключ защищен паролем.
privatekey_path
путь
Путь к закрытому ключу CA, используемому при подписи CRL.
Если state равен present, необходимо указать либо privatekey_path, либо privatekey_content, но не оба.
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
    Варианты:
  • нет ←
  • да
Влияет на использование атомных операций для предотвращения повреждения данных или несогласованных чтений из целевого файла.
По умолчанию этот модуль использует атомные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Одним из примеров являются файлы, смонтированные в Docker, которые не могут обновляться атомарно изнутри контейнера и могут записываться только небезопасным способом.
Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомные операции терпят неудачу (однако он не заставляет Ansible выполнять небезопасные записи).
ВАЖНО! Небезопасные записи подвержены проблемам гонки и могут привести к повреждению данных.

Примечания

Примечание

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

Примеры

- 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/crypto/x509_crl_module.html

Spec-Zone.ru

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