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`) | |
| force bool |
| Необходимо ли перегенерировать ключ, даже если он уже существует |
| group | Имя группы, которая должна владеть файлом/директорией, как если бы это было передано в chown. | |
| mode | Режим файла или директории. Для тех, кто знаком с /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо указать ведущую цифру 0, чтобы парсер YAML Ansible знал, что это восьмеричное число (например, 0644, или 01777), либо заключить его в кавычки (например, '644', или '0644'). 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 bool (добавлен в 2.2) |
| Обычно этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто сломаны таким образом, что это предотвращает. Одним из примеров являются файлы, смонтированные в Docker; их невозможно обновить атомарно, и это можно сделать только небезопасным способом. Эта логическая опция позволяет 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.algorithm. Для получения осмысленного вывода требуется 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. См. Техническое обслуживание и поддержка модулей для получения дополнительной информации.
Список других модулей, поддерживаемых сообществом Ansible, см. здесь.
Автор
- Янис Гюнане (@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_privatekey_module.html