Модуль community.general.keycloak_userprofile – Позволяет управлять профилями пользователей Keycloak
Примечание
Этот модуль является частью коллекции community.general (версия 9.5.0).
У вас, возможно, уже установлена эта коллекция, если вы используете пакет 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_cased версии camelCase параметров, найденных в API Keycloak и его документации по адресу https://www.keycloak.org/docs-api/24.0.5/rest-api/index.html. По соображениям совместимости модуль также принимает camelCase версии параметров.
Параметры
Параметр | Комментарии |
|---|---|
auth_client_id строка | Используемый для аутентификации в API OpenID Connect По умолчанию: |
auth_client_secret строка | Секретный ключ клиента для использования совместно с |
auth_keycloak_url псевдонимы: url строка / обязательный | URL-адрес экземпляра Keycloak. |
auth_password псевдонимы: пароль строка | Пароль для аутентификации с доступом к API. |
auth_realm строка | Имя домена Keycloak для аутентификации с доступом к API. |
auth_username псевдонимы: имя пользователя строка | Имя пользователя для аутентификации с доступом к API. |
config словарь | Настройка поставщика профилей пользователей. |
|
kc_user_profile_config псевдонимы: kcUserProfileConfig список / элементы=словарь |
Определение декларативного профиля пользователя. Более подробную информацию см. в примерах. |
|
attributes список / элементы=словарь |
Список атрибутов, которые необходимо включить в профиль пользователя. |
|
annotations словарь |
Аннотации для атрибута. |
|
display_name псевдонимы: displayName строка / обязательный |
Имя атрибута для отображения. |
|
group строка |
Указывает группу профиля пользователя, в которую будет добавлен этот атрибут. |
|
multivalued логическое значение |
Указывает, может ли атрибут иметь несколько значений. Варианты:
|
|
name строка / обязательный |
Имя атрибута. |
|
permissions словарь |
Разрешения на просмотр и редактирование атрибута. |
|
edit список / элементы=строка |
Роли, которые могут редактировать атрибут. Доступные значения По умолчанию: |
|
view список / элементы=строка |
Роли, которые могут просматривать атрибут. Доступные значения По умолчанию: |
|
required словарь |
Роли, которые требуют этот атрибут. |
|
roles list / elements=string |
Роли, для которых этот атрибут является обязательным. Поддерживаемые значения: Default: |
|
validations dictionary |
Проверки, которые необходимо применить к атрибуту. |
|
dictionary |
Проверка email для атрибута. |
|
length dictionary |
Проверка длины для атрибута. |
|
max integer / required |
Максимальная длина атрибута. |
|
min integer |
Минимальная длина атрибута. |
|
options dictionary |
Проверка на соответствие атрибута одному из предоставленных вариантов. |
|
pattern dictionary |
Проверка соответствия шаблону для атрибута с использованием регулярных выражений. |
|
person_name_prohibited_characters aliases: personNameProhibitedCharacters dictionary |
Проверка на запрещенные символы для атрибутов имени человека. |
|
up_username_not_idn_homograph aliases: upUsernameNotIdnHomograph dictionary |
Проверка для предотвращения атак IDN-гомографами в именах пользователей. |
|
uri dictionary |
Проверка URI для атрибута. |
|
username_prohibited_characters aliases: usernameProhibitedCharacters dictionary |
Проверка на запрещенные символы для атрибута имени пользователя. |
|
groups list / elements=dictionary |
Список групп атрибутов, которые должны быть включены в профиль пользователя. |
|
annotations dictionary |
Аннотации, включенные в группу. |
|
display_description aliases: displayDescription string |
Отображаемое описание для группы. |
|
display_header aliases: displayHeader string / required |
Заголовок для отображения группы. |
|
name string / required |
Имя группы. |
|
unmanaged_attribute_policy aliases: unmanagedAttributePolicy строка |
Политика для неуправляемых атрибутов. Варианты:
|
connection_timeout целое число добавлено в community.general 4.5.0 | Управляет временем ожидания HTTP-соединений (в секундах) к API Keycloak. По умолчанию: |
http_agent строка добавлено в community.general 5.4.0 | Настраивает заголовок HTTP User-Agent. По умолчанию: |
parent_id aliases: parentId, realm строка / обязательно | Идентификатор родительского домена ключа. На практике - ID (название) домена. |
provider_id aliases: providerId строка | Имя идентификатора поставщика для ключа (поддерживается значение Варианты:
|
provider_type aliases: providerType строка | Тип компонента для профиля пользователя (поддерживается только значение Варианты:
|
state строка | Состояние поставщика профиля пользователя. В В Варианты:
|
token строка добавлено в community.general 3.0.0 | Токен аутентификации для API Keycloak. |
validate_certs логическое значение | Проверять сертификаты TLS (не отключайте это в рабочей среде). Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в режиме |
diff_mode | Поддержка: полная | Вернёт подробности о том, что изменилось (или, возможно, требует изменения в |
Примечания
Примечание
- В настоящее время поддерживается только одна запись
declarative-user-profileдляprovider_id(дизайн 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
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
Значения возврата
Общие значения возврата документированы здесь, следующие являются полями, уникальными для этого модуля:
Ключ | Описание |
|---|---|
данные словарь | Данные, возвращённые API Keycloak. Возвращается: когда присутствует состояние Пример: |
сообщ строка | Сообщение вывода, сгенерированное модулем. Возвращается: всегда Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/keycloak_userprofile_module.html