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 строка |
| Формат файла 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 строка |
| Определяет, как обрабатывать записи существующих 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 строка |
| Значение расширения причины отозвания. | |
| 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 строка |
| Указывает, должен ли файл CRL существовать, принимая меры, если состояние отличается от указанного. | |
| unsafe_writes логическое добавлен в 2.2 ansible.builtin |
| Влияние на использование атомарной операции для предотвращения повреждения данных или несогласованного чтения из целевого файла. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Одним из примеров являются файлы, смонтированные в 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