[Решено] Управление группой доступа в Keycloak
Keycloak – программное обеспечение с открытым исходным кодом, для реализации single sign-on с управлением идентификацией и управлением доступом для современных приложений и сервисов. Это программное обеспечение написано на Java и по умолчанию поддерживает протоколы федерации удостоверений SAML и OpenID Connect (OIDC)
Дано: Keycloak сервер с настроенной федерацией с MS Active Directory и SSO Kerberos авторизацией. В Keycloak добавлен client. В Web-приложение добавлены настройки Keycloak клиента для авторизации по протоколу OpenID или SAML.
Требуется: Разрешить доступ к Web-приложению определенному списку пользователей из MS Active Directory.
Выбираем наше пространство имен (realm
)
В настройках клиента (во вкладке “Roles”) создаем роль
1
2
3
Clients > myclient > Tab "Roles" > Button "Create role":
Role name: access
Description: Разрешенные пользователи
Настраиваем область действия клиента (Client scopes):
Выбираем на область, которая необходима нашему клиентскому приложению (например email)
Переходим во вкладку
Scope
Назначаем роль (
Assign role
)Фильтруем по клиентам
Выбираем созданную в первом шаге роль
1
Client scopes > email > Tab "Scope" > Assign role > Filter by client > access
Создаем группу доступа “mygroup”
1
Groups > Create group > mygroup
Настраиваем группу доступа. Добавляем пользователей
1
Groups > mygroup > Tab "Members" > Add member
Настраиваем группу доступа. Добавляем сопоставление ролей (Role mapping)
Переходим во вкладку
Role mapping
Назначаем роль (
Assign role
)Фильтруем по клиентам
Выбираем созданную в первом шаге роль
1
Groups > mygroup > Tab "Role mapping" > Assign role > add "it_access"