Модуль community.crypto.openssl_privatekey — Генерация ключей OpenSSL
Примечание
Этот модуль входит в коллекцию community.crypto (версия 2.22.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.crypto. Для использования этого модуля необходимы дополнительные требования. Подробности см. в разделе Требования.
Чтобы использовать его в playbook, укажите: community.crypto.openssl_privatekey.
Обзор
- Ключи генерируются в формате PEM.
- Можно сгенерировать ключи RSA, DSA, ECC или EdDSA.
- Обратите внимание, что модуль перегенерирует закрытый ключ, если он не соответствует параметрам модуля. В частности, если вы укажете другой пароль (или не укажете его), измените размер ключа и т. д., закрытый ключ будет перегенерирован. Если вы опасаетесь, что это может перезаписать ваш закрытый ключ, рассмотрите использование опции
backup. - По умолчанию режим файла закрытого ключа будет
0600, еслиmodeне задан явно. - Этот модуль позволяет (пере)генерировать закрытые ключи OpenSSL.
Требования
Ниже перечислены требования, необходимые на хосте, который выполняет этот модуль.
- cryptography >= 1.2.3 (могут работать и более старые версии)
Параметры
Параметр | Комментарии |
|---|---|
attributes aliases: attr string | Атрибуты, которыми должен обладать результирующий объект файловой системы. Чтобы получить поддерживаемые флаги, посмотрите страницу руководства для chattr в целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и отображаемые lsattr. Оператор |
backup boolean | Создать резервную копию файла, включая временную метку, чтобы вы могли вернуть исходный закрытый ключ, если вы случайно перезаписали его новым. Варианты:
|
cipher string | Шифр для шифрования закрытого ключа. Это используется только тогда, когда предоставлен Должен быть По умолчанию: |
curve string | Обратите внимание, что не все кривые поддерживаются всеми версиями Для максимальной совместимости следует использовать Мы используем имена кривых, как определено в реестре IANA для TLS. Обратите внимание, что все кривые, кроме Варианты:
|
force boolean | Следует ли перегенерировать ключ, даже если он уже существует. Варианты:
|
format string добавлено в community.crypto 1.0.0 | Определяет формат, в котором записывается закрытый ключ. По умолчанию для всех ключей, которые его поддерживают, используется PKCS1 (традиционный формат OpenSSL). Обратите внимание, что не каждый ключ может быть экспортирован в любом формате. Значение Обратите внимание, что если формат существующего закрытого ключа не совпадает, ключ перегенерируется по умолчанию. Чтобы изменить это поведение, используйте параметр Варианты:
|
format_mismatch string добавлено в community.crypto 1.0.0 | Определяет поведение модуля, если формат закрытого ключа не соответствует ожидаемому формату, но все остальные параметры соответствуют. Если установлено значение Если установлено значение Поддерживается только серверной частью Варианты:
|
group string | Имя группы, которой должен принадлежать объект файловой системы, как это передается в chown. Если не указано, используется текущая группа текущего пользователя, если вы не являетесь root, в этом случае он может сохранить предыдущее владение. |
mode any | Разрешения, которыми должен обладать результирующий объект файловой системы. Для тех, кто привык к /usr/bin/chmod, помните, что режимы на самом деле являются восьмеричными числами. Вы должны предоставить Ansible достаточно информации, чтобы правильно их разобрать. Для согласованных результатов заключайте восьмеричные числа в кавычки (например, Предоставление Ansible числа без соблюдения одного из этих правил приведет к десятичному числу, которое даст неожиданные результаты. Начиная с Ansible 1.8, режим может быть указан как символьный режим (например, Если Если Указание |
owner string | Имя пользователя, которому должен принадлежать объект файловой системы, как это передается в chown. Если не указано, используется текущий пользователь, если вы не являетесь root, в этом случае он может сохранить предыдущее владение. Числовое имя пользователя будет считаться идентификатором пользователя, а не именем пользователя. Избегайте числовых имен пользователей, чтобы избежать путаницы. |
passphrase string | Пароль для закрытого ключа. |
path path / required | Имя файла, в который будет записан сгенерированный закрытый ключ TLS/SSL. Он будет иметь режим |
regenerate string added in community.crypto 1.0.0 | Позволяет настроить, в каких ситуациях модулю разрешено повторно генерировать закрытые ключи. Модуль всегда будет генерировать новый ключ, если целевой файл не существует. По умолчанию ключ будет перегенерирован, если он не соответствует параметрам модуля, за исключением случаев, когда ключ не может быть прочитан или парольная фраза не совпадает. Обратите внимание, что это изменилось для Ansible 2.10. Для Ansible 2.9 поведение было таким, как если бы был указан Если установлено значение Если установлено значение Если установлено значение Если установлено значение Если установлено значение Обратите внимание, что если Варианты:
|
return_content boolean added in community.crypto 1.0.0 | Если установлено значение Обратите внимание, что особенно если закрытый ключ не зашифрован, вы должны убедиться, что возвращаемое значение обрабатывается должным образом и случайно не записывается в журналы и т. д.! Используйте с осторожностью! Используйте параметр задачи Ansible Варианты:
|
select_crypto_backend string | Определяет, какой криптографический бэкэнд использовать. Выбор по умолчанию — Если установлено значение Варианты:
|
selevel string | Часть уровня контекста объекта файловой системы SELinux. Это атрибут MLS/MCS, иногда называемый Когда установлено значение |
serole string | Часть роли контекста объекта файловой системы SELinux. Когда установлено значение |
setype string | Часть типа контекста объекта файловой системы SELinux. Когда установлено значение |
seuser string | Часть пользователя контекста объекта файловой системы SELinux. По умолчанию используется политика Когда установлено значение |
size integer | Размер (в битах) ключа TLS/SSL для генерации. По умолчанию: |
state string | Должен ли существовать закрытый ключ или нет, предпринимаются действия, если состояние отличается от указанного. Варианты:
|
type string | Алгоритм, используемый для генерации закрытого ключа TLS/SSL. Обратите внимание, что Варианты:
|
unsafe_writes boolean | Влияет на то, когда использовать атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевого объекта файловой системы. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых объектов файловой системы, но иногда системы настроены или просто сломаны таким образом, что это предотвращает. Одним из примеров являются объекты файловой системы, смонтированные в docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным способом. Этот параметр позволяет Ansible вернуться к небезопасным методам обновления объектов файловой системы, когда атомарные операции завершаются ошибкой (однако это не заставляет Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены условиям гонки и могут привести к повреждению данных. Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в |
diff_mode | Поддержка: полная | В режиме diff вернёт подробности о том, что изменилось (или, возможно, что необходимо изменить в |
safe_file_operations | Поддержка: полная | Использует функции Ansible для строгих операций с файлами, чтобы обеспечить правильные разрешения и избежать повреждения данных. |
См. также
См. также
- community.crypto.openssl_privatekey_pipe
-
Генерировать ключи OpenSSL без доступа к диску.
- community.crypto.openssl_privatekey_info
-
Предоставление информации о ключах OpenSSL.
- community.crypto.x509_certificate
-
Генерирование и/или проверка сертификатов OpenSSL.
- community.crypto.x509_certificate_pipe
-
Генерирование и/или проверка сертификатов OpenSSL.
- community.crypto.openssl_csr
-
Генерировать запрос на подпись сертификата (CSR) OpenSSL.
- community.crypto.openssl_csr_pipe
-
Генерировать запрос на подпись сертификата (CSR) OpenSSL.
- community.crypto.openssl_dhparam
-
Генерировать параметры Diffie-Hellman OpenSSL.
- community.crypto.openssl_pkcs12
-
Генерировать архив OpenSSL PKCS#12.
- community.crypto.openssl_publickey
-
Генерировать открытый ключ OpenSSL из закрытого ключа.
Примеры
- name: Generate an OpenSSL private key with the default values (4096 bits, RSA)
community.crypto.openssl_privatekey:
path: /etc/ssl/private/ansible.com.pem
- name: Generate an OpenSSL private key with the default values (4096 bits, RSA) and a passphrase
community.crypto.openssl_privatekey:
path: /etc/ssl/private/ansible.com.pem
passphrase: ansible
cipher: auto
- name: Generate an OpenSSL private key with a different size (2048 bits)
community.crypto.openssl_privatekey:
path: /etc/ssl/private/ansible.com.pem
size: 2048
- name: Force regenerate an OpenSSL private key if it already exists
community.crypto.openssl_privatekey:
path: /etc/ssl/private/ansible.com.pem
force: true
- name: Generate an OpenSSL private key with a different algorithm (DSA)
community.crypto.openssl_privatekey:
path: /etc/ssl/private/ansible.com.pem
type: DSA
- name: Generate an OpenSSL private key with elliptic curve cryptography (ECC)
community.crypto.openssl_privatekey:
path: /etc/ssl/private/ansible.com.pem
type: ECC
curve: secp256r1
Возвращаемые значения
Общие значения возврата документированы здесь, следующие поля уникальны для данного модуля:
Ключ | Описание |
|---|---|
backup_file строка | Имя созданного файла резервной копии. Возвращается: changed и если Пример: |
curve строка | Эллиптическая кривая, используемая для генерации закрытого ключа TLS/SSL. Возвращается: changed или success, и Пример: |
filename строка | Путь к сгенерированному файлу закрытого ключа TLS/SSL. Возвращается: changed или success Пример: |
fingerprint словарь | Отпечаток открытого ключа. Отпечаток будет сгенерирован для каждого Возвращается: changed или success Пример: |
privatekey строка добавлен в community.crypto 1.0.0 | Содержимое (текущего или сгенерированного) закрытого ключа. Будет закодирован в Base64, если ключ находится в сыром формате. Возвращается: если |
size целое число | Размер (в битах) ключа TLS/SSL. Возвращается: changed или success Пример: |
type строка | Алгоритм, используемый для генерации закрытого ключа TLS/SSL. Возвращается: changed или success Пример: |
Ссылки на коллекции
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/crypto/openssl_privatekey_module.html