community.crypto.openssl_privatekey_pipe модуль — Генерация ключей OpenSSL без доступа к диску
Примечание
Этот модуль является частью коллекции community.crypto (версия 2.22.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.crypto. Для использования этого модуля необходимы дополнительные требования. Подробности см. в разделе Требования.
Для использования в книге задач укажите: community.crypto.openssl_privatekey_pipe.
Добавлен в community.crypto 1.3.0
Обзор
- Ключи генерируются в формате PEM.
- Убедитесь, что результат работы этого модуля не записывается в журналы или на консоль, так как он содержит данные закрытого ключа! Используйте опцию задачи
no_log, чтобы быть уверенным. - Обратите внимание, что этот модуль реализован как плагин действия плагин действия и всегда будет выполняться на контроллере.
- Можно сгенерировать закрытые ключи RSA, DSA, ECC или EdDSA.
- Это позволяет читать и записывать ключи в хранилища без необходимости записи промежуточных версий на диск.
- Этот модуль позволяет (пере)генерировать закрытые ключи OpenSSL без доступа к диску.
Примечание
Этот модуль имеет соответствующий плагин действия.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- cryptography >= 1.2.3 (могут работать и более старые версии)
Параметры
Параметр | Комментарии |
|---|---|
cipher string | Шифр для шифрования закрытого ключа. Используется только при предоставлении Должен быть По умолчанию: |
content string | Текущие данные закрытого ключа. Необходимо для идемпотентности. Если не указано, модуль всегда будет возвращать изменение, и все параметры, связанные с идемпотентностью, игнорируются. |
content_base64 boolean | Установите в Варианты:
|
curve string | Обратите внимание, что не все кривые поддерживаются всеми версиями Для максимальной совместимости следует использовать Мы используем имена кривых, определенные в реестре IANA для TLS. Обратите внимание, что все кривые, кроме Варианты:
|
format string | Определяет формат, в котором будет записан закрытый ключ. По умолчанию для всех ключей, которые его поддерживают, используется PKCS1 (традиционный формат OpenSSL). Обратите внимание, что не каждый ключ может быть экспортирован в любом формате. Значение Обратите внимание, что если формат существующего закрытого ключа не соответствует, ключ по умолчанию пересоздается. Чтобы изменить это поведение, используйте параметр Варианты:
|
format_mismatch string | Определяет поведение модуля, если формат закрытого ключа не соответствует ожидаемому формату, но все остальные параметры соответствуют. Если установлено в Если установлено в Поддерживается только бекендом Варианты:
|
passphrase string | Пароль для закрытого ключа. |
regenerate string | Позволяет настроить, в каких ситуациях модулю разрешено пересоздавать закрытые ключи. Модуль всегда будет генерировать новый ключ, если целевой файл не существует. По умолчанию ключ будет пересоздан, если он не соответствует параметрам модуля, за исключением случаев, когда ключ не может быть прочитан или пароль не совпадает. Обратите внимание, что это изменилось для Ansible 2.10. Для Ansible 2.9 поведение было таким, как если бы был указан Если установлено в Если установлено в Если установлено в Если установлено в Если установлено в Обратите внимание, что если Варианты:
|
return_current_key boolean | Установите в Обратите внимание, что в режиме проверки, когда этот параметр не установлен в Варианты:
|
select_crypto_backend string | Определяет, какой криптографический бэкэнд использовать. Выбор по умолчанию — Если установлено в Варианты:
|
size integer | Размер (в битах) ключа TLS/SSL для генерации. По умолчанию: |
type string | Алгоритм, используемый для генерации закрытого ключа TLS/SSL. Обратите внимание, что Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
action | Поддержка: полная | Указывает, что у него есть соответствующий плагин действия, поэтому некоторые части опций могут быть выполнены на контроллере. |
async | Поддержка: нет Это действие полностью выполняется на контроллере. | Поддерживает использование ключевого слова |
check_mode | Поддержка: полная В режиме проверки закрытые ключи не будут (пере)генерированы, будет установлено только измененное состояние. Это изменится в community.crypto 3.0.0. Начиная с community.crypto 3.0.0, модуль будет игнорировать режим проверки и всегда вести себя так, как будто режим проверки не активен. Если вы считаете, что это нарушает ваш случай использования этого модуля, пожалуйста, создайте вопрос в репозитории community.crypto. | Может работать в режиме |
diff_mode | Поддержка: полная | В режиме сравнения вернет детали того, что изменилось (или, возможно, должно измениться в |
См. также
См. также
- community.crypto.openssl_privatekey
-
Генерация закрытых ключей 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
-
Генерация архива PKCS#12 OpenSSL.
- community.crypto.openssl_publickey
-
Генерация открытого ключа OpenSSL из его закрытого ключа.
Примеры
- name: Generate an OpenSSL private key with the default values (4096 bits, RSA)
community.crypto.openssl_privatekey_pipe:
register: output
no_log: true # make sure that private key data is not accidentally revealed in logs!
- name: Show generated key
ansible.builtin.debug:
msg: "{{ output.privatekey }}"
# DO NOT OUTPUT KEY MATERIAL TO CONSOLE OR LOGS IN PRODUCTION!
- name: Generate or update a Mozilla sops encrypted key
block:
- name: Update sops-encrypted key with the community.sops collection
community.crypto.openssl_privatekey_pipe:
content: "{{ lookup('community.sops.sops', 'private_key.pem.sops') }}"
size: 2048
register: output
no_log: true # make sure that private key data is not accidentally revealed in logs!
- name: Update encrypted key when openssl_privatekey_pipe reported a change
community.sops.sops_encrypt:
path: private_key.pem.sops
content_text: "{{ output.privatekey }}"
when: output is changed
always:
- name: Make sure that output (which contains the private key) is overwritten
ansible.builtin.set_fact:
output: ''
Значения возврата
Общие значения возврата документированы здесь, следующие — поля, уникальные для данного модуля:
Ключ | Описание |
|---|---|
кривая строка | Эллиптическая кривая, используемая для генерации приватного ключа TLS/SSL. Возвращается: изменён или успех, и Пример: |
отпечаток словарь | Отпечаток открытого ключа. Отпечаток будет сгенерирован для каждого Возвращается: изменён или успех Пример: |
приватный ключ строка | Содержимое сгенерированного приватного ключа. Обратите внимание, что если результат не изменён, текущий приватный ключ будет возвращён только в случае, если опция Будет закодирован в Base64, если ключ в сыром формате. Возвращается: изменён или |
размер целое число | Размер (в битах) приватного ключа TLS/SSL. Возвращается: изменён или успех Пример: |
тип строка | Алгоритм, используемый для генерации приватного ключа TLS/SSL. Возвращается: изменён или успех Пример: |
Ссылки на сборку
© 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_pipe_module.html