Spec-Zone.ru › Ansible 2.7

openssl_csr – Генерация запроса на подписание сертификата OpenSSL (CSR)

Новое в версии 2.4.

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

Описание

  • Этот модуль позволяет (пере)генерировать запросы на подписание сертификатов OpenSSL. Он использует библиотеку pyOpenSSL для взаимодействия с openssl. Модуль поддерживает расширения subjectAltName, keyUsage, extendedKeyUsage, basicConstraints и OCSP Must Staple.

Требования

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

  • python-pyOpenSSL >= 0.15

Параметры

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

псевдонимы: attr
basic_constraints
-
добавлен в 2.5
Указывает базовые ограничения, такие как, является ли сертификат CA.

псевдонимы: basicConstraints
basic_constraints_critical
-
добавлен в 2.5
Должен ли расширенный атрибут basicConstraints считаться критическим

псевдонимы: basicConstraints_critical
common_name
-
Поле commonName в запросе на подписание сертификата субъекта

псевдонимы: CN, commonName
country_name
-
Поле countryName в запросе на подписание сертификата субъекта

псевдонимы: C, countryName
digest
-
Значение по умолчанию:
"sha256"
Хеш-функция, используемая при подписании запроса на подписание сертификата с помощью закрытого ключа
email_address
-
Поле emailAddress в запросе на подписание сертификата субъекта

псевдонимы: E, emailAddress
extended_key_usage
-
Дополнительные ограничения (например, аутентификация клиента, аутентификация сервера) на разрешенные цели использования открытого ключа.
Это может быть строка, разделенная запятыми, или список YAML.

псевдонимы: extKeyUsage, extendedKeyUsage
extended_key_usage_critical
-
Должен ли расширенный атрибут extkeyUsage считаться критическим

псевдонимы: extKeyUsage_critical, extendedKeyUsage_critical
force
boolean
    Варианты:
  • нет ←
  • да
Должен ли запрос на подписание сертификата быть принудительно перегенерирован этим модулем Ansible
group
-
Имя группы, которая должна владеть файлом/директорией, как это передается в chown.
key_usage
-
Это определяет назначение (например, шифрование, подпись, подписание сертификата) ключа, содержащегося в сертификате.
Это может быть строка, разделенная запятыми, или список YAML.

псевдонимы: keyUsage
key_usage_critical
-
Должен ли расширенный атрибут keyUsage считаться критическим

псевдонимы: keyUsage_critical
locality_name
-
Поле localityName в запросе на подписание сертификата субъекта

