【问题标题】:XACML selected role authorization example - XACML for RBACXACML 选择的角色授权示例 - 用于 RBAC 的 XACML
【发布时间】:2015-03-30 08:08:27
【问题描述】:

我正在使用带有 XACML 的 WSO2 身份服务器进行授权。

我的用户在 IS 中有多个角色。用户必须选择其中之一才能进入应用程序。所以我只需要根据用户的所有角色之一授予用户。

我使用 EntitlementServiceport.getDecisionByAttributes(subject, resource, action, environment); 来通过 SOAP WS 询问 XACML 中定义的策略。主题是用户名。但它授予,因为它使用所有用户的角色。

例子:

  • 用户:彼得
  • 角色:rolegrantedrolenotgranted、其他角色

peter进入应用并选择rolenotgranted时,它应该不访问资源。

peter进入应用并选择rolegranted时,它应该access资源。

如何定义 de XACML 策略?我应该使用 EntitlementService 的哪种方法?

谢谢

【问题讨论】:

    标签: wso2 wso2is xacml entitlements


    【解决方案1】:

    实际上,您需要在 PDP 中编写基于角色的 XACML 策略。您使用的权利服务方法很好。您可以在 XACML 请求中发送用户名并使用用户存储(通过 PIP)验证用户的角色,我建议您通过 this 博客。它解释了如何在 WSO2IS 中编写基于角色的 XACML 策略并使用它的属性。

    【讨论】:

      【解决方案2】:

      我终于满足了在 getDecisionByAttributes 方法的主题 arg 中传递角色的要求。 WSO2 IS 不检查此主题是否存在,因此我可以在这里传递任何内容并在策略规则中对其进行测试。

      【讨论】:

        猜你喜欢
        • 2014-12-03
        • 2015-01-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多