Spec-Zone.ru › Ansible

Модуль community.general.keycloak_user_rolemapping – Предоставляет возможность управления сопоставлениями ролей пользователей Keycloak с помощью API Keycloak

Примечание

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

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

Для её установки используйте: ansible-galaxy collection install community.general.

Для использования в плейбуке укажите: community.general.keycloak_user_rolemapping.

Новое в community.general 5.7.0

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

Обзор

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

Параметры

Параметр

Комментарии

auth_client_id

строка

Используемый для аутентификации в API OpenID Connect client_id.

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

auth_client_secret

строка

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

auth_keycloak_url

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

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

URL-адрес экземпляра Keycloak.

auth_password

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

строка

Пароль для аутентификации с доступом к API.

auth_realm

строка

Имя домена Keycloak для аутентификации с доступом к API.

auth_username

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

строка

Имя пользователя для аутентификации с доступом к API.

cid

строка

Идентификатор клиента, который необходимо сопоставить.

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

client_id

строка

Имя клиента, подлежащего сопоставлению (отличается от cid).

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

connection_timeout

целое число

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

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

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

END_OF_DOCUMENT_MARKER

Атрибуты

Атрибут

Поддержка

Описание

check_mode

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

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

diff_mode

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

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

Примеры

- 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
    user_id: user1Id
    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

словарь

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

Пример усечён.

Возвращается: при успехе

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

existing

словарь

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

Пример усечён.

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

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

msg

строка

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

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

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

proposed

словарь

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

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

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

Авторы

  • Душан Марковић (@bratwurzt)

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

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

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

Spec-Zone.ru

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