Spec-Zone.ru › Ansible

Модуль 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 client_id.

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

auth_client_secret

строка

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

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

логическое значение

Указывает, может ли атрибут иметь несколько значений.

Варианты:

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

name

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

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

permissions

словарь

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

edit

список / элементы=строка

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

Доступные значения admin и user.

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

view

список / элементы=строка

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

Доступные значения admin и user.

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

required

словарь

Роли, которые требуют этот атрибут.

END_OF_DOCUMENT_MARKER

roles

list / elements=string

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

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

Default: ["user"]

validations

dictionary

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

email

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

строка

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

Варианты:

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

connection_timeout

целое число

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

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

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

http_agent

строка

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

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

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

parent_id

aliases: parentId, realm

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

Идентификатор родительского домена ключа. На практике - ID (название) домена.

provider_id

aliases: providerId

строка

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

Варианты:

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

provider_type

aliases: providerType

строка

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

Варианты:

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

state

строка

Состояние поставщика профиля пользователя.

В present, поставщик профиля пользователя будет создан, если он ещё не существует, или обновлён с предоставленными параметрами.

В absent, поставщик профиля пользователя будет удалён, если он существует.

Варианты:

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

token

строка

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

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

validate_certs

логическое значение

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

Варианты:

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

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

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

diff_mode

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

Вернёт подробности о том, что изменилось (или, возможно, требует изменения в check_mode), когда используется режим diff.

Примечания

Примечание

  • В настоящее время поддерживается только одна запись 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.

Возвращается: когда присутствует состояние

Пример: {"...": null}

сообщ

строка

Сообщение вывода, сгенерированное модулем.

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

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

Авторы

  • Eike Waldt (@yeoldegrove)

Ссылки на коллекцию

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

© 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

Spec-Zone.ru

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