Spec-Zone.ru › Ansible

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

Примечание

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

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

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

Чтобы использовать модуль в плейбуке, укажите: community.general.java_keystore.

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

Краткое описание

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

Требования

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

  • openssl в PATH (если ssl_backend=openssl)
  • keytool в PATH
  • cryptography >= 3.0 (если ssl_backend=cryptography)

Параметры

Параметр

Комментарии

attributes

псевдонимы: 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

строка

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

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

Варианты:

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

unsafe_writes

логический

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

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

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

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

Варианты:

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

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

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

diff_mode

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

В режиме различий возвращает сведения об изменениях (или о возможных изменениях в check_mode).

Примечания

Примечание

  • Для параметров certificate и private_key необходимо, чтобы их содержимое было доступно на контроллере (либо непосредственно в плейбуке, либо с помощью поиска ansible.builtin.file), тогда как для 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

строка

Выполненная команда.

Возвращается: при изменении и ошибке

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

err

строка

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

Возвращается: при ошибке

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

Авторы

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

Ссылки на коллекцию

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

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

Spec-Zone.ru

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