Модуль 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. По умолчанию: |
auth_client_secret строка | Секретный ключ клиента, используемый совместно с |
auth_keycloak_url псевдонимы: url строка / обязательный | URL-адрес экземпляра Keycloak. |
auth_password псевдонимы: password строка | Пароль для аутентификации с доступом к API. |
auth_realm строка | Имя домена Keycloak для аутентификации с доступом к API. |
auth_username псевдонимы: username строка | Имя пользователя для аутентификации с доступом к API. |
config словарь | Словарь, определяющий ключ и его свойства. |
|
active логическое |
Активен ли ключ или неактивен. Не путать с состоянием управляемого Ansible ресурса параметром Варианты:
|
|
algorithm строка |
Алгоритм ключа. Значения Варианты:
|
|
certificate строка / обязательный |
Сертификат, подписанный с помощью закрытого ключа, как строка ASCII. Содержимое ключа должно соответствовать Если вы хотите, чтобы Keycloak автоматически сгенерировал сертификат с помощью вашего закрытого ключа, установите это значение в пустую строку. |
|
enabled логическое |
Включен ли ключ или отключен. Не путать с состоянием управляемого Ansible ресурса параметром Варианты:
|
|
priority целое число / обязательный |
Приоритет ключа. |
|
private_key строка / обязательный |
Закрытый ключ как строка ASCII. Содержимое ключа должно соответствовать Обратите внимание, что модуль не может определить, отличается ли указанный закрытый ключ от закрытого ключа текущего состояния. Используйте |
connection_timeout целое число добавлен в community.general 4.5.0 | Управляет временем ожидания HTTP-соединений (в секундах) до API Keycloak. По умолчанию: |
force логическое | Принудительно устанавливает состояние закрытого ключа и сертификата. Это не происходит автоматически, так как этот модуль не может определить текущее состояние закрытого ключа и, следовательно, не может инициировать обновление на основе фактического расхождения. Тем не менее, обновление закрытого ключа может произойти даже если force равен false в качестве побочного эффекта других изменений. Варианты:
|
http_agent строка добавлен в community.general 5.4.0 | Настраивает заголовок HTTP User-Agent. По умолчанию: |
name строка / обязательный | Имя ключа домена для создания. |
parent_id строка / обязательный | parent_id ключа домена. На практике — имя домена. |
provider_id string | Имя «идентификатора поставщика» для ключа. Значение Варианты:
|
state string | Состояние ключа домена Keycloak. При значении При значении Варианты:
|
token string добавлено в community.general 3.0.0 | Токен аутентификации для API Keycloak. |
validate_certs boolean | Проверять сертификаты TLS (не отключайте это в рабочей среде). Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в режиме |
diff_mode | Поддержка: частичная | Возвратит подробности о том, что изменилось (или, возможно, необходимо изменить в |
Примечания
Примечание
- Текущее значение закрытого ключа нельзя получить из 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 словарь |
Настройка ключа домена. Возвращается: когда Пример: |
|
id строка |
Идентификатор ключа домена. Возвращается: когда Пример: |
|
name строка | |
|
parentId строка |
Идентификатор домена, к которому принадлежит этот ключ. Возвращается: когда Пример: |
|
providerId строка | |
|
providerType строка |
Тип поставщика. Возвращается: когда |
msg строка | Сообщение о том, какое действие было выполнено. Возвращается: всегда |
Ссылки на коллекции
© 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