Spec-Zone.ru › Ansible 2.8

openssl_privatekey – Генерация закрытых ключей OpenSSL

Новая в версии 2.3.

  • Синопсис
  • Требования
  • Параметры
  • См. также
  • Примеры
  • Возвращаемые значения
  • Статус

Синопсис

  • Этот модуль позволяет (снова) генерировать закрытые ключи OpenSSL.
  • Можно генерировать закрытые ключи RSA), DSA, ECC или EdDSA.
  • Ключи генерируются в формате PEM.
  • Обратите внимание, что модуль перегенерирует закрытые ключи, если они не соответствуют параметрам модуля. В частности, если вы укажете другой пароль (или не укажете его), измените размер ключа и т. д., закрытый ключ будет перегенерирован. Если вы беспокоитесь о том, что это может перезаписать ваш закрытый ключ, воспользуйтесь параметром backup.
  • Модуль может использовать библиотеку cryptography Python или pyOpenSSL Python. По умолчанию он пытается определить, какая из них доступна. Это можно переопределить с помощью параметра select_crypto_backend.

Требования

Ниже приведены требования к хосту, на котором выполняется этот модуль.

  • Либо cryptography >= 1.2.3 (более старые версии могут также работать)
  • Либо pyOpenSSL

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
attributes
строка
добавлено в 2.3
Атрибуты, которые должны быть у результирующего файла или каталога.
Для получения поддерживаемых флагов обратитесь к странице руководства для chattr на целевой системе.
Эта строка должна содержать атрибуты в том же порядке, что и при отображении командой lsattr.
Оператор = предполагается по умолчанию, в противном случае необходимо включить операторы + или - в строку.

псевдонимы: attr
backup
логическое
добавлено в 2.8
    Варианты:
  • нет ←
  • да
Создать резервную копию файла, включая отметку времени, чтобы вы могли восстановить исходный закрытый ключ, если случайно перезаписали его новым.
cipher
строка
добавлено в 2.4
Шифр для шифрования закрытого ключа. (Действительные значения можно найти, выполнив `openssl list -cipher-algorithms` или `openssl list-cipher-algorithms`, в зависимости от вашей версии OpenSSL.)
При использовании бэкенда cryptography, используйте auto.
curve
строка
добавлено в 2.8
    Варианты:
  • secp384r1
  • secp521r1
  • secp224r1
  • secp192r1
  • secp256r1
  • secp256k1
  • brainpoolP256r1
  • brainpoolP384r1
  • brainpoolP512r1
  • sect571k1
  • sect409k1
  • sect283k1
  • sect233k1
  • sect163k1
  • sect571r1
  • sect409r1
  • sect283r1
  • sect233r1
  • sect163r2
Обратите внимание, что не все кривые поддерживаются всеми версиями cryptography.
Для максимальной совместимости следует использовать secp384r1 или secp256r1.
Мы используем имена кривых, определенные в реестре IANA для TLS.
force
логическое
    Варианты:
  • нет ←
  • да
Следует ли перегенерировать ключ, даже если он уже существует.
group
строка
Имя группы, которая должна владеть файлом/каталогом, как если бы оно передавалось в chown.
mode
строка
Разрешения, которые должен иметь результирующий файл или каталог.
Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущую цифру 0, чтобы парсер YAML Ansible понял, что это восьмеричное число (например, 0644 или 01777), либо заключить его в кавычки (например, '644' или '1777'), чтобы Ansible получил строку и мог выполнить собственное преобразование из строки в число.
Передача Ansible числа без соблюдения одного из этих правил приведет к десятичному числу, что приведет к непредвиденным результатам.
Начиная с Ansible 1.8, режим можно указать как символический режим (например, u+rwx или u=rw,g=r,o=r).
owner
строка
Имя пользователя, который должен владеть файлом/каталогом, как если бы оно передавалось в chown.
passphrase
строка
добавлено в 2.4
Пароль к закрытому ключу.
path
путь / обязательно
Имя файла, в который будет записан сгенерированный закрытый ключ TLS/SSL. Он будет иметь режим 0600.
select_crypto_backend
строка
добавлено в 2.8
    Варианты:
  • auto ←
  • cryptography
  • pyopenssl