псевдонимы: L, localityName
mode
-
Режим файла или директории. Для тех, кто знаком с /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущую ноль, чтобы парсер YAML Ansible понял, что это восьмеричное число (например, 0644 или 01777) , либо заключить его в кавычки (например, '644' или '1777') , чтобы Ansible получил строку и выполнил собственное преобразование из строки в число. Предоставление Ansible числа без соблюдения одного из этих правил приведет к десятичному числу, что повлечет непредсказуемые результаты. Начиная с версии 1.8, режим может быть задан в виде символьного режима (например, u+rwx или u=rw,g=r,o=r).
ocsp_must_staple
-
добавлен в 2.5
Указывает, что сертификат должен содержать расширение OCSP Must Staple (https://tools.ietf.org/html/rfc7633).

псевдонимы: ocspMustStaple
ocsp_must_staple_critical
-
добавлен в 2.5
Должен ли расширенный атрибут OCSP Must Staple считаться критическим
Предупреждение: согласно RFC, это расширение не должно помечаться как критическое, так как старые клиенты, не знающие об OCSP Must Staple, обязаны отклонять такие сертификаты (см. https://tools.ietf.org/html/rfc7633#section-4).

псевдонимы: ocspMustStaple_critical
organization_name
-
Поле organizationName в запросе на подписание сертификата субъекта

псевдонимы: O, organizationName
organizational_unit_name
-
Поле organizationalUnitName в запросе на подписание сертификата субъекта

псевдонимы: OU, organizationalUnitName
owner
-
Имя пользователя, который должен владеть файлом/директорией, как это передается в chown.
path
- / обязательно
Имя файла, в который будет записан сгенерированный запрос на подписание сертификата OpenSSL
privatekey_passphrase
-
Пароль для закрытого ключа.
Требуется, если закрытый ключ защищен паролем.
privatekey_path
- / обязательно
Путь к закрытому ключу, используемому для подписи запроса на подписание сертификата.
selevel
-
Значение по умолчанию:
"s0"
Часть контекста SELinux файла. Это атрибут MLS/MCS, иногда называемый range. Функция _default работает так же, как для seuser.
serole
-
Часть роли контекста SELinux файла, _default функция работает аналогично seuser.
setype
-
Часть типа контекста SELinux файла, _default функция работает аналогично seuser.
seuser
-
Часть пользователя контекста SELinux файла. По умолчанию использует политику системы, если применимо. Если установлено значение _default, будет использоваться часть политики user, если она доступна.
state
-
    Варианты:
  • существующий ←
  • отсутствующий
Указывает, должен ли запрос на подписание сертификата существовать или нет, выполняя действия, если состояние отличается от указанного.
state_or_province_name
-
Поле stateOrProvinceName в запросе на подписание сертификата субъекта

псевдонимы: ST, stateOrProvinceName
subject
-
добавлен в 2.5
Ключ-значение, которые будут присутствовать в поле имени субъекта запроса на подписание сертификата.
Если нужно указать более одного значения с тем же ключом, используйте список в качестве значения.
subject_alt_name
-
Расширение SAN для добавления к запросу на подписание сертификата
Может быть строкой, разделённой запятыми, или списком YAML.
Значения должны быть префиксом их опций. (например, email, URI, DNS, RID, IP, dirName, otherName и те, которые специфичны для вашего CA)
Подробнее на https://tools.ietf.org/html/rfc5280#section-4.2.1.6

псевдонимы: subjectAltName
subject_alt_name_critical
-
Должно ли расширение subjectAltName рассматриваться как критическое

псевдонимы: subjectAltName_critical
unsafe_writes
boolean
добавлен в 2.2
    Варианты:
  • нет ←
  • да
По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, но иногда системы настроены или просто сломаны таким образом, что это невозможно. Один пример — файлы, смонтированные с помощью docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным способом.
Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомарные операции завершаются неудачно (однако он не заставляет Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены проблемам гонки и могут привести к повреждению данных.
version
-
По умолчанию:
1
Версия запроса на подписание сертификата

Примечания

Примечание

  • Если запрос на подписание сертификата уже существует, будет проверено, содержат ли subjectAltName, keyUsage, extendedKeyUsage и basicConstraints только запрошенные значения, является ли OCSP Must Staple запрошенным, и был ли запрос подписан заданным закрытым ключом.

Примеры

# Generate an OpenSSL Certificate Signing Request
- openssl_csr:
    path: /etc/ssl/csr/www.ansible.com.csr
    privatekey_path: /etc/ssl/private/ansible.com.pem
    common_name: www.ansible.com

# Generate an OpenSSL Certificate Signing Request with a
# passphrase protected private key
- openssl_csr:
    path: /etc/ssl/csr/www.ansible.com.csr
    privatekey_path: /etc/ssl/private/ansible.com.pem
    privatekey_passphrase: ansible
    common_name: www.ansible.com

# Generate an OpenSSL Certificate Signing Request with Subject information
- openssl_csr:
    path: /etc/ssl/csr/www.ansible.com.csr
    privatekey_path: /etc/ssl/private/ansible.com.pem
    country_name: FR
    organization_name: Ansible
    email_address: jdoe@ansible.com
    common_name: www.ansible.com

# Generate an OpenSSL Certificate Signing Request with subjectAltName extension
- openssl_csr:
    path: /etc/ssl/csr/www.ansible.com.csr
    privatekey_path: /etc/ssl/private/ansible.com.pem
    subject_alt_name: 'DNS:www.ansible.com,DNS:m.ansible.com'

# Generate an OpenSSL CSR with subjectAltName extension with dynamic list
- openssl_csr:
    path: /etc/ssl/csr/www.ansible.com.csr
    privatekey_path: /etc/ssl/private/ansible.com.pem
    subject_alt_name: "{{ item.value | map('regex_replace', '^', 'DNS:') | list }}"
  with_dict:
    dns_server:
    - www.ansible.com
    - m.ansible.com

# Force re-generate an OpenSSL Certificate Signing Request
- openssl_csr:
    path: /etc/ssl/csr/www.ansible.com.csr
    privatekey_path: /etc/ssl/private/ansible.com.pem
    force: True
    common_name: www.ansible.com

# Generate an OpenSSL Certificate Signing Request with special key usages
- openssl_csr:
    path: /etc/ssl/csr/www.ansible.com.csr
    privatekey_path: /etc/ssl/private/ansible.com.pem
    common_name: www.ansible.com
    key_usage:
      - digitalSignature
      - keyAgreement
    extended_key_usage:
      - clientAuth

# Generate an OpenSSL Certificate Signing Request with OCSP Must Staple
- openssl_csr:
    path: /etc/ssl/csr/www.ansible.com.csr
    privatekey_path: /etc/ssl/private/ansible.com.pem
    common_name: www.ansible.com
    ocsp_must_staple: true

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

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

Ключ Возвращаемое Описание
basicConstraints
список
изменилось или успех
Указывает, принадлежит ли сертификат CA

Пример:
['CA:TRUE', 'pathLenConstraint:0']
extendedKeyUsage
список
изменилось или успех
Дополнительные ограничения на цели открытого ключа

Пример:
['clientAuth']
filename
строка
изменилось или успех
Путь к сгенерированному запросу на подписание сертификата

Пример:
/etc/ssl/csr/www.ansible.com.csr
keyUsage
список
изменилось или успех
Цель, для которой может использоваться открытый ключ

Пример:
['digitalSignature', 'keyAgreement']
ocsp_must_staple
boolean
изменилось или успех
Указывает, включена ли функция OCSP Must Staple для сертификата

privatekey
строка
изменилось или успех
Путь к закрытому ключу TLS/SSL, для которого был сгенерирован CSR

Пример:
/etc/ssl/private/ansible.com.pem
subject
список
изменилось или успех
Список кортежей подлежащего, прикрепленных к CSR

Пример:
[('CN', 'www.ansible.com'), ('O', 'Ansible')]
subjectAltName
список
изменилось или успех
Альтернативные имена, для которых действителен этот CSR

Пример:
['DNS:www.ansible.com', 'DNS:m.ansible.com']


Статус

  • Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
  • Этот модуль поддерживается сообществом Ansible. [сообщество]

Авторы

  • Yanis Guenane (@Spredzy)

Подсказка

Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ для улучшения.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/openssl_csr_module.html

Spec-Zone.ru

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