Spec-Zone.ru › Ansible 2.9

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

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

Синтаксис

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

Требования

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
attributes
строка
Атрибуты, которые должны быть у результирующего файла или каталога.
Для получения поддерживаемых флагов обратитесь к странице руководства для 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
    Варианты:
  • авто ←
  • cryptography
  • pyopenssl
Определяет, какой криптографический бэкенд использовать.
По умолчанию выбрано auto, которое пытается использовать cryptography, если оно доступно, и переходит к pyopenssl.
Если установлено значение pyopenssl, попытается использовать библиотеку pyOpenSSL.
Если установлено значение cryptography, попытается использовать библиотеку cryptography.
Обратите внимание, что бэкенд pyopenssl устарел в Ansible 2.9 и будет удален в Ansible 2.13. С этого момента доступен только бэкенд 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
логическое значение
    Варианты:
  • нет ←
  • да
Влияние на момент использования атомарных операций для предотвращения повреждения данных или несогласованных чтений из целевого файла.
По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, но иногда системы настраиваются или просто работают таким образом, что это невозможно. Одним примером являются файлы, смонтированные в Docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным способом.
Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомарные операции завершаются неудачей (однако он не заставляет Ansible выполнять небезопасные записи).
ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных.

См. также

См. также

openssl_certificate – Генерация и проверка сертификатов OpenSSL
Официальная документация модуля openssl_certificate.
openssl_csr – Генерация запроса на подпись сертификата (CSR) OpenSSL
Официальная документация модуля openssl_csr.
openssl_dhparam – Генерация параметров Diffie-Hellman OpenSSL
Официальная документация модуля openssl_dhparam.
openssl_pkcs12 – Генерация архива PKCS#12 OpenSSL
Официальная документация модуля 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. [сообщество]

Авторы

  • 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.9/modules/openssl_privatekey_module.html

Spec-Zone.ru

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