Модуль community.crypto.openssl_privatekey – создание закрытых ключей OpenSSL
Примечание
Этот модуль входит в коллекцию community.crypto (версия 3.2.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.crypto. Для использования этого модуля необходимы дополнительные требования; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.crypto.openssl_privatekey.
Краткое описание
- Ключи создаются в формате PEM.
- Можно создавать закрытые ключи RSA, DSA, ECC или EdDSA.
- Обратите внимание, что модуль повторно создаёт закрытые ключи, если они не соответствуют параметрам модуля. В частности, если указать другую парольную фразу (или не указывать её), изменить размер ключа и т. д., закрытый ключ будет создан заново. Если вы опасаетесь, что это может перезаписать закрытый ключ, рассмотрите возможность использования параметра
backup. - Для файла закрытого ключа по умолчанию устанавливается режим
0600, если параметрmodeне задан явно. - Этот модуль позволяет создавать и повторно создавать закрытые ключи OpenSSL.
Требования
На узле, на котором выполняется этот модуль, необходимы следующие компоненты.
- cryptography >= 3.3
Параметры
Параметр | Комментарии |
|---|---|
attributes псевдонимы: attr string | Атрибуты, которые должен иметь результирующий объект файловой системы. Список поддерживаемых флагов см. на странице руководства для Эта строка должна содержать атрибуты в том же порядке, в котором они отображаются командой По умолчанию предполагается оператор |
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 | Имя группы, которой должен принадлежать объект файловой системы; это значение передавалось бы команде Если значение не указано, используется текущая группа текущего пользователя, за исключением случая, когда пользователь — root: тогда можно сохранить прежнего владельца. |
mode any | Разрешения, которые должен иметь результирующий объект файловой системы. Если вы привыкли к Если передать Ansible число, не соблюдая ни одно из этих правил, оно будет интерпретировано как десятичное, что приведёт к неожиданным результатам. Начиная с Ansible 1.8 режим можно задавать в символьном формате (например, Если параметр Если параметр Указание |
owner string | Имя пользователя, которому должен принадлежать объект файловой системы; это значение передавалось бы команде Если значение не указано, используется текущий пользователь, за исключением случая, когда пользователь — root: тогда можно сохранить прежнего владельца. Числовое имя пользователя будет считаться идентификатором пользователя, а не именем. Во избежание путаницы не используйте числовые имена пользователей. |
passphrase string | Парольная фраза для закрытого ключа. |
path path / обязательный | Имя файла, в который будет записан созданный закрытый ключ TLS/SSL. Если параметр |
regenerate string добавлен в community.crypto 1.0.0 | Позволяет настроить условия, при которых модулю разрешено повторно создавать закрытые ключи. Если целевой файл не существует, модуль всегда создаёт новый ключ. По умолчанию ключ создаётся заново, если он не соответствует параметрам модуля, за исключением случаев, когда ключ невозможно прочитать или парольная фраза не подходит. Обратите внимание, что в Ansible 2.10 это поведение изменилось. В Ansible 2.9 поведение соответствовало указанному значению Если задано значение Если задано значение Если задано значение Если задано значение Если задано значение Обратите внимание: если для Варианты:
|
return_content boolean добавлен в community.crypto 1.0.0 | Если задано значение Обратите внимание: особенно если закрытый ключ не зашифрован, необходимо обеспечить надлежащую обработку возвращаемого значения и не допустить его случайной записи в журналы и т. д.! Используйте с осторожностью! Используйте параметр задачи Ansible Варианты:
|
select_crypto_backend string | Определяет, какую криптографическую подсистему использовать. По умолчанию выбирается Если задано значение Обратите внимание, что в community.crypto 3.0.0 все значения ведут себя одинаково. В будущей версии этот параметр будет объявлен устаревшим. Рекомендуется не задавать его явно. Варианты:
|
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 | Поддержка: полная | В режиме сравнения возвращает сведения о том, что изменилось (или что, возможно, необходимо изменить в |
idempotent | Поддержка: частичная Параметр | При повторном запуске с теми же аргументами вне режима проверки второй вызов сообщает об отсутствии изменений. Предполагается, что система, которой управляет модуль или состояние которой он проверяет, не изменилась существенным образом. |
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
-
Создание параметров Диффи — Хеллмана 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:
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 string | Имя созданной резервной копии. Возвращается: при изменении и если Пример: |
curve string | Эллиптическая кривая, используемая для создания закрытого ключа TLS/SSL. Возвращается: при изменении или успешном выполнении, если Пример: |
filename string | Путь к файлу созданного закрытого ключа TLS/SSL. Возвращается: при изменении или успешном выполнении Пример: |
fingerprint dictionary | Отпечаток открытого ключа. Отпечаток создается для каждого доступного Возвращается: при изменении или успешном выполнении Пример: |
privatekey string добавлено в community.crypto 1.0.0 | Содержимое (текущего или созданного) закрытого ключа. Будет закодировано в Base64, если ключ имеет необработанный формат. Возвращается: если |
size integer | Размер закрытого ключа TLS/SSL (в битах). Возвращается: при изменении или успешном выполнении Пример: |
type string | Алгоритм, используемый для создания закрытого ключа TLS/SSL. Возвращается: при изменении или успешном выполнении Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/crypto/openssl_privatekey_module.html