Spec-Zone.ru › Ansible

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_url, cert_path, cert_content, или pkcs12_path.

cert_path

путь

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

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

cert_port

целое число

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

Будет использоваться для создания URL-адреса сервера:PORT.

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

cert_url

строка

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

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

executable

строка

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

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

group

строка

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

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

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

keystore_create

логическое значение

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

Варианты:

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

keystore_pass

строка / обязательно

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

keystore_path

путь

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

keystore_type

строка

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

mode

любой

добавлено в 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

строка

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

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

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

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

pkcs12_alias

строка

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

pkcs12_password

строка

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

pkcs12_path

путь

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

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

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

selevel

строка

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

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

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

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

serole

строка

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

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

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

setype

строка

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

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

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

seuser

строка

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

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

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

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

state

строка

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

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

Выбор:

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

trust_cacert

логическое

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

Считать импортированный сертификат как CAcert.

Выбор:

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

unsafe_writes

логическое

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

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

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

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

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

Выбор:

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

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

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

diff_mode

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

Возвращает подробности о том, что изменилось (или, возможно, нуждается в изменении в check_mode), при работе в режиме diff.

Примеры

- 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

строка

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

Возвращено: успех

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

msg

строка

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

Возвращено: успех

Пример: "Module require existing keystore at keystore_path '/tmp/test/cacerts'"

rc

целое число

Значение возврата команды keytool.

Возвращено: успех

Пример: 0

Авторы

  • Adam Hamsik (@haad)

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

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

© 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

Spec-Zone.ru

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