Spec-Zone.ru › Ansible

Модуль community.general.keycloak_realm_key – Позволяет администрировать ключи домена Keycloak через API Keycloak

Примечание

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

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

Чтобы установить ее, используйте: ansible-galaxy collection install community.general.

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

Новая функция в community.general 7.5.0

  • Обзор
  • Параметры
  • Атрибуты
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Этот модуль позволяет администрировать ключи домена Keycloak через REST API Keycloak. Он требует доступа к REST API через OpenID Connect; пользователь, подключающийся, и используемый домен должны иметь необходимые права доступа. В стандартной установке Keycloak admin-cli и администраторский пользователь будут работать, как и отдельное определение домена с настройкой области, соответствующей вашим потребностям, и пользователем с ожидаемыми ролями.
  • Имена опций модуля — это snake_case версии camelCase названий, используемых в API Keycloak и его документации по адресу https://www.keycloak.org/docs-api/8.0/rest-api/index.html. Предоставляются псевдонимы, чтобы можно было использовать также camelCase версии.
  • Этот модуль не может обнаружить изменения фактического криптографического ключа после его импорта. Однако если наряду с криптографическим ключом изменяется какая-либо другая свойство, то ключ также изменится как побочный эффект, так как JSON-полезная нагрузка должна содержать закрытый ключ. Это можно рассматривать как ошибку или как функцию, поскольку альтернатива заключалась бы в том, чтобы всегда обновлять ключ домена, независимо от того, изменился ли он или нет.
  • Если сертификат не указан явно, он будет динамически создан Keycloak. Поэтому сравнение текущего состояния сертификата с желаемым состоянием (которое может быть пустым) невозможно.

Параметры

Параметр

Комментарии

auth_client_id

строка

Используемый для аутентификации в API токен OpenID Connect.

По умолчанию: "admin-cli"

auth_client_secret

строка

Секретный ключ клиента, используемый совместно с auth_client_id (если требуется).

auth_keycloak_url

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

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

URL-адрес экземпляра Keycloak.

auth_password

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

строка

Пароль для аутентификации с доступом к API.

auth_realm

строка

Имя домена Keycloak для аутентификации с доступом к API.

auth_username

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

строка

Имя пользователя для аутентификации с доступом к API.

config

словарь

Словарь, определяющий ключ и его свойства.

active

логическое

Активен ли ключ или неактивен. Не путать с состоянием управляемого Ansible ресурса параметром state.

Варианты:

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

algorithm

строка

Алгоритм ключа.

Значения RS384, RS512, PS256, PS384, PS512, RSA1_5, RSA-OAEP, RSA-OAEP-256 были добавлены в community.general 8.2.0.

Варианты:

  • "RS256" ← (по умолчанию)
  • "RS384"
  • "RS512"
  • "PS256"
  • "PS384"
  • "PS512"
  • "RSA1_5"
  • "RSA-OAEP"
  • "RSA-OAEP-256"

certificate

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

Сертификат, подписанный с помощью закрытого ключа, как строка ASCII. Содержимое ключа должно соответствовать config.algorithm и provider_id.

Если вы хотите, чтобы Keycloak автоматически сгенерировал сертификат с помощью вашего закрытого ключа, установите это значение в пустую строку.

enabled

логическое

Включен ли ключ или отключен. Не путать с состоянием управляемого Ansible ресурса параметром state.

Варианты:

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

priority

целое число / обязательный

Приоритет ключа.

private_key

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

Закрытый ключ как строка ASCII. Содержимое ключа должно соответствовать config.algorithm и provider_id.

Обратите внимание, что модуль не может определить, отличается ли указанный закрытый ключ от закрытого ключа текущего состояния. Используйте force=true для принудительного обновления закрытого ключа, если вы ожидаете, что он будет обновлен.

connection_timeout

целое число

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

Управляет временем ожидания HTTP-соединений (в секундах) до API Keycloak.

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

force

логическое

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

Варианты:

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

http_agent

строка

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

Настраивает заголовок HTTP User-Agent.

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

name

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

Имя ключа домена для создания.

parent_id

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

parent_id ключа домена. На практике — имя домена.

END_OF_DOCUMENT_MARKER

provider_id

string

Имя «идентификатора поставщика» для ключа.

Значение rsa-enc было добавлено в community.general 8.2.0.

Варианты:

  • "rsa" ← (по умолчанию)
  • "rsa-enc"

state

string

Состояние ключа домена Keycloak.

При значении present, ключ домена будет создан (или обновлен, если он уже существует).

При значении absent, ключ домена будет удален, если он существует.

Варианты:

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

token

string

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

Токен аутентификации для API Keycloak.

validate_certs

boolean

Проверять сертификаты TLS (не отключайте это в рабочей среде).

Варианты:

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

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

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

diff_mode

Поддержка: частичная

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

Примечания

Примечание

  • Текущее значение закрытого ключа нельзя получить из Keycloak. Поэтому сравнение его желаемого состояния с текущим состоянием невозможно.
  • Если сертификат не указан явно, он будет динамически создан Keycloak. Поэтому сравнение текущего состояния сертификата с желаемым состоянием (которое может быть пустым) невозможно.
  • Из-за опций закрытого ключа и сертификата модуль не является полностью идемпотентным. Вы можете использовать force=true чтобы заставить модуль всегда обновляться, если вы знаете, что закрытый ключ мог измениться.

Примеры

- name: Manage Keycloak realm key (certificate autogenerated by Keycloak)
  community.general.keycloak_realm_key:
    name: custom
    state: present
    parent_id: master
    provider_id: rsa
    auth_keycloak_url: http://localhost:8080/auth
    auth_username: keycloak
    auth_password: keycloak
    auth_realm: master
    config:
      private_key: "{{ private_key }}"
      certificate: ""
      enabled: true
      active: true
      priority: 120
      algorithm: RS256
- name: Manage Keycloak realm key and certificate
  community.general.keycloak_realm_key:
    name: custom
    state: present
    parent_id: master
    provider_id: rsa
    auth_keycloak_url: http://localhost:8080/auth
    auth_username: keycloak
    auth_password: keycloak
    auth_realm: master
    config:
      private_key: "{{ private_key }}"
      certificate: "{{ certificate }}"
      enabled: true
      active: true
      priority: 120
      algorithm: RS256

Значения возврата

Общие значения возврата документированы здесь, следующие являются полями, уникальными для данного модуля:

Ключ

Описание

end_state

словарь

Представление ключа keycloak_realm_key после выполнения модуля.

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

config

словарь

Настройка ключа домена.

Возвращается: когда state=present

Пример: {"active": ["true"], "algorithm": ["RS256"], "enabled": ["true"], "priority": ["140"]}

id

строка

Идентификатор ключа домена.

Возвращается: когда state=present

Пример: "5b7ec13f-99da-46ad-8326-ab4c73cf4ce4"

name

строка

Имя ключа домена.

Возвращается: когда state=present

Пример: "mykey"

parentId

строка

Идентификатор домена, к которому принадлежит этот ключ.

Возвращается: когда state=present

Пример: "myrealm"

providerId

строка

Идентификатор поставщика ключей.

Возвращается: когда state=present

Пример: "rsa"

providerType

строка

Тип поставщика.

Возвращается: когда state=present

msg

строка

Сообщение о том, какое действие было выполнено.

Возвращается: всегда

Авторы

  • Samuli Seppänen (@mattock)

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

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

© 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/keycloak_realm_key_module.html

Spec-Zone.ru

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