Spec-Zone.ru › Ansible

community.general.java_keystore модуль – Создать хранилище ключей Java в формате JKS

Примечание

Этот модуль входит в состав коллекции community.general (версия 9.5.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.general. Для использования этого модуля необходимы дополнительные требования, см. Требования для получения подробной информации.

Для использования в playbook укажите: community.general.java_keystore.

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

Описание

  • Объединить сертификат x509 и его закрытый ключ в хранилище ключей Java в формате JKS.

Требования

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

  • openssl в PATH (при ssl_backend=openssl)
  • keytool в PATH
  • cryptography >= 3.0 (при ssl_backend=cryptography)

Параметры

Параметр

Комментарии

attributes

aliases: attr

строка

Атрибуты, которые должен иметь создаваемый объект файловой системы.

Чтобы узнать поддерживаемые флаги, см. страницу руководства для chattr на целевой системе.

Эта строка должна содержать атрибуты в том же порядке, что и при отображении командой lsattr.

Оператор = предполагается по умолчанию, в противном случае необходимо включить операторы + или -.

certificate

строка

Содержимое сертификата, используемого для создания хранилища ключей.

Если отпечаток предоставленного сертификата не соответствует отпечатку сертификата, включенного в хранилище ключей, хранилище ключей пересоздается с предоставленным сертификатом.

Требуется ровно один из certificate или certificate_path.

certificate_path

путь

добавлен в community.general 3.0.0

Расположение сертификата, используемого для создания хранилища ключей.

Если отпечаток предоставленного сертификата не соответствует отпечатку сертификата, включенного в хранилище ключей, хранилище ключей пересоздается с предоставленным сертификатом.

Требуется ровно один из certificate или certificate_path.

dest

путь / обязательно

Абсолютный путь к создаваемому хранилищу ключей.

force

булево

Хранилище ключей создается, даже если оно уже существует.

Варианты:

  • false ← (по умолчанию)
  • true

group

строка

Имя группы, которая должна владеть файлом jks.

keystore_type

строка

добавлен в community.general 3.3.0

Тип хранилища ключей Java.

Если этот параметр опущен, а хранилище ключей еще не существует, поведение соответствует типу хранилища по умолчанию keytool, который зависит от версии Java; pkcs12 начиная с Java 9 и jks ранее (также может быть pkcs12, если новый стандартный тип был обратнопортирован в эту версию).

Если этот параметр опущен, а хранилище ключей уже существует, его текущий тип остается неизменным, если другой параметр не приведет к перезаписи хранилища ключей (в этом случае этот параметр ведет себя так же, как при создании хранилища ключей).

Если keystore_type задан, хранилище ключей создается с этим типом, если оно еще не существует, или переписывается, чтобы соответствовать заданному типу в случае несоответствия.

Варианты:

  • "jks"
  • "pkcs12"

mode

любой

Режим файла.

name

строка / обязательно

Имя сертификата в хранилище ключей.

Если предоставленное имя не существует в хранилище ключей, модуль пересоздаст хранилище ключей. Это поведение изменилось в community.general 3.0.0, до этого модуль завершался ошибкой, когда имя не совпадало.

owner

строка

Имя пользователя, который должен владеть файлом jks.

password

строка / обязательно

Пароль, который должен использоваться для защиты хранилища ключей.

Если предоставленный пароль не позволяет разблокировать хранилище ключей, модуль пересоздаст хранилище ключей с новым паролем. Это поведение изменилось в community.general 3.0.0, до этого модуль завершался ошибкой, когда пароль не совпадал.

private_key

строка

Содержимое закрытого ключа, используемого для создания хранилища ключей.

Требуется ровно один из private_key или private_key_path.

private_key_passphrase

строка

добавлен в community.general 0.2.0

Пароль, используемый для чтения закрытого ключа, если требуется.

private_key_path

путь

добавлен в community.general 3.0.0

Расположение закрытого ключа, используемого для создания хранилища ключей.

Требуется ровно один из private_key или private_key_path.

selevel

строка

Часть контекста SELinux-объекта файловой системы.

Это атрибут MLS/MCS, иногда известный как range.

При значении _default, используется часть политики level, если доступна.

serole

строка

Часть роли контекста SELinux-объекта файловой системы.

При значении _default, используется часть политики role, если доступна.

setype

строка

Часть типа контекста SELinux-объекта файловой системы.

При значении _default, используется часть политики type, если доступна.

seuser

строка

Часть пользователя контекста SELinux-объекта файловой системы.

По умолчанию используется политика system, где это применимо.

При значении _default, используется часть политики user, если доступна.

ssl_backend

string

added in community.general 3.1.0

Backend для загрузки закрытых ключей и сертификатов.

Выбор:

  • "openssl" ← (по умолчанию)
  • "cryptography"

unsafe_writes

boolean

Влияние на использование атомарных операций для предотвращения повреждения данных или несогласованного чтения из объекта целевой файловой системы.

По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из объектов целевой файловой системы, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Одним из примеров являются объекты файловой системы, смонтированные с помощью Docker, которые не могут обновляться атомарно изнутри контейнера и могут записываться только небезопасным способом.

Этот параметр позволяет Ansible перейти к небезопасным методам обновления объектов файловой системы, когда атомарные операции не выполняются (однако он не заставляет Ansible выполнять небезопасные записи).

ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных.

Выбор:

  • false ← (по умолчанию)
  • true

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Может работать в check_mode и возвращать прогноз о статусе изменений без модификации целевого объекта.

diff_mode

Поддержка: отсутствует

Вернёт подробности о том, что изменилось (или, возможно, нужно изменить в check_mode), когда включен режим сравнения.

Примечания

Примечание

  • certificate и private_key требуют, чтобы их содержимое было доступно на контроллере (либо вложенно в playbook, либо с помощью ansible.builtin.file lookup), в то время как certificate_path и private_key_path требуют, чтобы файлы были доступны на целевом хосте.
  • По умолчанию любые изменения значений параметров keystore_type, name или password, а также изменения ключевых или сертификатных материалов приведут к перезаписи существующего dest.

См. также

См. также

community.crypto.openssl_pkcs12

Генерация архива OpenSSL PKCS#12.

community.general.java_cert

Использует keytool для импорта/удаления сертификата в/из хранилища ключей Java (cacerts).

Примеры

- name: Create a keystore for the given certificate/private key pair (inline)
  community.general.java_keystore:
    name: example
    certificate: |
      -----BEGIN CERTIFICATE-----
      h19dUZ2co2f...
      -----END CERTIFICATE-----
    private_key: |
      -----BEGIN RSA PRIVATE KEY-----
      DBVFTEVDVFJ...
      -----END RSA PRIVATE KEY-----
    password: changeit
    dest: /etc/security/keystore.jks

- name: Create a keystore for the given certificate/private key pair (with files on controller)
  community.general.java_keystore:
    name: example
    certificate: "{{ lookup('file', '/path/to/certificate.crt') }}"
    private_key: "{{ lookup('file', '/path/to/private.key') }}"
    password: changeit
    dest: /etc/security/keystore.jks

- name: Create a keystore for the given certificate/private key pair (with files on target host)
  community.general.java_keystore:
    name: snakeoil
    certificate_path: /etc/ssl/certs/ssl-cert-snakeoil.pem
    private_key_path: /etc/ssl/private/ssl-cert-snakeoil.key
    password: changeit
    dest: /etc/security/keystore.jks

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

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

Ключ

Описание

cmd

string

Выполненная команда для выполнения действия

Возвращаемое значение: changed и failure

Пример: "/usr/bin/openssl x509 -noout -in /tmp/user/1000/tmp8jd_lh23 -fingerprint -sha256"

err

string

Вывод из stderr команды keytool/openssl после ошибки данной команды.

Возвращаемое значение: failure

Пример: "Keystore password is too short - must be at least 6 characters "

msg

string

Вывод из stdout команды keytool/openssl после выполнения заданной команды или ошибки.

Возвращаемое значение: changed и failure

Пример: "Unable to find the current certificate fingerprint in ..."

rc

integer

Значение возврата команды keytool/openssl

Возвращаемое значение: changed и failure

Пример: 0

Авторы

  • Guillaume Grossetie (@Mogztter)
  • quidame (@quidame)

Ссылки на сборку

  • Трекер проблем
  • Репозиторий (источники)
  • Задать вопрос
  • Отправить сообщение об ошибке
  • Запросить новую функцию
  • Общение

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/java_keystore_module.html

Spec-Zone.ru

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