Spec-Zone.ru › Ansible 2.10

community.crypto.openssl_publickey – Генерация открытого ключа OpenSSL из закрытого ключа.

Примечание

Этот плагин входит в коллекцию community.crypto (версия 1.3.0).

Для его установки используйте: ansible-galaxy collection install community.crypto.

Для использования в плейбуке укажите: community.crypto.openssl_publickey.

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

Описание

  • Этот модуль позволяет (повторно) генерировать открытые ключи OpenSSL из закрытых ключей.
  • Ключи генерируются в формате PEM или OpenSSH.
  • Модуль может использовать библиотеку cryptography или pyOpenSSL. По умолчанию он пытается определить, какая из них доступна. Это можно переопределить с помощью опции select_crypto_backend. Когда format равен OpenSSH, должен использоваться cryptography бэкенд. Обратите внимание, что бэкенд PyOpenSSL был устаревшим в Ansible 2.9 и будет удален в community.crypto 2.0.0.

Требования

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

  • cryptography >= 1.2.3 (возможно, также будут работать более старые версии)
  • Или pyOpenSSL >= 16.0.0
  • cryptography >= 1.4 требуется, если format равен OpenSSH

Параметры

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

псевдонимы: attr
backup
логический тип
    Варианты:
  • нет ←
  • да
Создать резервную копию файла, включая отметку времени, чтобы вы могли вернуть оригинальный открытый ключ, если случайно перезаписали его другим.
force
логический тип
    Варианты:
  • нет ←
  • да
Следует ли перегенерировать ключ, даже если он уже существует?
format
строка
    Варианты:
  • OpenSSH
  • PEM ←
Формат открытого ключа.
group
строка
Имя группы, которая должна владеть файлом/каталогом, как это подается команде chown.
mode
сырой
Разрешения, которые должен иметь получившийся файл или каталог.
Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущую ноль, чтобы парсер YAML Ansible знал, что это восьмеричное число (например, 0644 или 01777) или заключить его в кавычки (например, '644' или '1777') , чтобы Ansible получил строку и смог выполнить преобразование из строки в число.
Передача Ansible числа без соблюдения одного из этих правил приведет к десятичному числу, что приведет к непредсказуемым результатам.
Начиная с Ansible 1.8, режим может быть указан в символическом формате (например, u+rwx или u=rw,g=r,o=r).
owner
строка
Имя пользователя, который должен владеть файлом/каталогом, как это подается команде chown.
path
путь / обязательный
Имя файла, в который будет записан сгенерированный открытый ключ TLS/SSL.
privatekey_content
строка
добавлен в 1.0.0 community.crypto
Содержание закрытого ключа TLS/SSL, из которого будет сгенерирован открытый ключ.
Должен быть указан либо privatekey_path, либо privatekey_content, но не оба. Если state равен present, один из них необходим.
privatekey_passphrase
строка
Пароль для закрытого ключа.
privatekey_path
путь
Путь к закрытому ключу TLS/SSL, из которого будет сгенерирован открытый ключ.
Должен быть указан либо privatekey_path, либо privatekey_content, но не оба. Если state равен present, один из них необходим.
return_content
логический тип
добавлен в 1.0.0 community.crypto
    Варианты:
  • нет ←
  • да
Если установлено значение yes, будет возвращено содержание (текущего или сгенерированного) открытого ключа как publickey.
select_crypto_backend
строка
    Варианты:
  • auto ←
  • cryptography
  • pyopenssl
Определяет, какой криптографический бэкенд использовать.
Значение по умолчанию — auto, которое пытается использовать cryptography при наличии и переходит на pyopenssl в противном случае.
Если установлено значение pyopenssl, будет попытка использовать библиотеку pyOpenSSL.
Если установлено значение cryptography, будет попытка использовать библиотеку cryptography.
selevel
строка
Часть контекста файла SELinux, относящаяся к уровню.
Это атрибут MLS/MCS, иногда известный как range.
Когда установлено значение _default, будет использована часть политики level, если она доступна.
serole
строка
Часть контекста файла SELinux, относящаяся к роли.
Если установлено значение _default, будет использована часть политики role, если она доступна.
setype
строка
Часть контекста файла SELinux, относящаяся к типу.
Если установлено значение _default, будет использована часть политики type, если она доступна.
seuser
строка
Часть контекста файла SELinux, относящаяся к пользователю.
По умолчанию используется политика system, где это применимо.
Если установлено значение _default, будет использована часть политики user, если она доступна.
state
строка
    Варианты:
  • отсутствует
  • присутствует ←
