community.general.keycloak_user 模块 – 在 Keycloak 中创建和配置用户

注意

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

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

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

要在剧本中使用它,请指定:community.general.keycloak_user

community.general 7.1.0 中的新增功能

概要

  • 此模块创建、删除或更新 Keycloak 用户。

参数

参数

注释

访问

字典

列出用户访问权限。

属性

列表 / 元素=字典

用户属性列表。

名称

字符串

属性的名称。

状态

字符串

控制属性是否必须存在。

选择

  • "present" ←(默认)

  • "absent"

列表 / 元素=字符串

属性的值列表。

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 领域名称。

auth_username

字符串

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

client_consents

别名:clientConsents

列表 / 元素=字典

客户端身份验证器类型。

默认: []

client_id

别名:clientId

字符串 / 必需

客户端角色的客户端 ID。不是客户端的技术 ID。

roles

列表 / 元素=字符串 / 必需

要分配给用户的客户端角色列表。

connection_timeout

整数

在 community.general 4.5.0 中添加

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

默认: 10

凭据

列表 / 元素=字典

用户凭据。

默认: []

temporary

布尔值

如果 true,则要求用户在下次登录时重置其凭据。

选择

  • false ←(默认)

  • true

类型

字符串 / 必需

凭据类型。

字符串 / 必需

凭据的值。

disableable_credential_types

别名:disableableCredentialTypes

列表 / 元素=字符串

列出用户凭据类型。

默认: []

电子邮件

字符串

用户电子邮件。

email_verified

别名:emailVerified

布尔值

检查用户电子邮件的有效性。

选择

  • false ←(默认)

  • true

enabled

布尔值

启用用户。

选择

  • false

  • true

federated_identities

别名:federatedIdentities

列表 / 元素=字符串

用户 IDP 列表。

默认: []

别名:federationLink

字符串

联合链接。

first_name

别名:firstName

字符串

用户的名字。

force

布尔值

如果 true,则允许删除用户并重新创建它。

选择

  • false ←(默认)

  • true

群组

列表 / 元素=字典

用户的群组列表。

默认: []

名称

字符串

群组的名称。

状态

字符串

控制用户是否必须是此群组的成员。

选择

  • "present" ←(默认)

  • "absent"

http_agent

字符串

在 community.general 5.4.0 中添加

配置 HTTP User-Agent 标头。

默认: "Ansible"

id

字符串

如果已知,则用户在 Keycloak 服务器上的 ID。

last_name

别名:lastName

字符串

用户的姓氏。

origin

字符串

用户来源。

领域

字符串

客户端所在的领域的名称。

默认: "master"

required_actions

别名:requiredActions

列表 / 元素=字符串

用户身份验证所需的操作。

默认: []

self

字符串

用户自助管理。

service_account_client_id

别名:serviceAccountClientId

字符串

客户端应用程序的描述。

状态

字符串

控制用户是否存在。

选择

  • "present" ←(默认)

  • "absent"

token

字符串

在 community.general 3.0.0 中添加

Keycloak API 的身份验证令牌。

username

字符串 / 必需

用户的用户名。

validate_certs

布尔值

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

选择

  • false

  • true ← (默认)

属性

属性

支持

描述

check_mode

支持: 完整

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

diff_mode

支持: 完整

在 diff 模式下,将返回已更改(或可能需要在 check_mode 模式下更改)的详细信息。

注释

注意

  • 该模块不会修改现有用户的用户 ID。

示例

- name: Create a user user1
  community.general.keycloak_user:
    auth_keycloak_url: https://127.0.0.1:8080/auth
    auth_username: admin
    auth_password: password
    realm: master
    username: user1
    firstName: user1
    lastName: user1
    email: user1
    enabled: true
    emailVerified: false
    credentials:
        - type: password
          value: password
          temporary: false
    attributes:
        - name: attr1
          values:
            - value1
          state: present
        - name: attr2
          values:
            - value2
          state: absent
    groups:
        - name: group1
          state: present
    state: present

- name: Re-create a User
  community.general.keycloak_user:
    auth_keycloak_url: https://127.0.0.1:8080/auth
    auth_username: admin
    auth_password: password
    realm: master
    username: user1
    firstName: user1
    lastName: user1
    email: user1
    enabled: true
    emailVerified: false
    credentials:
        - type: password
          value: password
          temporary: false
    attributes:
        - name: attr1
          values:
            - value1
          state: present
        - name: attr2
          values:
            - value2
          state: absent
    groups:
        - name: group1
          state: present
    state: present

- name: Re-create a User
  community.general.keycloak_user:
    auth_keycloak_url: https://127.0.0.1:8080/auth
    auth_username: admin
    auth_password: password
    realm: master
    username: user1
    firstName: user1
    lastName: user1
    email: user1
    enabled: true
    emailVerified: false
    credentials:
        - type: password
          value: password
          temporary: false
    attributes:
        - name: attr1
          values:
            - value1
          state: present
        - name: attr2
          values:
            - value2
          state: absent
    groups:
        - name: group1
          state: present
    state: present
    force: true

- name: Remove User
  community.general.keycloak_user:
    auth_keycloak_url: https://127.0.0.1:8080/auth
    auth_username: admin
    auth_password: password
    realm: master
    username: user1
    state: absent

返回值

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

描述

changed

布尔值

如果操作更改了 Keycloak 服务器上的用户,则返回 true,否则返回 false

返回: 总是

end_state

字典

模块执行后用户的表示形式

返回: 成功时

existing

字典

现有用户的表示形式。

返回: 成功时

msg

字符串

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

返回: 总是

示例: "用户 f18c709c-03d6-11ee-970b-c74bf2721112 已创建"

proposed

字典

拟议用户的表示形式。

返回: 成功时

作者

  • Philippe Gauthier (@elfelip)