community.general.keycloak_userprofile 模块 – 允许管理 Keycloak 用户配置文件
注意
此模块是 community.general 集合(版本 10.1.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.general
。
要在 playbook 中使用它,请指定:community.general.keycloak_userprofile
。
community.general 9.4.0 中的新增功能
概要
此模块允许您通过 Keycloak API 创建、更新或删除 Keycloak 用户配置文件。您还可以使用它自定义“未托管的属性”。
模块选项的名称是 Keycloak API 及其文档中找到的 camelCase 版本的 snake_cased 版本,网址为 https://keycloak.java.net.cn/docs-api/24.0.5/rest-api/index.html。出于兼容性原因,该模块也接受选项的 camelCase 版本。
参数
参数 |
注释 |
---|---|
用于向 API 进行身份验证的 OpenID Connect 默认: |
|
与 |
|
Keycloak 实例的 URL。 |
|
用于 API 访问身份验证的密码。 |
|
用于 API 访问身份验证的 Keycloak 领域名称。 |
|
用于 API 访问身份验证的用户名。 |
|
用户配置文件提供程序的配置。 |
|
定义声明式用户配置文件。有关更多上下文,请参见示例。 |
|
要包含在用户配置文件中的属性列表。 |
|
属性的注释。 |
|
属性的显示名称。 |
|
指定将添加此属性的用户配置文件组。 |
|
属性是否可以具有多个值。 选项
|
|
属性的名称。 |
|
用于查看和编辑属性的权限。 |
|
可以编辑属性的角色。 支持的值为 默认: |
|
可以查看属性的角色。 支持的值为 默认: |
|
需要此属性的角色。 |
|
需要此属性的角色。 支持的值为 默认: |
|
要应用于属性的验证。 |
|
属性的电子邮件验证。 |
|
属性的长度验证。 |
|
属性的最大长度。 |
|
属性的最小长度。 |
|
验证以确保属性与提供的选项之一匹配。 |
|
使用正则表达式对属性进行的模式验证。 |
|
针对人名属性的禁用字符验证。 |
|
用于防止用户名中出现 IDN 同形字攻击的验证。 |
|
针对属性的 URI 验证。 |
|
针对用户名属性的禁用字符验证。 |
|
要包含在用户配置中的属性组列表。 |
|
包含在组中的注解。 |
|
组的显示描述。 |
|
组的显示标题。 |
|
组的名称。 |
|
针对非托管属性的策略。 选项
|
|
控制与 Keycloak API 的 HTTP 连接超时时间(以秒为单位)。 默认值: |
|
配置 HTTP User-Agent 标头。 默认值: |
|
领域密钥的父 ID。 实际上是领域的 ID(名称)。 |
|
密钥的提供程序 ID 的名称(支持的值为 选项
|
|
用户配置的组件类型(唯一支持的值是 选项
|
|
用户配置提供程序的状态。 当为 当为 选项
|
|
Keycloak API 的身份验证令牌。 |
|
验证 TLS 证书(请勿在生产环境中禁用此项)。 选项
|
属性
属性 |
支持 |
描述 |
---|---|---|
支持: 完全 |
可以在 |
|
支持: 完全 |
在差异模式下,将返回有关已更改的内容(或可能需要在 |
说明
注意
目前,对于
provider_id
,仅支持单个declarative-user-profile
条目(Keyckoak API 的设计)。 但是,可以有多个config.kc_user_profile_config[].attributes[]
条目。
示例
- name: Create a Declarative User Profile with default settings
community.general.keycloak_userprofile:
state: present
parent_id: master
config:
kc_user_profile_config:
- attributes:
- name: username
displayName: ${username}
validations:
length:
min: 3
max: 255
username_prohibited_characters: {}
up_username_not_idn_homograph: {}
annotations: {}
permissions:
view:
- admin
- user
edit: []
multivalued: false
- name: email
displayName: ${email}
validations:
email: {}
length:
max: 255
annotations: {}
required:
roles:
- user
permissions:
view:
- admin
- user
edit: []
multivalued: false
- name: firstName
displayName: ${firstName}
validations:
length:
max: 255
person_name_prohibited_characters: {}
annotations: {}
required:
roles:
- user
permissions:
view:
- admin
- user
edit: []
multivalued: false
- name: lastName
displayName: ${lastName}
validations:
length:
max: 255
person_name_prohibited_characters: {}
annotations: {}
required:
roles:
- user
permissions:
view:
- admin
- user
edit: []
multivalued: false
groups:
- name: user-metadata
displayHeader: User metadata
displayDescription: Attributes, which refer to user metadata
annotations: {}
- name: Delete a Keycloak User Profile Provider
keycloak_userprofile:
state: absent
parent_id: master
# Unmanaged attributes are user attributes not explicitly defined in the User Profile
# configuration. By default, unmanaged attributes are "Disabled" and are not
# available from any context such as registration, account, and the
# administration console. By setting "Enabled", unmanaged attributes are fully
# recognized by the server and accessible through all contexts, useful if you are
# starting migrating an existing realm to the declarative User Profile
# and you don't have yet all user attributes defined in the User Profile configuration.
- name: Enable Unmanaged Attributes
community.general.keycloak_userprofile:
state: present
parent_id: master
config:
kc_user_profile_config:
- unmanagedAttributePolicy: ENABLED
# By setting "Only administrators can write", unmanaged attributes can be managed
# only through the administration console and API, useful if you have already
# defined any custom attribute that can be managed by users but you are unsure
# about adding other attributes that should only be managed by administrators.
- name: Enable ADMIN_EDIT on Unmanaged Attributes
community.general.keycloak_userprofile:
state: present
parent_id: master
config:
kc_user_profile_config:
- unmanagedAttributePolicy: ADMIN_EDIT
# By setting `Only administrators can view`, unmanaged attributes are read-only
# and only available through the administration console and API.
- name: Enable ADMIN_VIEW on Unmanaged Attributes
community.general.keycloak_userprofile:
state: present
parent_id: master
config:
kc_user_profile_config:
- unmanagedAttributePolicy: ADMIN_VIEW
返回值
通用返回值在此处记录 此处,以下是此模块特有的字段
键 |
描述 |
---|---|
Keycloak API 返回的数据。 返回: 当状态为 present 时 示例: |
|
模块生成的输出消息。 返回: 始终 示例: |