Spec-Zone.ru › Ansible

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

Примечание

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

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

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

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

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

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

  • Этот модуль-обёртка для keytool позволяет импортировать сертификаты и, при необходимости, закрытые ключи в указанное хранилище ключей Java или удалять их из него.

Требования

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

  • openssl
  • keytool

Параметры

Параметр

Комментарии

attributes

псевдонимы: attr

string

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

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

Список поддерживаемых флагов см. на странице руководства для chattr в целевой системе.

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

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

cert_alias

string

Псевдоним импортированного сертификата.

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

cert_content

string

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

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

Для загрузки сертификата требуется указать ровно один из параметров cert_url, cert_path, cert_content или pkcs12_path.

cert_path

path

Локальный путь, откуда загружается сертификат.

Для загрузки сертификата требуется указать ровно один из параметров cert_url, cert_path, cert_content или pkcs12_path.

cert_port

integer

Порт для подключения к URL.

Используется для создания URL сервера:ПОРТ.

По умолчанию: 443

cert_url

string

Базовый URL для получения SSL-сертификата.

Для загрузки сертификата требуется указать ровно один из параметров cert_url, cert_path, cert_content или pkcs12_path.

executable

string

Путь к исполняемому файлу keytool. Если не указан, файл ищется в PATH.

По умолчанию: "keytool"

group

string

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

Имя группы, которой должен принадлежать объект файловой системы; это значение передаётся команде chown.

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

keystore_create

boolean

Создавать хранилище ключей, если оно не существует.

Варианты:

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

keystore_pass

string / обязательный

Пароль хранилища ключей.

keystore_path

path

Путь к хранилищу ключей.

keystore_type

string

Тип хранилища ключей (JCEKS, JKS).

mode

any

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

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

Тем, кто привык к /usr/bin/chmod, следует помнить, что режимы доступа фактически являются восьмеричными числами. Ansible необходимо передать достаточно информации, чтобы он мог правильно их обработать. Для получения предсказуемых результатов заключайте восьмеричные числа в кавычки (например, '644' или '1777'), чтобы Ansible получил строку и выполнил преобразование из строки в число самостоятельно. Добавление начального нуля (например, 0755) иногда работает, но может привести к сбоям в циклах и некоторых других ситуациях.

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

Начиная с Ansible 1.8, режим можно задавать в символьном формате (например, u+rwx или u=rw,g=r,o=r).

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

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

Указание mode — лучший способ обеспечить создание объектов файловой системы с правильными правами доступа. Дополнительные сведения см. в CVE-2020-1736.

owner

string

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

Имя пользователя, которому должен принадлежать объект файловой системы; это значение передаётся команде chown.

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

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

pkcs12_alias

string

Псевдоним в хранилище ключей PKCS12.

pkcs12_password

string

Пароль для импорта из хранилища ключей PKCS12.

pkcs12_path

path

Локальный путь к хранилищу ключей PKCS12.

В отличие от cert_url, cert_path и cert_content, хранилище ключей PKCS12 содержит закрытый ключ, соответствующий сертификату, и используется для импорта сертификата вместе с его закрытым ключом в хранилище ключей Java.

Для загрузки сертификата требуется указать ровно один из параметров cert_url, cert_path, cert_content или pkcs12_path.

selevel

string

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

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

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

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

serole

string

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

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

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

setype

string

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

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

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

seuser

string

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

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

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

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

state

string

Определяет действие: импорт сертификата или его удаление.

При значении state=present сертификат всегда добавляется в хранилище ключей, даже если там уже есть сертификат с другим псевдонимом.

Варианты:

  • "absent"
  • "present" ← (по умолчанию)

trust_cacert

boolean

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

Доверять импортированному сертификату как сертификату центра сертификации (CAcert).

Варианты:

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

unsafe_writes

boolean

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

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

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

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

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

Варианты:

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

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

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

diff_mode

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

В режиме diff возвращает сведения об изменениях (или о возможных изменениях в check_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

string

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

Возвращается: при успехе

Пример: "keytool -importcert -noprompt -keystore"

Авторы

  • Adam Hamsik (@haad)

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

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

© 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_cert_module.html

Spec-Zone.ru

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