2

私は XACML ポリシーを開発しており、sun.xaml ライブラリを使用しています。2 つの属性を比較したいと思います。1 つはサブジェクト用、もう 1 つはリソースへのアクセスを許可するためのリソースです。

この XACML ファイルを生成しました

<?xml version="1.0"?>
<Policy PolicyId="GeneratedPolicy" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:permit-overrides">
  <Description>Policy che permette la lettura del file ai client che hanno un livello di permesso maggiore o uguale al livello di permesso del file richiesto</Description>
  <Target>
<Subjects>
  <AnySubject/>
</Subjects>
<Resources>
  <AnyResource/>
</Resources>
<Actions>
  <Action>
	<ActionMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
	  <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">read</AttributeValue>
	  <ActionAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" DataType="http://www.w3.org/2001/XMLSchema#string"/>
	</ActionMatch>
  </Action>
</Actions>
  </Target>
  <Rule RuleId="canRead" Effect="Permit">
<Target>
  <Subjects>
	<AnySubject/>
  </Subjects>
  <Resources>
	<AnyResource/>
  </Resources>
  <Actions>
	<Action>
	  <ActionMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
		<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">read</AttributeValue>
		<ActionAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" DataType="http://www.w3.org/2001/XMLSchema#string"/>
	  </ActionMatch>
	</Action>
  </Actions>
</Target>
<Condition FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-greater-than-or-equal">
  <Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-one-and-only">
	<SubjectAttributeDesignator AttributeId="level-permission" DataType="http://www.w3.org/2001/XMLSchema#string"/>
  </Apply>
  <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">4</AttributeValue>
</Condition>
  </Rule>
  <Rule RuleId="FinalRule" Effect="Deny"/>
</Policy>

問題は、リソースにレベル権限があり、サブジェクトのレベル権限とリソースのレベル権限を比較したいのですが、その方法がわかりません。

どうもありがとう

4

1 に答える 1