使用 Keycloak 的新手,我正在尝试了解为用户分配角色。这是我使用的格式。我创建角色和用户,并创建具有某些角色的组。然后,我根据组中的角色将用户分配到组以具有权限。现在我在以下情况下遇到困难。
假设我有 4 个资源A, B, C, D
、2 个角色R1, R2
、2 个组G1, G2
和一个用户U
。
R1
有权限(我使用这些授权范围:read
, write
, create
, delete
)来访问A, B
.
R2
仅有权访问 A, B, C, D
资源。
G1
有角色R1
并且G2
有R2
分配给他们的角色。
现在我创建了一个用户U
并希望让他访问G1
希望该用户能够访问 2 个提到的资源。但事实并非如此,我注意到U
没有被授予访问这 4 个资源中的任何一个的权限。我还需要添加这个用户G2
才能访问所有 4 个资源,这不是我想要的。
同样在另一种情况下,如果我想将用户添加到G2
,我希望他能够访问所有 4 个资源。但我注意到这个用户只能访问C, D
. 我也应该添加他以G1
访问所有资源。
我相信 keycloakand
在分配权限时会以条件方式进行检查。有没有办法用彼此专有的资源来定义角色?