Spec-Zone.ru › Ansible 2.6

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

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

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

Описание

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

Требования

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

  • python-pyOpenSSL >= 0.15

Параметры

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

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

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

псевдонимы: basicConstraints_critical
common_name
Поле commonName в запросе на подпись сертификата (CSR).

псевдонимы: CN, commonName
country_name
Поле countryName в запросе на подпись сертификата (CSR).

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

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

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

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

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

псевдонимы: keyUsage_critical
locality_name
Поле localityName в запросе на подпись сертификата (CSR).

псевдонимы: L, localityName
mode
Режим файла или каталога. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо указать ведущий ноль, чтобы парсер YAML Ansible понял, что это восьмеричное число (например, 0644 или 01777) или заключить его в кавычки (например, '644' или '0644'), чтобы 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 в запросе на подпись сертификата (CSR).

псевдонимы: O, organizationName
organizational_unit_name
Поле organizationalUnitName в запросе на подпись сертификата (CSR).

псевдонимы: 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
    Варианты:
  • наличие ←
  • отсутствие
Указывает, должен ли запрос на подпись сертификата (CSR) существовать, выполняя действия, если состояние отличается от указанного.
state_or_province_name
Поле stateOrProvinceName в запросе на подпись сертификата (CSR).

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

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

псевдонимы: subjectAltName_critical
unsafe_writes
bool

(добавлен в 2.2)
    Варианты:
  • нет ←
  • да
Обычно этот модуль использует атомарные операции, чтобы предотвратить повреждение данных или несогласованные чтения из целевых файлов. Иногда системы настроены или просто неисправны таким образом, что это предотвращается. Одним из примеров являются файлы, смонтированные с помощью docker; они не могут быть обновлены атомарно и могут быть обновлены только небезопасным способом.
Этот параметр bool позволяет Ansible перейти к небезопасным методам обновления файлов в тех случаях, когда нет другого выбора. Имейте в виду, что это подвержено гонкам и может привести к повреждению данных.
version Значение по умолчанию:
1
Версия запроса на подпись сертификата.

Примечания

Примечание

  • Если запрос на подпись сертификата (CSR) уже существует, будет проверено, содержат ли 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'

# 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:TRUE', 'pathLenConstraint:0']
extendedKeyUsage
список
изменённое или успешно
Дополнительное ограничение на назначение открытого ключа

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

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

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

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

Пример:
/etc/ssl/private/ansible.com.pem
subject
список
изменённое или успешно
Список кортежей субъекта, прикреплённых к запросу

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

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


Статус

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

Техническое обслуживание

Этот модуль помечен как сообщество, что означает, что он поддерживается сообществом Ansible. См. Техническое обслуживание и поддержка модулей для получения дополнительной информации.

Список других модулей, также поддерживаемых сообществом 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.6/modules/openssl_csr_module.html

Spec-Zone.ru

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