2

カスタム属性を利用する XACML ポリシーを作成しようとしています。私は次のようなことを考えています:

<?xml version="1.0" encoding="UTF-8"?>
<Policy xmlns="urn:oasis:names:tc:xacml:1.0:policy"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" PolicyId="deny-demo100"
  RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:first-applicable">
  <Description> </Description>
  <Target>
    <Subjects>
      <AnySubject/>
    </Subjects>
    <Resources>
  <AnyResource/>
</Resources>
<Actions>
  <AnyAction/>
</Actions>
  </Target>

  <Rule Effect="Deny" RuleId="rule-deny-demo100">
    <Target>
      <Subjects>
        <AnySubject/>
      </Subjects>
      <Resources>
        <Resource>
           <AnyResource/>
        </Resource>
      </Resources>
      <Actions>
        <Action>
          <ActionMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
            <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">customAttribute</AttributeValue>
            <ActionAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-    id" MustBePresent="false" DataType="http://www.w3.org/2001/XMLSchema#string"/>
          </ActionMatch>
        </Action>
      </Actions>
    </Target>    
  </Rule>

  <Rule RuleId="deny-demo100-catch-all" Effect="Permit" />

</Policy>

(Fedora の XACML 実装を使用しています)。

ここで本当に単純で基本的な何かが欠けていると確信していますが、何がわからないのですか。誰かが私を正しい方向に向けてもらえますか?

4

3 に答える 3

5

カスタム属性とはどういう意味ですか? 「平易な英語」で何を表現したいですか?

XACML では、役割、市民権、クリアランス、リソース分類、時刻など、任意の属性を使用できます。もちろん、属性を使用できるかどうかは、保護しているアプリの種類によって異なります。Fedora の実装をどのように使用していますか? Fedora Linux OS 内のアクセス制御用ですか?

属性を市民権 == カナダなどの値と比較する場合は、<Target/>. クリアランス > 分類など、2 つの属性を一緒に比較する場合は、 を使用し<Condition>ます。

于 2012-10-06T01:57:10.447 に答える
1

実際に何を探しているのかわかりませんが、属性ベースのアクセス制御を行う必要があると思います。

XACML には、PIP (ポリシー情報ポイント) と呼ばれるコンポーネントがあり、外部ソースから属性を取得して承認を確認できます。

これはあなたを助けるかもしれません: PIP (ポリシー情報ポイント) を理解する.

より簡単な方法で XACML ポリシーを作成する必要がある場合は、これに従うことができます: WSO2 Identity Server の XACML Policy Editor

于 2012-10-05T05:30:49.980 に答える