keycloak_group – Разрешает администрирование групп Keycloak через API Keycloak
Новая версия с версии 2.8.
Описание
- Этот модуль позволяет добавлять, удалять или изменять группы Keycloak через REST API Keycloak. Он требует доступа к REST API через OpenID Connect; пользователь, подключающийся, и используемый клиент должны иметь необходимые права доступа. В стандартной установке Keycloak admin-cli и административный пользователь будут работать, как и отдельное определение клиента со scope, настроенным под ваши потребности, и пользователем с ожидаемыми ролями.
- Имена параметров модуля являются snake_cased версиями camelCase, найденными в API Keycloak и его документации по адресу http://www.keycloak.org/docs-api/3.3/rest-api/.
- Атрибуты являются многозначными в API Keycloak. Все атрибуты являются списками отдельных значений и будут возвращаться таким же образом этим модулем. Вы можете передать одиночные значения для атрибутов при вызове модуля, и это будет преобразовано в список, подходящий для API.
- При обновлении группы, где это возможно, предоставьте идентификатор группы модулю. Это устраняет поиск в API для преобразования имени в идентификатор группы.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| attributes словарь | Словарь пар «ключ-значение» для установки пользовательских атрибутов для группы. Значения могут быть одиночными значениями (например, строкой) или списком строк. | |
| auth_client_id строка / обязательно | По умолчанию: "admin-cli" | OpenID Connect client_id для аутентификации с API. |
| auth_client_secret строка | Секретный ключ клиента для использования совместно с auth_client_id (если требуется). | |
| auth_keycloak_url строка / обязательно | URL-адрес экземпляра Keycloak. псевдонимы: url | |
| auth_password строка / обязательно | Пароль для аутентификации доступа к API. псевдонимы: password | |
| auth_realm строка / обязательно | Имя области Keycloak для аутентификации доступа к API. | |
| auth_username строка / обязательно | Имя пользователя для аутентификации доступа к API. псевдонимы: username | |
| id строка | Уникальный идентификатор этой группы. Этот параметр не обязателен для обновления или удаления группы, но его предоставление уменьшит количество запросов к API. | |
| name строка | Имя группы. Этот параметр обязателен только при создании или обновлении группы. | |
| realm строка | По умолчанию: "master" | Область Keycloak, в которой находится эта группа. |
| state строка / обязательно |
| Состояние группы. При present, группа будет создана, если она еще не существует, или обновлена с предоставленными параметрами.При absent, группа будет удалена, если она существует. |
| validate_certs булево |
| Проверка сертификатов TLS (не отключайте это в производственной среде). |
Примечания
Примечание
- В настоящее время атрибуты realmRoles, clientRoles и access, возвращаемые API Keycloak, являются только для чтения для групп. Это ограничение будет устранено в последующей версии этого модуля.
Примеры
- name: Create a Keycloak group
keycloak_group:
name: my-new-kc-group
realm: MyCustomRealm
state: present
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
auth_realm: master
auth_username: USERNAME
auth_password: PASSWORD
delegate_to: localhost
- name: Delete a keycloak group
keycloak_group:
id: '9d59aa76-2755-48c6-b1af-beb70a82c3cd'
state: absent
realm: MyCustomRealm
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
auth_realm: master
auth_username: USERNAME
auth_password: PASSWORD
delegate_to: localhost
- name: Delete a Keycloak group based on name
keycloak_group:
name: my-group-for-deletion
state: absent
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
auth_realm: master
auth_username: USERNAME
auth_password: PASSWORD
delegate_to: localhost
- name: Update the name of a Keycloak group
keycloak_group:
id: '9d59aa76-2755-48c6-b1af-beb70a82c3cd'
name: an-updated-kc-group-name
state: present
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
auth_realm: master
auth_username: USERNAME
auth_password: PASSWORD
delegate_to: localhost
- name: Create a keycloak group with some custom attributes
keycloak_group:
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
auth_realm: master
auth_username: USERNAME
auth_password: PASSWORD
name: my-new_group
attributes:
attrib1: value1
attrib2: value2
attrib3:
- with
- numerous
- individual
- list
- items
delegate_to: localhost
Значения возврата
Общие значения возврата описаны в здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| group сложный | всегда | Представление группы после выполнения модуля (пример урезан). | |
| access словарь | всегда | Словарь, описывающий доступ, который у вас есть к этой группе, на основе используемых учетных данных. Пример: {'manage': True, 'manageMembership': True, 'view': True} | |
| attributes словарь | всегда | Атрибуты, примененные к этой группе Пример: {'attr1': ['val1', 'val2', 'val3']} | |
| clientRoles список | всегда | Список ролей уровня клиента, предоставленных этой группе | |
| id строка | всегда | GUID, который идентифицирует группу Пример: 23f38145-3195-462c-97e7-97041ccea73e | |
| name строка | всегда | Имя группы Пример: grp-test-123 | |
| path строка | всегда | Путь URI к группе Пример: /grp-test-123 | |
| realmRoles список | всегда | Массив ролей уровня области, предоставленных этой группе | |
| subGroups список | всегда | Список групп, которые являются дочерними для этой группы. Эти группы будут иметь те же параметры, что и документированные здесь. | |
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Adam Goossens (@adamgoossens)
Подсказка
Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/keycloak_group_module.html