9

クライアント アプリケーションを XACML 2.0 承認サービスの使用から新しい XACML 3.0 サービスの使用に移行することを検討しています。

クライアント アプリを XACML 2.0 リクエストから XACML 3.0 リクエストに移行する際に、どのような変更や問題が発生しますか?

4

3 に答える 3

10

クライアント アプリの XACML 2.0 と XACML 3.0 の最大の違いは、authz 要求の属性の構造が XACML 3.0 で大幅に変更されたことです。

XACML 2.0 では、属性は XML 要素タグを使用して、サブジェクト、リソース、環境、またはアクションのカテゴリに編成されていました。

<?xml version="1.0" encoding="UTF-8"?>
<Request  xmlns="urn:oasis:names:tc:xacml:2.0:context:schema:os"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="urn:oasis:names:tc:xacml:2.0:context:schema:os  access_control-xacml-2.0-context-schema-os.xsd">
        <Subject>
            <Attribute
                  AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id"
                  DataType="http://www.w3.org/2001/XMLSchema#string">
                <AttributeValue>Julius Hibbert</AttributeValue>
            </Attribute>
        </Subject>
        <Resource>
            <Attribute
                  AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id"
                  DataType="http://www.w3.org/2001/XMLSchema#anyURI">
                <AttributeValue>http://medico.com/record/patient/BartSimpson</AttributeValue>
            </Attribute>
        </Resource>
        <Action>
            <Attribute
                  AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id"
                  DataType="http://www.w3.org/2001/XMLSchema#string">
                <AttributeValue>read</AttributeValue>
            </Attribute>
        </Action>
        <Environment/>
</Request>

XACML 3.0 では、これらのカテゴリは XML 要素タグの代わりに XML 属性を使用して示されます。

<?xml version="1.0" encoding="utf-8"?>
<Request xsi:schemaLocation="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17 http://docs.oasis-open.org/xacml/3.0/xacml-core-v3-schema-wd-17.xsd" ReturnPolicyIdList="false" CombinedDecision="false" xmlns="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Attributes Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject">
    <Attribute IncludeInResult="false" AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id">
      <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Julius Hibbert</AttributeValue>
    </Attribute>
  </Attributes>
  <Attributes Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource">
    <Attribute IncludeInResult="false" AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id">
      <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#anyURI">http://medico.com/record/patient/BartSimpson</AttributeValue>
    </Attribute>
  </Attributes>
  <Attributes Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action">
    <Attribute IncludeInResult="false" AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id">
      <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">read</AttributeValue>
    </Attribute>
  </Attributes>
  <Attributes Category="urn:oasis:names:tc:xacml:3.0:attribute-category:environment" />
</Request>

たとえば、XACML 2.0の<Subject>要素は<Attributes Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject">XACML 3.0 になります。リソース、環境、およびアクションのカテゴリについても同様です。

この構造変更により、リクエストを処理するための処理モデルが簡素化され、スキーマ検証に違反することなく、アプリケーション固有またはドメイン固有のカスタム カテゴリでモデルを簡単に拡張できます。

ポリシー定義で使用するために、XACML 3.0 で定義された新しいデータ型と関数があります。AnyURI データ型は、文字列データ型とは異なります。2.0 の結合アルゴリズムのいくつかは非推奨になり、不確定な状態がポリシー デシジョン ツリーを介して伝播する方法をより正確に定義する新しい 3.0 の同等のアルゴリズムが優先されました。古い結合アルゴリズムは、「レガシー」アーティファクトとして引き続き含まれています。

XACML 2.0 のリクエストとポリシーは、情報を失うことなく機械的に XACML 3.0 形式に変換できます。単純な許可/拒否応答に固執する場合、3.0 応答を 2.0 形式に戻すことは可能です。

于 2011-11-01T22:04:54.407 に答える
3

違いの公式リストについては、OASIS XACML TC wiki を確認してください。

「XACML 2.0 と XACML 3.0 の違い」

手短に...

XACML 2.0 と XACML 3.0 の主な違いは、次のような新機能にあります。

  • 義務表現: 義務ステートメントに動的な部分を含めることができます
  • より広い範囲に義務を効果的に一般化するアドバイスの導入
  • XACML v3.0 Administration and Delegation Profile バージョン 1.0の導入。現在のところ、委譲を含む完全な XACML 3.0 実装はAxiomatics と ViewDS (http://www.viewDs.com) だけです。これは、クラウドおよびフェデレーション展開の重要な機能です。委任モデルは、Swedish Institute of Computer Science (SICS) での 5 年以上の R&D の成果です。

この情報は、OASIS の XACML TC wiki ページにまとめられています。TC は、Oracle、IBM、Axiomatics などの主要な組織によって支援されています。XACML 3.0 仕様の編集者は、Axiomatics の CTO である Erik Rissanen です。

また、Kuppinger Cole は、「XACML 3.0 を使用したポリシー ベースのアクセス コントロール」というトピックに関するウェビナーを配信しました。

最後に「#XACML 3.0の機能強化と新機能」で新機能をまとめました。

于 2011-11-03T10:07:55.890 に答える
1

XACML3の機能について理解するためのもう1つの便利なWebページである可能性があります。

XACML3.0の新機能

于 2012-07-17T04:47:02.900 に答える