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_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 string added in community.general 3.1.0 | Backend для загрузки закрытых ключей и сертификатов. Выбор:
|
unsafe_writes boolean | Влияние на использование атомарных операций для предотвращения повреждения данных или несогласованного чтения из объекта целевой файловой системы. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из объектов целевой файловой системы, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Одним из примеров являются объекты файловой системы, смонтированные с помощью Docker, которые не могут обновляться атомарно изнутри контейнера и могут записываться только небезопасным способом. Этот параметр позволяет Ansible перейти к небезопасным методам обновления объектов файловой системы, когда атомарные операции не выполняются (однако он не заставляет Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных. Выбор:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в |
diff_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 Пример: |
err string | Вывод из stderr команды keytool/openssl после ошибки данной команды. Возвращаемое значение: failure Пример: |
msg string | Вывод из stdout команды keytool/openssl после выполнения заданной команды или ошибки. Возвращаемое значение: changed и failure Пример: |
rc integer | Значение возврата команды keytool/openssl Возвращаемое значение: changed и failure Пример: |
Ссылки на сборку
© 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