我对 resourceA 有 permisionA 和 policyA(roleA 的基于角色的策略)和同一个资源的 permissionB 和 policyB(roleB 的基于角色的策略)。
PemissionA 允许我访问资源 A,而权限 B 拒绝访问资源 A,当我在 keycloak 管理控制台上为具有角色 A 的用户评估时,keycloak 不允许访问资源 A。
我希望 keycloak 在至少一个权限允许访问时允许用户访问资源?
答案 0 :(得分:0)
如果您在 Keycloak 中有多个策略,您可以聚合这些策略并创建一个策略。
https://www.keycloak.org/docs/latest/authorization_services/index.html#_policy_aggregated
或者举个简单的例子,如果用户拥有管理员权限或超级管理员,他/她可以访问这种场景的资源,我们可以使用它。
这里是可能有助于实现的小型 JSON 实现:
{
"name" : "PemissionA or PemissionB or PemissionC",
"type" : "aggregate",
"logic" : "POSITIVE",
"decisionStrategy" : "AFFIRMATIVE",
"config" : {
"applyPolicies" : "[\"PemissionA\",\"PemissionB\",\"PemissionC\"]"
}