Пост

[Решено] Управление группой доступа в 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"
Авторский пост защищен лицензией CC BY 4.0 .

© IT Draft. Некоторые права защищены.