Spec-Zone.ru › Ansible

Модуль 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 client_id для аутентификации в API.

По умолчанию: "admin-cli"

auth_client_secret

string

Секрет клиента, используемый вместе с auth_client_id (если требуется).

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

Может ли атрибут иметь несколько значений.

Варианты:

  • false ← (по умолчанию)
  • true

name

string / обязательный

Имя атрибута.

permissions

dictionary

Разрешения на просмотр и редактирование атрибута.

edit

list / элементы=string

Роли, которым разрешено редактировать атрибут.

Поддерживаемые значения: admin и user.

По умолчанию: ["admin", "user"]

view

list / элементы=string

Роли, которым разрешено просматривать атрибут.

Поддерживаемые значения: admin и user.

По умолчанию: ["admin", "user"]

required

dictionary

Роли, для которых этот атрибут является обязательным.

roles

list / элементы=string

Роли, для которых этот атрибут обязателен.

Поддерживаемые значения: admin и user.

По умолчанию: ["user"]

selector

dictionary

добавлено в community.general 12.2.0

Селектор, определяющий, когда следует добавить атрибут.

scopes

list / элементы=string

Области, в которые следует добавить атрибут.

validations

dictionary

Проверки, применяемые к атрибуту.

double

dictionary

добавлено в community.general 12.2.0

Проверка значения типа double для атрибута.

email

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

Политика для неуправляемых атрибутов.

Варианты:

  • "ENABLED"
  • "ADMIN_EDIT"
  • "ADMIN_VIEW"

connection_timeout

integer

добавлено в community.general 4.5.0

Задаёт время ожидания HTTP-подключения к API Keycloak (в секундах).

По умолчанию: 10

http_agent

string

добавлено в community.general 5.4.0

Настраивает HTTP-заголовок User-Agent.

По умолчанию: "Ansible"

parent_id

псевдонимы: parentId, realm

строка / обязательный

Идентификатор родительского ключа realm. На практике — идентификатор (имя) realm.

provider_id

псевдонимы: providerId

строка

Имя идентификатора провайдера для ключа (поддерживаемое значение — declarative-user-profile).

Варианты:

  • "declarative-user-profile" ← (по умолчанию)

provider_type

псевдонимы: providerType

строка

Тип компонента для User Profile (поддерживается только значение org.keycloak.userprofile.UserProfileProvider).

Варианты:

  • "org.keycloak.userprofile.UserProfileProvider" ← (по умолчанию)

refresh_token

строка

добавлено в community.general 10.3.0

Токен обновления аутентификации для API Keycloak.

state

строка

Состояние провайдера User Profile.

При present провайдер User Profile создается, если он еще не существует, или обновляется с указанными вами параметрами.

При absent провайдер User Profile удаляется, если он существует.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

token

строка

добавлено в community.general 3.0.0

Токен аутентификации для API Keycloak.

validate_certs

логический

Проверять сертификаты TLS (не отключайте эту проверку в рабочей среде).

Варианты:

  • false
  • true ← (по умолчанию)

Атрибуты

Атрибут

Поддержка

Описание

action_group

Группа действий: community.general.keycloak

добавлено в community.general 10.2.0

Используйте group/community.general.keycloak в module_defaults, чтобы задать значения по умолчанию для этого модуля.

check_mode

Поддержка: полная

Может работать в режиме check_mode и возвращать прогноз изменения состояния без изменения целевого объекта.

diff_mode

Поддержка: полная

В режиме diff возвращает сведения об изменениях (или о возможных изменениях в check_mode).

Примечания

Примечание

  • В настоящее время для 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

строка

Выходное сообщение, сформированное модулем.

Возвращается: всегда

Пример: "UserProfileProvider created successfully"

Авторы

  • Eike Waldt (@yeoldegrove)

Ссылки коллекции

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Задать вопрос
  • Сообщить об ошибке
  • Предложить новую функцию
  • Общение

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API