Keycloak中UMA策略的负逻辑

时间:2020-08-28 06:38:54

标签: keycloak keycloak-services

我想通过符合UMA的端点管理Keycloak中资源的策略。因此,我创建了具有范围profile的资源view_users, invite_users, edit_users

然后我继续使用策略API创建策略。

## POST
{
    "name": "can_view_users",
    "logic": "NEGATIVE",
    "decisionStrategy": "AFFIRMATIVE",
    "clients": ["uma_postman"],
    "scopes": ["view_users"],
    "roles": ["uma_postman/lg_admin", "uma_postman/sales", "uma_postman/customer_admin"],
    "users": ["37ae8b1e-f1b0-4e72-b6ac-5ad1e49f89d7", "3627cb69-23ed-474d-abec-8f31b230b730"]
}

我可以查询此(GET http://localhost:8080/auth/realms/ng_whs/authz/protection/uma-policy),并且似乎该策略已正确创建。

enter image description here

现在,我的理解是,由于决策策略是AFFIRMATIVE,而逻辑是负,对于任何上述角色-lg_admin, sales, customer_admin或具有上述ID的用户,不应允许我访问该资源。

但是,当我以具有上述角色或ID的用户身份进行查询时,我仍然不要被拒绝访问。 enter image description here

现在,当我将同一策略的逻辑更改为POSITIVE时,响应仍然相同。我在这里想念什么吗?任何帮助将非常感激。 :)

我正在按照此处的说明进行操作-keycloak.org/docs/latest/authorization_services/#_service_authorization_uma_policy_api

0 个答案:

没有答案