Spec-Zone.ru › Ansible

Модуль community.general.keycloak_user_rolemapping — позволяет управлять user_rolemapping в Keycloak с помощью API Keycloak

Примечание

Этот модуль входит в коллекцию community.general (версия 12.6.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install community.general.

Чтобы использовать её в плейбуке, укажите: community.general.keycloak_user_rolemapping.

Добавлено в community.general 5.7.0

  • Краткое описание
  • Параметры
  • Атрибуты
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Этот модуль позволяет добавлять, удалять и изменять user_rolemapping в Keycloak с помощью REST API Keycloak. Для этого требуется доступ к REST API через OpenID Connect; подключающийся пользователь и используемый клиент должны обладать необходимыми правами доступа. В стандартной установке Keycloak подойдут admin-cli и пользователь с правами администратора, а также отдельное определение клиента с областью действия, настроенной в соответствии с вашими потребностями, и пользователь с требуемыми ролями.
  • Названия параметров модуля представляют собой версии в snake_case названий в camelCase, используемых в API Keycloak и документации по адресу https://www.keycloak.org/docs-api/8.0/rest-api/index.html.
  • В API Keycloak атрибуты могут содержать несколько значений. Все атрибуты представляют собой списки отдельных значений, и модуль возвращает их в таком виде. При вызове модуля для атрибутов можно передавать одиночные значения — они преобразуются в списки, подходящие для API.
  • При обновлении user_rolemapping по возможности передавайте модулю ID роли. Это позволяет избежать запроса к API для преобразования имени в ID роли.

Параметры

Параметр

Комментарии

auth_client_id

string

client_id OpenID Connect для аутентификации в 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.

cid

string

ID клиента, роль которого нужно сопоставить.

Этот параметр не требуется для обновления или удаления сопоставления ролей, но его указание сокращает количество необходимых вызовов API.

Если не указан ни cid, ни client_id, вместо этого сопоставляется роль реалма.

client_id

string

Имя клиента (не cid), роль которого нужно сопоставить.

Этот параметр обязателен, если не указан cid (можно заменить на cid, чтобы сократить количество вызовов API).

Если не указан ни cid, ни client_id, вместо этого сопоставляется роль реалма.

connection_timeout

integer

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

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

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

http_agent

string

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

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

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

realm

string

Реалм Keycloak, в котором находится role_representation.

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

refresh_token

string

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

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

roles

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

Роли, которые нужно сопоставить пользователю.

id

string

Уникальный идентификатор role_representation.

Этот параметр не требуется для обновления или удаления role_representation, но его указание сокращает количество необходимых вызовов API.

name

string

Имя представления роли.

Этот параметр требуется только при создании или обновлении role_representation.

service_account_user_client_id

string

ID клиента service-account-user, которого нужно сопоставить.

Этот параметр не требуется для обновления или удаления сопоставления ролей, но его указание сокращает количество необходимых вызовов API.

state

string

Состояние user_rolemapping.

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

При значении absent user_rolemapping удаляется, если существует.

Варианты:

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

target_username

string

Имя пользователя, которому сопоставляются роли.

Этот параметр не является обязательным (его можно заменить на uid, чтобы сократить количество вызовов API).

token

string

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

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

uid

string

ID пользователя, которого нужно сопоставить.

Этот параметр не требуется для обновления или удаления сопоставления ролей, но его указание сокращает количество необходимых вызовов API.

validate_certs

boolean

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

Варианты:

  • 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).

Примеры

- name: Map a realm role to a user, authentication with credentials
  community.general.keycloak_user_rolemapping:
    realm: MyCustomRealm
    auth_client_id: admin-cli
    auth_keycloak_url: https://auth.example.com/auth
    auth_realm: master
    auth_username: USERNAME
    auth_password: PASSWORD
    state: present
    uid: user_uid
    roles:
      - name: role_name1
        id: role_id1
      - name: role_name2
        id: role_id2
  delegate_to: localhost

- name: Map a client role to a user, authentication with credentials
  community.general.keycloak_user_rolemapping:
    realm: MyCustomRealm
    auth_client_id: admin-cli
    auth_keycloak_url: https://auth.example.com/auth
    auth_realm: master
    auth_username: USERNAME
    auth_password: PASSWORD
    state: present
    client_id: client1
    uid: user_uid
    roles:
      - name: role_name1
        id: role_id1
      - name: role_name2
        id: role_id2
  delegate_to: localhost

- name: Map a client role to a service account user for a client, authentication with credentials
  community.general.keycloak_user_rolemapping:
    realm: MyCustomRealm
    auth_client_id: admin-cli
    auth_keycloak_url: https://auth.example.com/auth
    auth_realm: master
    auth_username: USERNAME
    auth_password: PASSWORD
    state: present
    client_id: client1
    service_account_user_client_id: clientIdOfServiceAccount
    roles:
      - name: role_name1
        id: role_id1
      - name: role_name2
        id: role_id2
  delegate_to: localhost

- name: Map a client role to a user, authentication with token
  community.general.keycloak_user_rolemapping:
    realm: MyCustomRealm
    auth_client_id: admin-cli
    auth_keycloak_url: https://auth.example.com/auth
    token: TOKEN
    state: present
    client_id: client1
    target_username: user1
    roles:
      - name: role_name1
        id: role_id1
      - name: role_name2
        id: role_id2
  delegate_to: localhost

- name: Unmap client role from a user
  community.general.keycloak_user_rolemapping:
    realm: MyCustomRealm
    auth_client_id: admin-cli
    auth_keycloak_url: https://auth.example.com/auth
    auth_realm: master
    auth_username: USERNAME
    auth_password: PASSWORD
    state: absent
    client_id: client1
    uid: 70e3ae72-96b6-11e6-9056-9737fd4d0764
    roles:
      - name: role_name1
        id: role_id1
      - name: role_name2
        id: role_id2
  delegate_to: localhost

Возвращаемые значения

Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

end_state

dictionary

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

Пример сокращён.

Возвращается: при успешном выполнении

Пример: {"adminUrl": "http://www.example.com/admin_url", "attributes": {"request.object.signature.alg": "RS256"}}

existing

dictionary

Представление существующего сопоставления ролей клиента.

Пример сокращён.

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

Пример: {"adminUrl": "http://www.example.com/admin_url", "attributes": {"request.object.signature.alg": "RS256"}}

msg

string

Сообщение о выполненном действии.

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

Пример: "Role role1 assigned to user user1."

proposed

dictionary

Представление предполагаемого сопоставления ролей клиента.

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

Пример: {"clientId": "test"}

Авторы

  • Dušan Marković (@bratwurzt)
  • Ivan Kokalović (@koke1997)

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

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

© 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_user_rolemapping_module.html

Spec-Zone.ru

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