2016-06-14 17 views
0

一連のポリシーを順番に実行するためにポリシーセットを追加したいと思います。入力フィールド "resource"に基づいて適用されるかどうかを示します。テストを開始するために、私は1つのポリシーを含む単一のpolicySetを書きました。WSO2 Identity Server - PAPの試用版でのXACML V.3ポリシーセットの問題

WSO2 PAPによる評価では、「許可」を受け取ることを期待している間に「適用外」という結果が表示されません。ここで

XMLで作成された "cfatest0" というポリシー:ここ

<!--This file was generated by the ALFA Plugin for Eclipse from Axiomatics AB (http://www.axiomatics.com). Any modification to this file will be lost upon recompilation of the source ALFA file--> 
    <xacml3:Policy xmlns:xacml3="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17" PolicyId="cfatest0" RuleCombiningAlgId="urn:oasis:names:tc:xacml:3.0:rule-combining-algorithm:deny-overrides" Version="1.0"> 
     <xacml3:Description></xacml3:Description> 
     <xacml3:PolicyDefaults> 
     <xacml3:XPathVersion>http://www.w3.org/TR/1999/REC-xpath-19991116</xacml3:XPathVersion> 
     </xacml3:PolicyDefaults> 
     <xacml3:Target> 
     <xacml3:AnyOf> 
      <xacml3:AllOf> 
       <xacml3:Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal"> 
        <xacml3:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">TPS_AE_REST_Policy</xacml3:AttributeValue> 
        <xacml3:AttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" DataType="http://www.w3.org/2001/XMLSchema#string" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" MustBePresent="false"></xacml3:AttributeDesignator> 
       </xacml3:Match> 
      </xacml3:AllOf> 
     </xacml3:AnyOf> 
     </xacml3:Target> 
     <xacml3:Rule Effect="Permit" RuleId="http://axiomatics.com/alfa/identifier/com.red.XACML.permitAll"> 
     <xacml3:Description></xacml3:Description> 
     <xacml3:Target></xacml3:Target> 
     </xacml3:Rule> 
     <xacml3:Rule Effect="Deny" RuleId="http://axiomatics.com/alfa/identifier/com.red.XACML.checkId"> 
     <xacml3:Description></xacml3:Description> 
     <xacml3:Target></xacml3:Target> 
     <xacml3:Condition> 
      <xacml3:Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:not"> 
       <xacml3:Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:any-of"> 
        <xacml3:Function FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-equal"></xacml3:Function> 
        <xacml3:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">[email protected]</xacml3:AttributeValue> 
        <xacml3:AttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id" DataType="http://www.w3.org/2001/XMLSchema#string" Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" MustBePresent="false"></xacml3:AttributeDesignator> 
       </xacml3:Apply> 
      </xacml3:Apply> 
     </xacml3:Condition> 
     <xacml3:ObligationExpressions> 
      <xacml3:ObligationExpression ObligationId="obligation.displayAttributes" FulfillOn="Deny"> 
       <xacml3:AttributeAssignmentExpression AttributeId="urn:oasis:names:tc:xacml:3.0:example:attribute:text" Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject"> 
        <xacml3:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Access denied due to invalid UserID</xacml3:AttributeValue> 
       </xacml3:AttributeAssignmentExpression> 
      </xacml3:ObligationExpression> 
     </xacml3:ObligationExpressions> 
     </xacml3:Rule> 
     <xacml3:AdviceExpressions> 
     <xacml3:AdviceExpression AdviceId="advice.displayAttributes" AppliesTo="Deny"> 
      <xacml3:AttributeAssignmentExpression AttributeId="urn:oasis:names:tc:xacml:3.0:example:attribute:text" Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject"> 
       <xacml3:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Valid subjectId</xacml3:AttributeValue> 
      </xacml3:AttributeAssignmentExpression> 
     </xacml3:AdviceExpression> 
     <xacml3:AdviceExpression AdviceId="advice.displayAttributes" AppliesTo="Permit"> 
      <xacml3:AttributeAssignmentExpression AttributeId="urn:oasis:names:tc:xacml:3.0:example:attribute:text" Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject"> 
       <xacml3:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Valid subjectId</xacml3:AttributeValue> 
      </xacml3:AttributeAssignmentExpression> 
     </xacml3:AdviceExpression> 
     </xacml3:AdviceExpressions> 
    </xacml3:Policy> 

XMLで作成しPOLICYSET命名cfapolicyset1:WSO2によって生成された要求の下

<!--This file was generated by the ALFA Plugin for Eclipse from Axiomatics AB (http://www.axiomatics.com). Any modification to this file will be lost upon recompilation of the source ALFA file--> 
    <xacml3:PolicySet xmlns:xacml3="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17" PolicySetId="cfapolicyset1" PolicyCombiningAlgId="urn:oasis:names:tc:xacml:3.0:policy-combining-algorithm:permit-overrides" Version="1.0"> 
     <xacml3:Description></xacml3:Description> 
     <xacml3:PolicySetDefaults> 
     <xacml3:XPathVersion>http://www.w3.org/TR/1999/REC-xpath-19991116</xacml3:XPathVersion> 
     </xacml3:PolicySetDefaults> 
     <xacml3:Target> 
     <xacml3:AnyOf> 
      <xacml3:AllOf> 
       <xacml3:Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal"> 
        <xacml3:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">TPS_AE_REST_Policy</xacml3:AttributeValue> 
        <xacml3:AttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" DataType="http://www.w3.org/2001/XMLSchema#string" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" MustBePresent="false"></xacml3:AttributeDesignator> 
       </xacml3:Match> 
      </xacml3:AllOf> 
     </xacml3:AnyOf> 
     </xacml3:Target> 
     <xacml3:PolicyIdReference>cfatest0</xacml3:PolicyIdReference> 
    </xacml3:PolicySet> 

"トライイット" PAPの下のツール:

<Request xmlns="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17" CombinedDecision="false" ReturnPolicyIdList="false"> 
    <Attributes Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject"> 
     <Attribute AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id" IncludeInResult="false"> 
      <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">[email protected]</AttributeValue> 
     </Attribute> 
    </Attributes> 
    <Attributes Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource"> 
     <Attribute AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" IncludeInResult="false"> 
      <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">TPS_AE_REST_Policy</AttributeValue> 
     </Attribute> 
    </Attributes> 
</Request> 

決定は次のとおりです。NotApplicable

私はPolicySetにリクエストを送信する方法を忘れていますか? WSO2の高レベルポリシーエディタを使用するとき、私は応答で同じエラーを受け取ります。 PAP "Try-It"ツールで隔離されたポリシーをテストするとき、私は正しい値を受け取ります。このポリシーでは、 "Permit"です。

答えて

1

私はAxiomaticsポリシー管理ポイントの内側にあなたの要求や政策を試してみましたが、私は、所望の応答、すなわち許可証+アドバイスを取得します。

Simulation result in the Axiomatics Policy Administration Point

それはあなたがWSO2IS内のポリシーをロードするために忘れてしまっただろうか?

+0

ケース@David Brossardをテストしていただきありがとうございます.PhotoReferenceステートメントで参照されているポリシーは、xacml3:PolicyIdReferenceステートメントの直後に配置されたPolicySetのソースコード内に存在する必要があります。ソースを1つのXMLファイルで利用できるようにすると、WSO2 PAPツールは、PDPにセットポリシーと参照ポリシーをロードする必要なく、正しく解釈できます。これはテストに役立ちます。 –

関連する問題