我正在使用wso2is并尝试添加新的权利策略。它的配置如下:
<Policy xmlns="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17" PolicyId="EchoServicePolicy" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:first-applicable" Version="1.0">
<Target>
<AnyOf>
<AllOf>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">read</AttributeValue>
<AttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"></AttributeDesignator>
</Match>
</AllOf>
</AnyOf>
</Target>
<Rule Effect="Permit" RuleId="Rule-1">
<Condition>
<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:any-of">
<Function FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-equal"></Function>
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Umesha</AttributeValue>
<AttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id" Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"></AttributeDesignator>
</Apply>
</Condition>
</Rule>
</Policy>
现在,在测试评估时,我的请求配置如下:
Resource : *
Subject Name : testRole
Action Name : read
Environment Name : *
当我点击测试评估显示不确定时。确切的问题是什么?政策不正确或在评估请求期间是否有问题?让我知道..
答案 0 :(得分:0)
您的政策是正确的。它必须返回许可..当行动被“读”并且用户名是“Umesha”时。但在您的请求中,您正在发送一些其他值。如果您使用主题名称为“Umesha”,您将看到许可决定。但是,如果您的名字是其他值。我同意您必须返回“NotApplicable”结果。不是“不确定”。但请检查PDP策略存储区中是否还有其他策略。因为那样整体结果可以改变。您使用的是哪个WSO2IS版本?我只是尝试使用您的政策并请求4.5.0。它返回“NotApplicable”,这是正确的。