openssl_privatekey – Генерация закрытых ключей OpenSSL.
Новое в версии 2.3.
Описание
- Этот модуль позволяет (пере)генерировать закрытые ключи OpenSSL. Он использует библиотеку pyOpenSSL для взаимодействия с openssl. Можно генерировать закрытые ключи RSA или DSA. Ключи генерируются в формате PEM.
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- python-pyOpenSSL
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| attributes - добавлен в 2.3 | Атрибуты файла или каталога. Для получения поддерживаемых флагов обратитесь к справочной странице для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и отображается lsattr. = оператор принимается по умолчанию, в противном случае + или - операторы должны быть включены в строку.псевдонимы: attr | |
| cipher - добавлен в 2.4 | Шифр для шифрования закрытого ключа. (Действительные значения можно найти, выполнив `openssl list -cipher-algorithms` или `openssl list-cipher-algorithms`, в зависимости от вашей версии OpenSSL.) | |
| force boolean |
| Необходимо ли перегенерировать ключ, даже если он уже существует |
| group - | Имя группы, которой должен принадлежать файл/каталог, как это было бы передано в chown. | |
| mode - | Режим файла или каталога. Для тех, кто знаком с /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущую нуль, чтобы интерпретатор YAML Ansible знал, что это восьмеричное число (как 0644 или 01777) или заключить его в кавычки (как '644' или '1777') для того, чтобы Ansible получил строку и смог выполнить собственное преобразование из строки в число. Если вы передадите Ansible число без соблюдения одного из этих правил, получится десятичное число, что приведет к неожиданным результатам. Начиная с версии 1.8, режим может быть указан как символический режим (например, u+rwx или u=rw,g=r,o=r). | |
| owner - | Имя пользователя, которому должен принадлежать файл/каталог, как это было бы передано в chown. | |
| passphrase - добавлен в 2.4 | Пароль для закрытого ключа. | |
| path - / обязательно | Имя файла, в котором будет записан сгенерированный закрытый ключ TLS/SSL. Он будет иметь режим 0600. | |
| selevel - | По умолчанию: "s0" | Уровень SELinux файла контекста. Это атрибут MLS/MCS, иногда известный как range. _default функция работает так же, как и для seuser. |
| serole - | Роль в контексте файла SELinux, _default функция работает так же, как и для seuser. | |
| setype - | Тип в контексте файла SELinux, _default функция работает так же, как и для seuser. | |
| seuser - | Пользователь в контексте файла SELinux. По умолчанию будет использоваться системная политика, если применимо. Если установлено на _default, будет использоваться user часть политики, если она доступна. | |
| size - | По умолчанию: 4096 | Размер (в битах) ключа TLS/SSL, который нужно сгенерировать |
| state - |
| Должен ли существовать закрытый ключ или нет, выполняя действия, если состояние отличается от заявленного. |
| type - |
| Алгоритм, используемый для генерации закрытого ключа TLS/SSL |
| unsafe_writes boolean добавлен в 2.2 |
| По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто неисправны таким образом, что это предотвращает. Один пример — файлы, смонтированные в docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным способом. Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомарные операции завершаются неудачей (однако, это не заставляет Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены проблемам гонок и могут привести к повреждению данных. |
Примеры
# Generate an OpenSSL private key with the default values (4096 bits, RSA)
- openssl_privatekey:
path: /etc/ssl/private/ansible.com.pem
# Generate an OpenSSL private key with the default values (4096 bits, RSA)
# and a passphrase
- openssl_privatekey:
path: /etc/ssl/private/ansible.com.pem
passphrase: ansible
cipher: aes256
# Generate an OpenSSL private key with a different size (2048 bits)
- openssl_privatekey:
path: /etc/ssl/private/ansible.com.pem
size: 2048
# Force regenerate an OpenSSL private key if it already exists
- openssl_privatekey:
path: /etc/ssl/private/ansible.com.pem
force: True
# Generate an OpenSSL private key with a different algorithm (DSA)
- openssl_privatekey:
path: /etc/ssl/private/ansible.com.pem
type: DSA
Значения возврата
Общие значения возврата документированы здесь, следующие — поля, уникальные для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| filename строка | изменено или успех | Путь к сгенерированному файлу закрытого ключа TLS/SSL Пример: /etc/ssl/private/ansible.com.pem |
| fingerprint словарь | изменено или успех | Отпечаток отпечатка открытого ключа. Отпечаток будет сгенерирован для каждого hashlib.algorithms доступны. Требуется PyOpenSSL >= 16.0 для осмысленного вывода. Пример: {'md5': '84:75:71:72:8d:04:b5:6c:4d:37:6d:66:83:f5:4c:29', 'sha1': '51:cc:7c:68:5d:eb:41:43:88:7e:1a:ae:c7:f8:24:72:ee:71:f6:10', 'sha224': 'b1:19:a6:6c:14:ac:33:1d:ed:18:50:d3:06:5c:b2:32:91:f1:f1:52:8c:cb:d5:75:e9:f5:9b:46', 'sha256': '41:ab:c7:cb:d5:5f:30:60:46:99:ac:d4:00:70:cf:a1:76:4f:24:5d:10:24:57:5d:51:6e:09:97:df:2f:de:c7', 'sha384': '85:39:50:4e:de:d9:19:33:40:70:ae:10:ab:59:24:19:51:c3:a2:e4:0b:1c:b1:6e:dd:b3:0c:d9:9e:6a:46:af:da:18:f8:ef:ae:2e:c0:9a:75:2c:9b:b3:0f:3a:5f:3d', 'sha512': 'fd:ed:5e:39:48:5f:9f:fe:7f:25:06:3f:79:08:cd:ee:a5:e7:b3:3d:13:82:87:1f:84:e1:f5:c7:28:77:53:94:86:56:38:69:f0:d9:35:22:01:1e:a6:60:...:0f:9b'} |
| size целое число | изменено или успех | Размер (в битах) закрытого ключа TLS/SSL Пример: 4096 |
| type строка | изменено или успех | Алгоритм, используемый для генерации закрытого ключа TLS/SSL Пример: RSA |
Статус
- Гарантируется, что у этого модуля не будет обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом 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_privatekey_module.html