Указывает, должен ли существовать открытый ключ или нет, выполняя действия, если состояние отличается от указанного.
unsafe_writes
логический тип
добавлен в 2.2 ansible.builtin
    Варианты:
  • нет ←
  • да
Влияние на использование атомарных операций для предотвращения повреждения данных или несогласованного чтения из целевого файла.
По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто сломаны способами, которые препятствуют этому. Одним из примеров являются файлы, смонтированные в Docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным способом.
Эта опция позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомарные операции завершаются неудачей (однако это не заставляет Ansible выполнять небезопасные записи).
ВАЖНО! Небезопасные записи подвержены проблемам гонки и могут привести к повреждению данных.

См. также

См. также

community.crypto.x509_certificate

Официальная документация по модулю community.crypto.x509_certificate.

community.crypto.x509_certificate_pipe

Официальная документация по модулю community.crypto.x509_certificate_pipe.

community.crypto.openssl_csr

Официальная документация по модулю community.crypto.openssl_csr.

community.crypto.openssl_csr_pipe

Официальная документация по модулю community.crypto.openssl_csr_pipe.

community.crypto.openssl_dhparam

Официальная документация по модулю community.crypto.openssl_dhparam.

community.crypto.openssl_pkcs12

Официальная документация по модулю community.crypto.openssl_pkcs12.

community.crypto.openssl_privatekey

Официальная документация по модулю community.crypto.openssl_privatekey.

community.crypto.openssl_privatekey_pipe

Официальная документация по модулю community.crypto.openssl_privatekey_pipe.

Примеры

- name: Generate an OpenSSL public key in PEM format
  community.crypto.openssl_publickey:
    path: /etc/ssl/public/ansible.com.pem
    privatekey_path: /etc/ssl/private/ansible.com.pem

- name: Generate an OpenSSL public key in PEM format from an inline key
  community.crypto.openssl_publickey:
    path: /etc/ssl/public/ansible.com.pem
    privatekey_content: "{{ private_key_content }}"

- name: Generate an OpenSSL public key in OpenSSH v2 format
  community.crypto.openssl_publickey:
    path: /etc/ssl/public/ansible.com.pem
    privatekey_path: /etc/ssl/private/ansible.com.pem
    format: OpenSSH

- name: Generate an OpenSSL public key with a passphrase protected private key
  community.crypto.openssl_publickey:
    path: /etc/ssl/public/ansible.com.pem
    privatekey_path: /etc/ssl/private/ansible.com.pem
    privatekey_passphrase: ansible

- name: Force regenerate an OpenSSL public key if it already exists
  community.crypto.openssl_publickey:
    path: /etc/ssl/public/ansible.com.pem
    privatekey_path: /etc/ssl/private/ansible.com.pem
    force: yes

- name: Remove an OpenSSL public key
  community.crypto.openssl_publickey:
    path: /etc/ssl/public/ansible.com.pem
    state: absent

Значения возврата

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

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

Пример:
/path/to/publickey.pem.2019-03-09@11:22~
filename
string
изменилось или успех
Путь к сгенерированному файлу открытого ключа TLS/SSL.

Пример:
/etc/ssl/public/ansible.com.pem
fingerprint
dictionary
изменилось или успех
Отпечаток открытого ключа. Отпечаток будет сгенерирован для каждого доступного алгоритма hashlib.
Требуется 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'}
format
string
изменилось или успех
Формат открытого ключа (PEM, OpenSSH, ...).

Пример:
PEM
privatekey
string
изменилось или успех
Путь к закрытому ключу TLS/SSL, из которого был сгенерирован открытый ключ.
Будет none если закрытый ключ был предоставлен в privatekey_content.

Пример:
/etc/ssl/private/ansible.com.pem
publickey
string
добавлено в 1.0.0 community.crypto
если state present и return_content yes
Содержание открытого ключа (текущего или сгенерированного).



Авторы

  • 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.10/collections/community/crypto/openssl_publickey_module.html

Spec-Zone.ru

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