community.general.keycloak_authz_permission_info 模块 – 查询 Keycloak 客户端授权许可信息

注意

此模块是 community.general 集合(版本 10.1.0)的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.general

要在 playbook 中使用它,请指定:community.general.keycloak_authz_permission_info

community.general 7.2.0 中的新增功能

概要

  • 此模块允许通过 Keycloak REST API 从资源端点查询有关 Keycloak 客户端授权许可的信息。只有在客户端启用了授权时,授权许可才可用。

  • 此模块需要通过 OpenID Connect 访问 REST API;连接的用户和正在使用的 realm 必须具有必要的访问权限。在默认的 Keycloak 安装中,admin-cli 和管理员用户可以工作,或者使用单独的 realm 定义,范围根据您的需要进行定制,并且用户具有预期的角色。

  • 模块选项的名称是 Keycloak 使用的 camelCase 选项的 snake_cased 版本。授权服务路径和有效负载尚未由 Keycloak 项目正式记录。https://www.puppeteers.net/blog/keycloak-authorization-services-rest-api-paths-and-payload/

参数

参数

注释

auth_client_id

字符串

用于使用 API 进行身份验证的 OpenID Connect client_id

默认值: "admin-cli"

auth_client_secret

字符串

auth_client_id (如果需要) 一起使用的客户端密钥。

auth_keycloak_url

别名:url

字符串 / 必需

Keycloak 实例的 URL。

auth_password

别名:password

字符串

用于 API 访问进行身份验证的密码。

auth_realm

字符串

用于 API 访问进行身份验证的 Keycloak realm 名称。

auth_username

别名:username

字符串

用于 API 访问进行身份验证的用户名。

client_id

字符串 / 必需

应具有授权范围的 keycloak 客户端的 clientId。

这通常是 Keycloak 客户端的人类可读名称。

connection_timeout

整数

在 community.general 4.5.0 中添加

控制到 Keycloak API 的 HTTP 连接超时时间段(以秒为单位)。

默认值: 10

http_agent

字符串

在 community.general 5.4.0 中添加

配置 HTTP User-Agent 标头。

默认值: "Ansible"

name

字符串 / 必需

要创建的授权许可的名称。

realm

字符串 / 必需

Keycloak 客户端所在的 Keycloak realm 的名称。

token

字符串

在 community.general 3.0.0 中添加

Keycloak API 的身份验证令牌。

validate_certs

布尔值

验证 TLS 证书(请勿在生产环境中禁用此功能)。

选项

  • false

  • true ← (默认)

属性

属性

支持

描述

check_mode

支持:完全

此操作不会修改状态。

可以在 check_mode 中运行,并返回已更改状态预测,而无需修改目标。

diff_mode

支持: 不适用

此操作不会修改状态。

当处于差异模式时,将返回已更改的内容(或在 check_mode 中可能需要更改的内容)的详细信息。

示例

- name: Query Keycloak authorization permission
  community.general.keycloak_authz_permission_info:
    name: ScopePermission
    client_id: myclient
    realm: myrealm
    auth_keycloak_url: https://127.0.0.1:8080/auth
    auth_username: keycloak
    auth_password: keycloak
    auth_realm: master

返回值

常见的返回值记录在这里,以下是此模块特有的字段

描述

msg

字符串

关于采取了什么操作的消息。

返回: 总是

queried_state

复杂

Keycloak 看到的资源(策略)的状态。

返回: 成功时

config

字典

权限的配置(在所有观察到的情况下都为空)。

返回: 成功

示例: {}

decisionStrategy

字符串

决策策略。

返回: 成功

示例: "UNANIMOUS"

description

字符串

授权权限的描述。

返回: 成功

示例: "资源权限"

id

字符串

授权权限的 ID。

返回: 成功

示例: "9da05cd2-b273-4354-bbd8-0c133918a454"

logic

字符串

用于权限的逻辑(有效负载的一部分,但具有固定值)。

返回: 成功

示例: "POSITIVE"

name

字符串

授权权限的名称。

返回: 成功

示例: "ResourcePermission"

type

字符串

授权权限的类型。

返回: 成功

示例: "resource"

作者

  • Samuli Seppänen (@mattock)