Определяет, какой бэкенд шифрования использовать.
Значение по умолчанию — auto, которое пытается использовать cryptography, если оно доступно, и возвращается к pyopenssl.
Если установлено значение pyopenssl, будет пытаться использовать библиотеку pyOpenSSL.
Если установлено значение cryptography, будет пытаться использовать библиотеку cryptography.
selevel
строка
Значение по умолчанию:
"s0"
Часть контекста файла SELinux.
Это атрибут MLS/MCS, иногда известный как range.
При установке значения _default, будет использоваться часть политики level, если она доступна.
serole
строка
Часть контекста файла SELinux.
При установке значения _default, будет использоваться часть политики role, если она доступна.
setype
строка
Часть контекста файла SELinux.
При установке значения _default, будет использоваться часть политики type, если она доступна.
seuser
строка
Часть контекста файла SELinux.
По умолчанию используется политика system, если применимо.
При установке значения _default, будет использоваться часть политики user, если она доступна.
size
целое число
Значение по умолчанию:
4096
Размер (в битах) закрытого ключа TLS/SSL, который нужно сгенерировать.
state
строка
    Варианты:
  • отсутствует
  • присутствует ←
Нужно ли, чтобы закрытый ключ существовал или нет, выполняя действия, если состояние отличается от указанного.
type
строка
    Варианты:
  • DSA
  • ECC
  • Ed25519
  • Ed448
  • RSA ←
  • X25519
  • X448
Алгоритм, используемый для генерации закрытого ключа TLS/SSL.
Обратите внимание, что ECC, X25519, X448, Ed25519 и Ed448 требуют бэкенд cryptography. X25519 требует cryptography 2.5 или более поздней версии, а X448, Ed25519 и Ed448 требуют cryptography 2.6 или более поздней версии. Для ECC, минимальная версия cryptography зависит от параметра curve.
unsafe_writes
логическое
добавлено в 2.2
    Варианты:
  • нет ←
  • да
Влияние на использование атомарных операций для предотвращения повреждения данных или несогласованного чтения из целевого файла.
По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто сломаны таким образом, что это не возможно. Один пример — файлы, смонтированные с помощью Docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным образом.
Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомарные операции завершаются неудачей (однако он не заставляет Ansible выполнять небезопасные записи).
ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных.

См. также

См. также

openssl_certificate – Генерация и/или проверка сертификатов OpenSSL
Официальная документация модуля openssl_certificate.
openssl_csr – Генерация запроса на подпись сертификата (CSR) OpenSSL
Официальная документация модуля openssl_csr.
openssl_dhparam – Генерация параметров Diffie-Hellman OpenSSL
Официальная документация модуля openssl_dhparam.
openssl_pkcs12 – Генерация архива OpenSSL PKCS#12
Официальная документация модуля openssl_pkcs12.
openssl_publickey – Генерация открытого ключа OpenSSL из закрытого ключа
Официальная документация модуля openssl_publickey.

Примеры

- name: Generate an OpenSSL private key with the default values (4096 bits, RSA)
  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
  openssl_privatekey:
    path: /etc/ssl/private/ansible.com.pem
    passphrase: ansible
    cipher: aes256

- name: Generate an OpenSSL private key with a different size (2048 bits)
  openssl_privatekey:
    path: /etc/ssl/private/ansible.com.pem
    size: 2048

- name: Force regenerate an OpenSSL private key if it already exists
  openssl_privatekey:
    path: /etc/ssl/private/ansible.com.pem
    force: yes

- name: Generate an OpenSSL private key with a different algorithm (DSA)
  openssl_privatekey:
    path: /etc/ssl/private/ansible.com.pem
    type: DSA

Возвращаемые значения

Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:

Ключ Возвращаемое значение Описание
backup_file
строка
изменено, и если backup yes
Имя созданного файла резервной копии.

Пример:
/path/to/privatekey.pem.2019-03-09@11:22~
curve
строка
изменено или успех, и тип ECC
Эллиптическая кривая, используемая для генерации закрытого ключа TLS/SSL.

Пример:
secp256r1
filename
строка
изменено или успех
Путь к сгенерированному файлу закрытого ключа TLS/SSL.

Пример:
/etc/ssl/private/ansible.com.pem
fingerprint
словарь
изменено или успех
Отпечаток открытого ключа. Отпечаток будет сгенерирован для каждого hashlib.algorithms доступного.
Для получения осмысленного вывода бэкенд PyOpenSSL требует 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. [community]

Авторы

  • Yanis Guenane (@Spredzy)
  • Felix Fontein (@felixfontein)

Подсказка

Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/openssl_privatekey_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API