Модуль community.general.keycloak_userprofile — позволяет управлять профилями пользователей Keycloak
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.general.
Чтобы использовать её в плейбуке, укажите: community.general.keycloak_userprofile.
Добавлено в community.general 9.4.0
Краткое описание
- Этот модуль позволяет создавать, обновлять и удалять профили пользователей Keycloak с помощью API Keycloak. С его помощью также можно настраивать «Неуправляемые атрибуты».
- Названия параметров модуля представляют собой версии в snake_case названий в camelCase, используемых в API Keycloak и его документации по адресу https://www.keycloak.org/docs-api/24.0.5/rest-api/index.html. Для обеспечения совместимости модуль также принимает варианты параметров в camelCase.
Параметры
Параметр | Комментарии |
|---|---|
auth_client_id string | Клиент OpenID Connect По умолчанию: |
auth_client_secret string | Секрет клиента, используемый вместе с |
auth_keycloak_url псевдонимы: url string / обязательный | URL экземпляра Keycloak. |
auth_password псевдонимы: password string | Пароль для аутентификации при доступе к API. |
auth_realm string | Имя области Keycloak для аутентификации при доступе к API. |
auth_username псевдонимы: username string | Имя пользователя для аутентификации при доступе к API. |
config dictionary | Конфигурация поставщика профиля пользователя. |
|
kc_user_profile_config псевдонимы: kcUserProfileConfig list / элементы=dictionary |
Задаёт декларативный профиль пользователя. Дополнительные сведения см. в разделе EXAMPLES. |
|
attributes list / элементы=dictionary |
Список атрибутов, включаемых в профиль пользователя. |
|
annotations dictionary |
Аннотации атрибута. |
|
display_name псевдонимы: displayName string / обязательный |
Отображаемое имя атрибута. |
|
group string |
Указывает группу профиля пользователя, в которую добавляется этот атрибут. |
|
multivalued boolean |
Может ли атрибут иметь несколько значений. Варианты:
|
|
name string / обязательный |
Имя атрибута. |
|
permissions dictionary |
Разрешения на просмотр и редактирование атрибута. |
|
edit list / элементы=string |
Роли, которым разрешено редактировать атрибут. Поддерживаемые значения: По умолчанию: |
|
view list / элементы=string |
Роли, которым разрешено просматривать атрибут. Поддерживаемые значения: По умолчанию: |
|
required dictionary |
Роли, для которых этот атрибут является обязательным. |
|
roles list / элементы=string |
Роли, для которых этот атрибут обязателен. Поддерживаемые значения: По умолчанию: |
|
selector dictionary добавлено в community.general 12.2.0 |
Селектор, определяющий, когда следует добавить атрибут. |
|
scopes list / элементы=string |
Области, в которые следует добавить атрибут. |
|
validations dictionary |
Проверки, применяемые к атрибуту. |
|
double dictionary добавлено в community.general 12.2.0 |
Проверка значения типа double для атрибута. |
|
dictionary |
Проверка адреса электронной почты для атрибута. |
|
integer dictionary добавлено в community.general 12.2.0 |
Проверка целого числа для атрибута. |
|
iso_date псевдонимы: isoDate dictionary добавлено в community.general 12.2.0 |
Проверка даты в формате ISO для атрибута. |
|
length dictionary |
Проверка длины атрибута. |
|
max integer / обязательный |
Максимальная длина атрибута. |
|
min integer |
Минимальная длина атрибута. |
|
local_date псевдонимы: localDate dictionary добавлено в community.general 12.2.0 |
Проверка локальной даты для атрибута. |
|
multivalued dictionary добавлено в community.general 12.2.0 |
Проверка множественных значений атрибута. |
|
max integer / обязательный |
Максимальное количество значений атрибута. |
|
min integer |
Минимальное количество значений атрибута. |
|
options dictionary |
Проверка, гарантирующая, что атрибут соответствует одному из указанных вариантов. |
|
pattern dictionary |
Проверка соответствия атрибута шаблону с использованием регулярных выражений. |
|
person_name_prohibited_characters псевдонимы: personNameProhibitedCharacters dictionary |
Проверка запрещённых символов в атрибутах имени человека. |
|
up_username_not_idn_homograph псевдонимы: upUsernameNotIdnHomograph dictionary |
Проверка для предотвращения гомографических атак IDN в именах пользователей. |
|
uri dictionary |
Проверка URI для атрибута. |
|
username_prohibited_characters псевдонимы: usernameProhibitedCharacters dictionary |
Проверка запрещённых символов в атрибуте имени пользователя. |
|
groups list / элементы=dictionary |
Список групп атрибутов, включаемых в профиль пользователя. |
|
annotations dictionary |
Аннотации, включённые в группу. |
|
display_description псевдонимы: displayDescription string |
Отображаемое описание группы. |
|
display_header псевдонимы: displayHeader string / обязательный |
Отображаемый заголовок группы. |
|
name string / обязательный |
Имя группы. |
|
unmanaged_attribute_policy псевдонимы: unmanagedAttributePolicy string |
Политика для неуправляемых атрибутов. Варианты:
|
connection_timeout integer добавлено в community.general 4.5.0 | Задаёт время ожидания HTTP-подключения к API Keycloak (в секундах). По умолчанию: |
http_agent string добавлено в community.general 5.4.0 | Настраивает HTTP-заголовок User-Agent. По умолчанию: |
parent_id псевдонимы: parentId, realm строка / обязательный | Идентификатор родительского ключа realm. На практике — идентификатор (имя) realm. |
provider_id псевдонимы: providerId строка | Имя идентификатора провайдера для ключа (поддерживаемое значение — Варианты:
|
provider_type псевдонимы: providerType строка | Тип компонента для User Profile (поддерживается только значение Варианты:
|
refresh_token строка добавлено в community.general 10.3.0 | Токен обновления аутентификации для API Keycloak. |
state строка | Состояние провайдера User Profile. При При Варианты:
|
token строка добавлено в community.general 3.0.0 | Токен аутентификации для API Keycloak. |
validate_certs логический | Проверять сертификаты TLS (не отключайте эту проверку в рабочей среде). Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
action_group | Группа действий: community.general.keycloak добавлено в community.general 10.2.0 | Используйте |
check_mode | Поддержка: полная | Может работать в режиме |
diff_mode | Поддержка: полная | В режиме diff возвращает сведения об изменениях (или о возможных изменениях в |
Примечания
Примечание
- В настоящее время для
provider_idподдерживается только одна записьdeclarative-user-profile(ограничение API Keycloak). Однако записей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
- name: testAttribute
displayName: ${testAttribute}
validations:
integer:
min: 0
max: 255
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
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
data словарь | Данные, возвращаемые API Keycloak. Возвращается: если состояние — present |
msg строка | Выходное сообщение, сформированное модулем. Возвращается: всегда Пример: |
Ссылки коллекции
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/keycloak_userprofile_module.html