Модуль 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 строка | Атрибуты, которые должен иметь результирующий объект файловой системы. Список поддерживаемых флагов см. на странице руководства Эта строка должна содержать атрибуты в том же порядке, в котором они отображаются командой По умолчанию предполагается оператор |
certificate строка | Содержимое сертификата, используемого для создания хранилища ключей. Если отпечаток предоставленного сертификата не совпадает с отпечатком сертификата, включенного в хранилище ключей, хранилище ключей будет создано заново с предоставленным сертификатом. Требуется указать ровно один из параметров |
certificate_path путь добавлено в community.general 3.0.0 | Расположение сертификата, используемого для создания хранилища ключей. Если отпечаток предоставленного сертификата не совпадает с отпечатком сертификата, включенного в хранилище ключей, хранилище ключей будет создано заново с предоставленным сертификатом. Требуется указать ровно один из параметров |
dest путь / обязательный | Абсолютный путь к созданному хранилищу ключей. |
force логический | Хранилище ключей создается, даже если оно уже существует. Варианты:
|
group строка | Имя группы, которой должен принадлежать файл jks. |
keystore_type строка добавлено в community.general 3.3.0 | Тип хранилища ключей Java. Если этот параметр не указан, а хранилище ключей еще не существует, используется тип хранилища по умолчанию для Если этот параметр не указан, а хранилище ключей уже существует, его текущий тип остается без изменений, если только другой параметр не приводит к перезаписи хранилища ключей (в этом случае этот параметр действует так же, как при создании хранилища ключей). Если задано значение Варианты:
|
mode любое значение | Режим доступа к файлу. |
name строка / обязательный | Имя сертификата в хранилище ключей. Если указанное имя отсутствует в хранилище ключей, модуль создает хранилище заново. Это поведение изменилось в community.general 3.0.0: до этого модуль завершался с ошибкой, если имя не совпадало. |
owner строка | Имя пользователя, которому должен принадлежать файл jks. |
password строка / обязательный | Пароль для защиты хранилища ключей. Если указанный пароль не позволяет разблокировать хранилище ключей, модуль создает его заново с новой парольной фразой. Это поведение изменилось в community.general 3.0.0: до этого модуль завершался с ошибкой, если пароль не совпадал. |
private_key строка | Содержимое закрытого ключа, используемого для создания хранилища ключей. Требуется указать ровно один из параметров |
private_key_passphrase строка добавлено в community.general 0.2.0 | Парольная фраза, используемая для чтения закрытого ключа, если она требуется. |
private_key_path путь добавлено в community.general 3.0.0 | Расположение закрытого ключа, используемого для создания хранилища ключей. Требуется указать ровно один из параметров |
selevel строка | Уровень в контексте объекта файловой системы SELinux. Это атрибут MLS/MCS, иногда называемый Если задано значение |
serole строка | Роль в контексте объекта файловой системы SELinux. Если задано значение |
setype строка | Тип в контексте объекта файловой системы SELinux. Если задано значение |
seuser строка | Пользователь в контексте объекта файловой системы SELinux. По умолчанию используется политика Если задано значение |
ssl_backend строка добавлено в community.general 3.1.0 | Модуль для загрузки закрытых ключей и сертификатов. Варианты:
|
unsafe_writes логический | Определяет, когда использовать атомарную операцию для предотвращения повреждения данных или несогласованного чтения целевого объекта файловой системы. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения целевых объектов файловой системы, однако иногда конфигурация систем или их неисправности не позволяют этого сделать. Например, смонтированные в Docker объекты файловой системы нельзя атомарно обновить из контейнера — их можно записывать только небезопасным способом. Этот параметр позволяет Ansible использовать небезопасные методы обновления объектов файловой системы, если атомарные операции завершаются с ошибкой (однако он не заставляет Ansible выполнять небезопасную запись). ВАЖНО! При небезопасной записи возможны состояния гонки, которые могут привести к повреждению данных. Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в режиме |
diff_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 строка | Выполненная команда. Возвращается: при изменении и ошибке Пример: |
err строка | Вывод stderr команды keytool/openssl после ошибки выполнения указанной команды. Возвращается: при ошибке Пример: |
Ссылки на коллекцию
© 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