community.general.keycloak_clientsecret_regenerate 模块 – 通过 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_clientsecret_regenerate
。
community.general 6.1.0 中的新增功能
概要
此模块允许您通过 Keycloak REST API 重新生成 Keycloak 客户端密钥。它需要通过 OpenID Connect 访问 REST API;连接的用户和使用的客户端必须具有必要的访问权限。在默认的 Keycloak 安装中,admin-cli 和 admin 用户都可以工作,单独的客户端定义(范围根据您的需要进行调整)和具有预期角色的用户也可以工作。
重新生成客户端密钥时,如果可能,请将客户端的 ID(而不是 client_id)提供给模块。这将消除将 client_id 转换为客户端 ID 的 API 查询。
请注意,此模块返回客户端密钥。为避免此密钥显示在日志中,请在任务中添加
no_log: true
。
参数
参数 |
注释 |
---|---|
用于向 API 进行身份验证的 OpenID Connect 默认值: |
|
与 |
|
Keycloak 实例的 URL。 |
|
用于 API 访问身份验证的密码。 |
|
用于 API 访问身份验证的 Keycloak realm 名称。 |
|
用于 API 访问身份验证的用户名。 |
|
客户端的 client_id。传递此参数而不是 id 会导致额外的 API 调用。 |
|
控制对 Keycloak API 的 HTTP 连接超时时间(以秒为单位)。 默认值: |
|
配置 HTTP User-Agent 标头。 默认值: |
|
此客户端的唯一标识符。 此参数对于获取或生成客户端密钥不是必需的,但提供它将减少所需的 API 调用次数。 |
|
此客户端所在的 Keycloak realm。 默认值: |
|
Keycloak API 的身份验证令牌。 |
|
验证 TLS 证书(不要在生产环境中禁用此选项)。 选项
|
属性
属性 |
支持 |
描述 |
---|---|---|
支持:完全支持 |
可以在 |
|
支持:不支持 |
在差异模式下,将返回有关已更改内容(或可能需要在 |
示例
- name: Regenerate a Keycloak client secret, authentication with credentials
community.general.keycloak_clientsecret_regenerate:
id: '9d59aa76-2755-48c6-b1af-beb70a82c3cd'
realm: MyCustomRealm
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
auth_realm: master
auth_username: USERNAME
auth_password: PASSWORD
delegate_to: localhost
no_log: true
- name: Regenerate a Keycloak client secret, authentication with token
community.general.keycloak_clientsecret_regenerate:
id: '9d59aa76-2755-48c6-b1af-beb70a82c3cd'
realm: MyCustomRealm
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
token: TOKEN
delegate_to: localhost
no_log: true
- name: Regenerate a Keycloak client secret, passing client_id instead of id
community.general.keycloak_clientsecret_info:
client_id: 'myClientId'
realm: MyCustomRealm
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
token: TOKEN
delegate_to: localhost
no_log: true
返回值
常见的返回值已在此处记录,以下是此模块特有的字段
键 |
描述 |
---|---|
模块执行后客户端凭据的表示 返回:成功时 |
|
凭据类型。 返回:始终返回 示例: |
|
客户端密钥。 返回:始终返回 示例: |
|
关于采取了什么操作的消息。 返回:始终返回 |