community.general.java_cert модуль — Использует keytool для импорта/удаления сертификата в/из хранилища ключей Java (cacerts)
Примечание
Этот модуль входит в состав коллекции community.general (версия 9.5.0).
Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не входит в состав ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general. Для использования этого модуля потребуются дополнительные зависимости, см. Требования для получения подробной информации.
Для использования в playbook, укажите: community.general.java_cert.
Описание
- Этот модуль является обёрткой вокруг keytool, которая может использоваться для импорта сертификатов и (необязательно) закрытых ключей в заданное хранилище ключей Java или для удаления их из него.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- openssl
- keytool
Параметры
Параметр | Комментарии |
|---|---|
attributes псевдонимы: attr строка добавлено в community.general 8.5.0 | Атрибуты, которые должен иметь результирующий объект файловой системы. Чтобы получить поддерживаемые флаги, см. страницу руководства для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и в выводе lsattr. Оператор |
cert_alias строка | Псевдоним импортированного сертификата. Псевдоним используется при проверке наличия сертификата в хранилище ключей. |
cert_content строка добавлено в community.general 8.6.0 | Содержимое сертификата, используемого для создания хранилища ключей. Для загрузки сертификата требуется ровно один из |
cert_path путь | Локальный путь для загрузки сертификата. Для загрузки сертификата требуется ровно один из |
cert_port целое число | Порт для подключения к URL. Будет использоваться для создания URL-адреса сервера:PORT. По умолчанию: |
cert_url строка | Базовый URL для получения SSL-сертификата. Для загрузки сертификата требуется ровно один из |
executable строка | Путь к бинарному файлу keytool, если не используется, поиск в переменной окружения PATH. По умолчанию: |
group строка добавлено в community.general 8.5.0 | Имя группы, которой должен принадлежать объект файловой системы (для передачи в chown). Если не указано, используется текущая группа текущего пользователя, за исключением случая root, в котором сохраняется предыдущее владение. |
keystore_create логическое значение | Создать хранилище ключей, если оно не существует. Варианты:
|
keystore_pass строка / обязательно | Пароль к хранилищу ключей. |
keystore_path путь | Путь к хранилищу ключей. |
keystore_type строка | Тип хранилища ключей (JCEKS, JKS). |
mode любой добавлено в community.general 8.5.0 | Разрешения, которые должен иметь результирующий объект файловой системы. Для тех, кто привык к /usr/bin/chmod, помните, что режимы — это на самом деле восьмеричные числа. Вы должны предоставить Ansible достаточно информации, чтобы правильно их разобрать. Для согласованных результатов используйте восьмеричные числа в кавычках (например, Если Ansible получит число без указанных правил, оно будет интерпретировано как десятичное число, что может привести к неожиданным результатам. Начиная с Ansible 1.8, режим можно указать в символической форме (например, Если Если Указание |
owner строка добавлено в community.general 8.5.0 | Имя пользователя, которому должен принадлежать объект файловой системы (для передачи в chown). Если не указано, используется текущий пользователь, за исключением случая root, в котором сохраняется предыдущее владение. Указание числового имени пользователя будет интерпретировано как идентификатор пользователя, а не как имя пользователя. Избегайте числовых имён пользователей, чтобы избежать этой путаницы. |
pkcs12_alias строка | Псевдоним в хранилище ключей PKCS12. |
pkcs12_password строка | Пароль для импорта из хранилища ключей PKCS12. |
pkcs12_path путь | Локальный путь к хранилищу ключей PKCS12. В отличие от Для загрузки сертификата требуется ровно один из |
selevel строка добавлено в community.general 8.5.0 | Часть уровня контекста объекта файловой системы SELinux. Это атрибут MLS/MCS, иногда известный как При установке в значение |
serole строка добавлено в community.general 8.5.0 | Часть роли контекста объекта файловой системы SELinux. При установке в значение |
setype строка добавлено в community.general 8.5.0 | Часть типа контекста объекта файловой системы SELinux. При установке в значение |
seuser строка добавлено в community.general 8.5.0 | Часть пользователя контекста объекта файловой системы SELinux. По умолчанию используется политика При установке в значение |
state строка | Определяет действие, которое может быть импортом или удалением сертификата. Когда state задан, сертификат всегда будет идемпотентно добавлен в хранилище ключей, даже если уже существует алиас сертификата с другим именем. Выбор:
|
trust_cacert логическое добавлено в community.general 0.2.0 | Считать импортированный сертификат как CAcert. Выбор:
|
unsafe_writes логическое добавлено в community.general 8.5.0 | Влияет на использование атомарной операции для предотвращения повреждения данных или несогласованных чтений из целевого объекта файловой системы. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых объектов файловой системы, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Одним примером является контейнер Docker, где объемы файловой системы не могут обновляться атомарно изнутри контейнера и могут записываться только небезопасным образом. Этот параметр позволяет Ansible перейти к небезопасным методам обновления объектов файловой системы при сбое атомарных операций (хотя он не заставляет Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены проблемам гонки и могут привести к повреждению данных. Выбор:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в режиме |
diff_mode | Поддержка: полная | Возвращает подробности о том, что изменилось (или, возможно, нуждается в изменении в |
Примеры
- name: Import SSL certificate from google.com to a given cacerts keystore
community.general.java_cert:
cert_url: google.com
cert_port: 443
keystore_path: /usr/lib/jvm/jre7/lib/security/cacerts
keystore_pass: changeit
state: present
- name: Remove certificate with given alias from a keystore
community.general.java_cert:
cert_url: google.com
keystore_path: /usr/lib/jvm/jre7/lib/security/cacerts
keystore_pass: changeit
executable: /usr/lib/jvm/jre7/bin/keytool
state: absent
- name: Import trusted CA from SSL certificate
community.general.java_cert:
cert_path: /opt/certs/rootca.crt
keystore_path: /tmp/cacerts
keystore_pass: changeit
keystore_create: true
state: present
cert_alias: LE_RootCA
trust_cacert: true
- name: Import trusted CA from the SSL certificate stored in the cert_content variable
community.general.java_cert:
cert_content: |
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
keystore_path: /tmp/cacerts
keystore_pass: changeit
keystore_create: true
state: present
cert_alias: LE_RootCA
trust_cacert: true
- name: Import SSL certificate from google.com to a keystore, create it if it doesn't exist
community.general.java_cert:
cert_url: google.com
keystore_path: /tmp/cacerts
keystore_pass: changeit
keystore_create: true
state: present
- name: Import a pkcs12 keystore with a specified alias, create it if it doesn't exist
community.general.java_cert:
pkcs12_path: "/tmp/importkeystore.p12"
cert_alias: default
keystore_path: /opt/wildfly/standalone/configuration/defaultkeystore.jks
keystore_pass: changeit
keystore_create: true
state: present
- name: Import SSL certificate to JCEKS keystore
community.general.java_cert:
pkcs12_path: "/tmp/importkeystore.p12"
pkcs12_alias: default
pkcs12_password: somepass
cert_alias: default
keystore_path: /opt/someapp/security/keystore.jceks
keystore_type: "JCEKS"
keystore_pass: changeit
keystore_create: true
state: present
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для этого модуля:
Ключ | Описание |
|---|---|
cmd строка | Выполненная команда для выполнения действия. Возвращено: успех Пример: |
msg строка | Вывод из stdout команды keytool после выполнения заданной команды. Возвращено: успех Пример: |
rc целое число | Значение возврата команды keytool. Возвращено: успех Пример: |
Ссылки на коллекцию
© 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_cert_module.html