1

WSO2 Identity Server のポリシーに対して EntitlementService オペレーション GetEntitledAttributes を使用しようとしています。subject_id(ロール名)のみを渡してこの呼び出しを行うと、そのロールに適用可能なリソースとアクションが返されるはずですが、まったく一致しません。以下に示すサンプルでは、​​リソース「EchoService」とアクション「read」が返されることを期待しています。デフォルトのポリシーと属性ファインダーで WSO2 IS 4.1.0 を使用しています。WSO2 Identity Server から資格を取得するために何をする必要があるか教えてもらえますか?

ありがとうございました、

カトリーナ

これは要求です:

    <?xml version='1.0' encoding='utf-8'?>
     <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
       <soapenv:Body>
         <getEntitledAttributes xmlns="http://org.apache.axis2/xsd"                xmlns:ns2="http://dto.entitlement.identity.carbon.wso2.org/xsd">
           <subjectName>Manager</subjectName>
           <resourceName/>
           <subjectId/>
           <action/>
          <enableChildSearch>true</enableChildSearch>
        </getEntitledAttributes>
       </soapenv:Body>
      </soapenv:Envelope>

評価する必要があるポリシーの 1 つを次に示します。

    <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">Manager</AttributeValue>
               <AttributeDesignator AttributeId="http://wso2.org/claims/role" Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject"                 DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"></AttributeDesignator>
            </Match>
         </AllOf>
      </AnyOf>
   </Target>
   <Rule Effect="Permit" RuleId="Rule-1">
      <Target>
         <AnyOf>
            <AllOf>
               <Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
                  <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">EcoService</AttributeValue>
                  <AttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource"              DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"></AttributeDesignator>
               </Match>
            </AllOf>
         </AnyOf>
         <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>
   <Rule Effect="Deny" RuleId="Rule-2">
      <Target>
         <AnyOf>
            <AllOf>
               <Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
                  <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">EcoService</AttributeValue>
                  <AttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource"                DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"></AttributeDesignator>
               </Match>
            </AllOf>
         </AnyOf>
         <AnyOf>
            <AllOf>
               <Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
                  <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">write</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>
</Policy>        
4

1 に答える 1

0

このメソッドを使用すると、アプリケーションは XACML PDP に従って動的にアクセスできるリソースを確認できます.XACML コア仕様によると, ブール値の承認結果を提供できる PDP についてのみ話します (基本的に許可, 拒否,適用不可、不確定な結果、およびアドバイスと義務を使用した追加データ)。基本的に、アプリケーション (PEP) は PDP から、「ユーザーはこれを行う権限がありますか?」などの質問をすることができます。また、アプリケーション (PEP) は、「特定のユーザーに許可されているリソースとアクションは何ですか?」などの質問をすることはできません。このメソッドはその機能を提供します。ここから詳細を見つけることができ、試用できるサンプルもあります

于 2013-11-25T14:54:08.997 に答える