Spec-Zone.ru › Ansible

Модуль community.general.keycloak_authz_permission — позволяет администрировать разрешения авторизации клиентов Keycloak с помощью API Keycloak

Примечание

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

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

Параметры

Параметр

Комментарии

auth_client_id

string

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

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

auth_client_secret

string

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

auth_keycloak_url

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

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

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

auth_password

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

string

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

auth_realm

string

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

auth_username

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

string

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

client_id

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

clientId клиента Keycloak, для которого должна быть задана область авторизации.

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

connection_timeout

integer

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

Задаёт время ожидания HTTP-соединения с API Keycloak (в секундах).

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

decision_strategy

string

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

Варианты:

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

description

string

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

http_agent

string

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

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

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

name

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

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

permission_type

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

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

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

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

Варианты:

  • "resource"
  • "scope"

policies

list / элементы=string

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

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

realm

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

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

refresh_token

string

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

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

resources

list / элементы=string

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

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

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

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

scopes

list / элементы=string

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

К разрешениям на основе ресурсов нельзя прикрепить области действия.

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

state

string

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

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

При absent разрешение авторизации удаляется, если оно существует.

Варианты:

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

token

string

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

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

validate_certs

boolean

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

Варианты:

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

Атрибуты

Атрибут

Поддержка

Описание

action_group

Группа действий: community.general.keycloak

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

Используйте group/community.general.keycloak в module_defaults, чтобы задать значения по умолчанию для этого модуля.

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

dictionary

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

Возвращается: при успешном выполнении

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 / элементы=string

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

Возвращается: при state=present

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

resources

list / элементы=string

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

Возвращается: при state=present

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

scopes

list / элементы=string

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

Возвращается: при state=present

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

type

string

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

Возвращается: при state=present

Пример: "resource"

msg

string

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

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

Авторы

  • Samuli Seppänen (@mattock)

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

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

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

Spec-Zone.ru

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