community.general.keycloak_authz_authorization_scope 模块 – 通过 Keycloak API 管理 Keycloak 客户端授权范围

注意

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

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

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

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

community.general 6.6.0 中的新增功能

摘要

  • 此模块允许通过 Keycloak REST API 管理 Keycloak 客户端授权范围。只有在客户端启用授权的情况下,授权范围才可用。

  • 此模块需要通过 OpenID Connect 访问 REST API;连接的用户和正在使用的 Realm 必须具有必要的访问权限。在默认的 Keycloak 安装中,admin-cli 和 admin 用户都可以工作,单独的 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

display_name

字符串

授权范围的显示名称。

http_agent

字符串

community.general 5.4.0 中新增

配置 HTTP User-Agent 头。

默认值: "Ansible"

icon_uri

字符串

授权范围的图标 URI。

name

字符串 / 必需

要创建的授权范围的名称。

realm

字符串 / 必需

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

state

字符串

授权范围的状态。

present 状态下,将创建授权范围(如果已存在则更新)。

absent 状态下,如果授权范围存在,则将其删除。

选项

  • "present" ← (默认)

  • "absent"

token

字符串

community.general 3.0.0 中新增

Keycloak API 的身份验证令牌。

validate_certs

布尔值

验证 TLS 证书(不要在生产环境中禁用此选项)。

选项

  • false

  • true ← (默认)

属性

属性

支持

描述

check_mode

支持:完全支持

可以在 check_mode 下运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持:完全支持

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

示例

- name: Manage Keycloak file:delete authorization scope
  keycloak_authz_authorization_scope:
    name: file:delete
    state: present
    display_name: File delete
    client_id: myclient
    realm: myrealm
    auth_keycloak_url: https://127.0.0.1:8080/auth
    auth_username: keycloak
    auth_password: keycloak
    auth_realm: master

返回值

常见的返回值已在此处记录,以下是此模块独有的字段

描述

end_state

复杂类型

模块执行后授权范围的表示。

返回:成功时

display_name

字符串

授权范围的显示名称。

返回:state=present

示例: "File delete"

icon_uri

字符串

授权范围的图标 URI。

返回:state=present

示例: "https://127.0.0.1/icon.png"

id

字符串

授权范围的ID。

返回:state=present

示例: "a6ab1cf2-1001-40ec-9f39-48f23b6a0a41"

name

字符串

授权范围的名称。

返回:state=present

示例: "file:delete"

msg

字符串

执行操作的消息。

返回:始终

作者

  • Samuli Seppänen (@mattock)