0

我正在使用 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 : *

当我点击测试评估它显示不确定。什么是确切的问题?政策不正确还是在评估请求期间有问题?让我知道..

4

1 回答 1

0

你的政策是正确的。它必须返回 permit.. 当操作为“读取”且用户名为“Umesha”时。但是在您的请求中,您发送了一些其他值。如果您使用主题名称作为“Umesha”,您将看到许可决定。但是,如果您的名字是其他值。我同意您必须返回“不适用”结果。不是“不确定的”。但是请检查 PDP 策略库中是否还有其他一些策略。因为这样就可以改变整体结果。您使用的 WSO2IS 版本是什么?我只是尝试使用您的策略并请求 4.5.0。它返回正确的“NotApplicable”。

于 2014-01-31T11:23:26.210 回答