Spec-Zone.ru › Ansible

Модуль community.general.keycloak_authz_permission — Разрешает администрирование разрешений авторизации клиентов Keycloak через API Keycloak

Примечание

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

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

Для установки используйте: ansible-galaxy collection install community.general.

Для использования в плейбуке укажите: community.general.keycloak_authz_permission.

Новое в community.general 7.2.0

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

Описание

  • Этот модуль позволяет администрировать разрешения авторизации клиентов Keycloak через REST API Keycloak. Разрешения авторизации доступны только если у клиента включена авторизация.
  • Существуют особенности в JSON-путях и payload для разрешений авторизации. В частности, операции POST и PUT направлены на точки доступа к разрешениям, а GET-запросы — на точки доступа к политикам. Для большей сложности JSON-ответы от GET-запросов возвращают данные в формате, отличном от ожидаемого для POST и PUT. В результате невозможно обнаружить изменения таких элементов, как политики, области действия или ресурсы — по крайней мере, без большого количества дополнительных API-вызовов. Поэтому этот модуль всегда обновляет разрешения авторизации вместо попытки определить, действительно ли изменения необходимы.
  • Этот модуль требует доступа к REST API через OpenID Connect; пользователь, подключающийся, и используемый домен должны иметь необходимые права доступа. В стандартной установке Keycloak admin-cli и администраторский пользователь будут работать, как и отдельное определение домена с настроенными необходимыми областями действия и пользователем с ожидаемыми ролями.
  • Имена параметров модуля — это snake_cased версии camelCase параметров, используемых Keycloak. Пути и payload служб авторизации официально не документированы проектом Keycloak. https://www.puppeteers.net/blog/keycloak-authorization-services-rest-api-paths-and-payload/

Параметры

Параметр

Комментарии

auth_client_id

string

OpenID Connect client_id для аутентификации в API.

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

auth_client_secret

string

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

auth_keycloak_url

aliases: url

string / required

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

auth_password

aliases: password

string

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

auth_realm

string

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

auth_username

aliases: username

string

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

client_id

string / required

Идентификатор клиента Keycloak, который должен иметь область авторизации.

Обычно это читаемое имя клиента Keycloak.

connection_timeout

integer

added in community.general 4.5.0

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

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

decision_strategy

string

Стратегия принятия решений для данного разрешения.

Варианты:

  • "UNANIMOUS" ← (по умолчанию)
  • "AFFIRMATIVE"
  • "CONSENSUS"

description

string

Описание разрешения на авторизацию.

http_agent

string

added in community.general 5.4.0

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

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

name

string / required

Имя разрешения на авторизацию для создания.

permission_type

string / required

Тип разрешения на авторизацию.

На scope создается разрешение на основе области.

На resource создается разрешение на основе ресурса.

Варианты:

  • "resource"
  • "scope"

policies

list / elements=string

Имена политик для добавления к этому разрешению.

По умолчанию: []

realm

string / required

Имя области Keycloak, в которой находится клиент Keycloak.

resources

list / elements=string

Имена ресурсов для добавления к этому разрешению.

Разрешения на основе области могут включать только один ресурс.

Разрешения на основе ресурсов могут включать несколько ресурсов.

По умолчанию: []

scopes

list / elements=string

Имена областей для добавления к этому разрешению.

Разрешения на основе ресурсов не могут иметь связанные с ними области.

По умолчанию: []

state

string

Состояние разрешения на авторизацию.

На present, разрешение на авторизацию будет создано (или обновлено, если оно уже существует).

На absent, разрешение на авторизацию будет удалено, если оно существует.

Варианты:

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

token

string

added in community.general 3.0.0

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

validate_certs

boolean

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

Варианты:

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

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

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

diff_mode

Поддержка: нет

В режиме сравнения возвращает информацию о внесенных изменениях (или, возможно, необходимых изменениях в check_mode).

Примеры

- name: Manage scope-based Keycloak authorization permission
  community.general.keycloak_authz_permission:
    name: ScopePermission
    state: present
    description: Scope permission
    permission_type: scope
    scopes:
      - file:delete
    policies:
      - Default Policy
    client_id: myclient
    realm: myrealm
    auth_keycloak_url: http://localhost:8080/auth
    auth_username: keycloak
    auth_password: keycloak
    auth_realm: master

- name: Manage resource-based Keycloak authorization permission
  community.general.keycloak_authz_permission:
    name: ResourcePermission
    state: present
    description: Resource permission
    permission_type: resource
    resources:
      - Default Resource
    policies:
      - Default Policy
    client_id: myclient
    realm: myrealm
    auth_keycloak_url: http://localhost:8080/auth
    auth_username: keycloak
    auth_password: keycloak
    auth_realm: master

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

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

Ключ

Описание

end_state

complex

Представление разрешения авторизации после выполнения модуля.

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

decisionStrategy

string

Стратегия принятия решений для использования.

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

Пример: "UNANIMOUS"

description

string

Описание разрешения авторизации.

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

Пример: "Resource Permission"

id

string

Идентификатор разрешения авторизации.

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

Пример: "9da05cd2-b273-4354-bbd8-0c133918a454"

logic

string

Логика, используемая для разрешения (часть полезной нагрузки, но имеет фиксированное значение).

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

Пример: "POSITIVE"

name

string

Имя разрешения авторизации.

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

Пример: "ResourcePermission"

policies

list / elements=string

Идентификаторы политик, прикреплённых к этому разрешению.

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

Пример: ["9da05cd2-b273-4354-bbd8-0c133918a454"]

resources

list / elements=string

Идентификаторы ресурсов, прикреплённых к этому разрешению.

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

Пример: ["49e052ff-100d-4b79-a9dd-52669ed3c11d"]

scopes

list / elements=string

Идентификаторы областей, прикреплённых к этому разрешению.

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

Пример: ["9da05cd2-b273-4354-bbd8-0c133918a454"]

type

string

Тип разрешения авторизации.

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

Пример: "resource"

msg

string

Сообщение об осуществлённом действии.

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

Авторы

  • 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_authz_permission_module.html

Spec-Zone.ru

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