Spec-Zone.ru › Ansible 2.9

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

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

Синтаксис

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

Требования

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

  • Либо cryptography >= 1.2.3 (более старые версии, возможно, также работают)
  • Либо pyOpenSSL >= 16.0.0
  • Необходимо cryptography >= 1.4, если format равен OpenSSH

Параметры

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

псевдонимы: attr
backup
булево
добавлен в 2.8
    Варианты:
  • нет ←
  • да
Создать резервную копию файла, включая отметку времени, чтобы вы могли восстановить оригинальный открытый ключ, если вы случайно перезаписали его другим ключом.
force
булево
    Варианты:
  • нет ←
  • да
Ключ должен быть сгенерирован заново, даже если он уже существует.
format
строка
добавлен в 2.4
    Варианты:
  • OpenSSH
  • PEM ←
Формат открытого ключа.
group
строка
Имя группы, которой должен принадлежать файл/директория, как передается в chown.
mode
строка
Разрешения, которые должен иметь создаваемый файл или директория.
Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущую ноль, чтобы парсер YAML Ansible знал, что это восьмеричное число (например, 0644 или 01777), или заключить его в кавычки (например, '644' или '1777'), чтобы Ansible получил строку и смог самостоятельно выполнить преобразование из строки в число.
Если вы передадите Ansible число без выполнения одного из этих правил, Ansible примет его как десятичное число, что приведет к непредсказуемым результатам.
Начиная с Ansible 1.8, режим может быть указан как символьный режим (например, u+rwx или u=rw,g=r,o=r).
owner
строка
Имя пользователя, которому должен принадлежать файл/директория, как передается в chown.
path
путь / обязательно
Имя файла, в котором будет записан сгенерированный открытый ключ TLS/SSL.
privatekey_passphrase
строка
добавлен в 2.4
Пароль к закрытому ключу.
privatekey_path
путь
Путь к закрытому ключу TLS/SSL, из которого нужно сгенерировать открытый ключ.
Обязательно, если state равен present.
select_crypto_backend
строка
добавлен в 2.9
    Варианты:
  • авто ←
  • 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, если доступна.
state
строка
    Варианты:
  • отсутствует
  • существует ←
Указывает, должен ли открытый ключ существовать или нет, выполняя действия, если состояние отличается от указанного.
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_privatekey – Генерация закрытых ключей OpenSSL
Официальная документация по модулю openssl_privatekey.

Примеры

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

- name: Generate an OpenSSL public key in OpenSSH v2 format
  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
  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
  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
  openssl_publickey:
    path: /etc/ssl/public/ansible.com.pem
    privatekey_path: /etc/ssl/private/ansible.com.pem
    state: absent

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

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

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

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

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

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

Пример:
/etc/ssl/private/ansible.com.pem


Статус

  • Данному модулю не гарантируется обратная совместимость. [превью]
  • Этот модуль поддерживается сообществом 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_publickey_module.html

Spec-Zone.ru

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