如何在Keycloak中授予部分用户部分用户管理权限?

问题描述 投票:0回答:2

假设我在 Keycloak 中使用一个领域

mycomp
来处理所有用户(+
master
领域用于 Keycloak 超级管理员)。

我的角色是客户支持(CS),应该能够查看用户并管理他们的基本数据,如姓名、电子邮件、密码重置等。

我可以通过 3 种方式向任何用户授予

realm-management
权限,例如
manage-users
view-users

  • 直接分配
  • 通过为 CS 创建复合角色
  • 通过创建组并添加 CS

问题在于,授予

manage-users
权限 CS 最终能够管理角色和组,因此能够授予其他用户管理权限。这对我的配置无效 - 这是某个更高级别管理员的角色。

如何授予部分用户查看和管理用户基本数据的权限,而又不允许他们管理角色?

permissions keycloak roles keycloak-services idp
2个回答
7
投票

所以最终我终于找到了一个可行的解决方案。

问题是角色

manage-users
不能被政策覆盖。

在 Keycloak (https://issues.redhat.com/browse/KEYCLOAK-18151) 的 Pedro Igor Silva 的帮助下,我成功地设置了满足用例的配置。

启用 Keycloak 预览功能

admin_fine_grained_authz
后,我创建了全局复合 Role
user-managers
并从
query-users
客户端授予了它 realm-management
Role
。然后,我创建了 Policy,当用户具有
manage
角色时,它会授予
Users
资源上的
user-manager
权限。

效果很好


0
投票

您可以分享策略类型和配置+权限吗

© www.soinside.com 2019 - 2024. All rights reserved.