ヘッダーをスキップ
Oracle Fusion Middleware Oracle SOA Suite開発者ガイド
11g リリース1 (11.1.1.5.0)
B56238-04
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

39 ポリシーを使用したセキュリティの有効化

この章では、SOAコンポジット・アプリケーションの設計時にポリシーを管理する方法について説明します。

項目は次のとおりです。

39.1 ポリシーの概要

Oracle Fusion Middlewareでは、ポリシー・ベースのモデルを使用してWebサービスを組織全体で管理および保護します。ポリシーによって、メッセージ配信にセキュリティが適用されます。ポリシーは、開発者が設計時環境で管理することも、システム管理者が実行時環境で管理することもできます。

ポリシーは1つ以上のアサーションで構成されます。ポリシー・アサーションは、特定のアクションを実行するポリシーの最小単位です。ポリシー・アサーションはリクエスト・メッセージおよびレスポンス・メッセージに対して実行され、同じアサーション・セットが両方のタイプのメッセージに対して実行されます。アサーションはポリシーに表示されている順序で実行されます。

表39-1に、サポートされるポリシー・カテゴリを示します。

表39-1 サポートされるポリシー・カテゴリ

カテゴリ 説明

メッセージ転送最適化メカニズム(MTOM)

添付ファイルがMTOM形式であることが保証されます。この形式を使用すると、Webサービス間でバイナリ・データを送信できます。これにより、ワイヤ上の転送サイズを減らすことができます。

信頼性

WS-Reliable Messagingプロトコルをサポートします。これにより、エンドツーエンドのメッセージ配信が保証されます。

アドレッシング

Simple Object Access Protocol(SOAP)メッセージに、WS-Addressing仕様に準拠するWS-Addressingヘッダーが含まれていることを検証します。トランスポート・レベルのデータはXMLメッセージに含まれており、ネットワーク・レベルのトランスポートに依存せずに情報を伝達します。

セキュリティ

WS-Security 1.0および1.1の標準を実装します。これらの標準により、ユーザーの認証と認可、アイデンティティ伝播およびメッセージ保護(メッセージ整合性およびメッセージ機密性)が実施されます。

管理

リクエスト、レスポンスおよびフォルト・メッセージをメッセージ・ログに記録します。管理ポリシーにはカスタム・ポリシーを含めることもできます。


各カテゴリ内には、添付できるポリシー・タイプが1つ以上あります。たとえば、「信頼性」カテゴリを選択した場合は、次のタイプを選択できます。

使用可能なポリシー、自分の環境に使用するポリシーについて、およびグローバル・ポリシーの詳細は、『Oracle Fusion Middleware Web Servicesセキュリティおよび管理者ガイド』を参照してください。

39.2 バインディング・コンポーネントおよびサービス・コンポーネントへのポリシーの添付

SOAコンポジット・アプリケーションのサービス・バインディング・コンポーネント、サービス・コンポーネントおよび参照バインディング・コンポーネントとの間で、ポリシーを添付したり、ポリシーの添付を解除できます。設計時環境でセキュリティをテストするために、Oracle JDeveloperを使用してポリシーを添付します。アプリケーションを本番環境にデプロイする準備が整った場合は、Oracle Enterprise Manager Fusion Middleware Controlで実行時ポリシーを添付したり、ポリシーの添付を解除できます。

ポリシーの実行時管理の詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。

39.2.1 ポリシーをバインディング・コンポーネントおよびサービス・コンポーネントに添付する方法

ポリシーをサービス・バインディング・コンポーネントまたは参照バインディング・コンポーネントに添付する手順は、次のとおりです。

  1. SOAコンポジット・エディタで、サービス・バインディング・コンポーネントまたは参照バインディング・コンポーネントを右クリックします。

  2. 「WSポリシーの構成」を選択します。

    SOAコンポジット・アプリケーションのインタフェース定義に応じて、オプションの追加メニューが表示される場合があります。

    • 選択したサービスまたは参照が同期のBPELプロセス・サービス・コンポーネントまたはOracle Mediatorサービス・コンポーネントとインタフェースしている場合は、リクエスト・メッセージとレスポンス・メッセージの両方に対して単一のポリシーが使用されます。「SOA WSポリシーの構成」ダイアログが即時に表示されます。ステップ4に進みます。

    • サービスまたは参照が非同期のBPELプロセス・サービス・コンポーネントまたはOracle Mediatorサービス・コンポーネントとインタフェースしている場合は、リクエスト・メッセージとレスポンス・メッセージに対して個別のポリシーを構成する必要があります。コールバックのポリシーは、サービスからクライアントに送信されるレスポンスに使用されます。追加のメニューが表示されます。ステップ3に進みます。

  3. 使用するバインディングのタイプを選択します。

    • リクエスト対象:

      バインドするサービス・コンポーネントのリクエスト・バインディングを選択します。選択できるリクエスト・バインディングは1つのみです。このアクションにより、バインディング・コンポーネントとサービス・コンポーネント間の通信が可能になります。

      「公開されたサービス」スイムレーンでリクエスト・バインディングがサービスに対して構成されると、そのサービスはサーバーとして機能します。「外部参照」スイムレーンでリクエスト・バインディングが参照に対して構成されると、その参照はクライアントとして機能します。

    • コールバック対象: (非同期プロセスとの相互作用が必要な場合のみ)

      バインドするサービス・コンポーネントのコールバック・バインディングを選択します。このアクションにより、バインディング・コンポーネントとサービス・コンポーネント間のメッセージ通信が可能になります。選択できるコールバック・バインディングは1つのみです。

      「公開されたサービス」スイムレーンでコールバック・バインディングがサービスに対して構成されると、そのサービスはクライアントとして機能します。「外部参照」スイムレーンでコールバック・バインディングが参照に対して構成されると、その参照はサーバーとして機能します。

    図39-1に示す「SOA WSポリシーの構成」ダイアログが表示されます。この例では、サービス・バインディング・コンポーネントに対して「リクエスト対象」オプションが選択されています。「コールバック対象」を選択した場合も、同じタイプのポリシー・カテゴリが使用可能です。

    図39-1 「SOA WSポリシーの構成」ダイアログ

    図39-1の説明が続きます
    「図39-1 「SOA WSポリシーの構成」ダイアログ」の説明

  4. 添付するポリシーのタイプの「追加」アイコンをクリックします。

    • MTOM

    • 信頼性

    • アドレッシング

    • セキュリティ

    • 管理

    この例では、「セキュリティ」が選択されています。図39-2に示すダイアログが表示されます。

    図39-2 セキュリティ・ポリシー

    図39-2の説明が続きます
    「図39-2 セキュリティ・ポリシー」の説明

  5. カーソルをポリシー名の上に置くと、ポリシー機能の説明が表示されます。

  6. 添付するポリシーのタイプを選択します。

  7. 「OK」をクリックします。

    図39-3に示す「SOA WSポリシーの構成」ダイアログに戻ります。添付されたセキュリティ・ポリシーが「セキュリティ」セクションに表示されます。

    図39-3 添付されたセキュリティ・ポリシー

    図39-3の説明が続きます
    「図39-3 添付されたセキュリティ・ポリシー」の説明

  8. 必要に応じて、さらにポリシーを追加します。

    ポリシーを一時的に無効にするには、添付されたポリシーの名前の左にあるチェック・ボックスの選択を解除します。このアクションはポリシーの添付を解除するものではありません

  9. ポリシーの添付を解除するには、「削除」アイコンをクリックします。

  10. 完了後に、「SOA WSポリシーの構成」ダイアログで「OK」をクリックします。

    SOAコンポジット・エディタに戻ります。

ポリシーをサービス・コンポーネントに添付する手順は、次のとおりです。

  1. サービス・コンポーネントを右クリックします。

  2. 「コンポーネントWSポリシーの構成」を選択します。

    図39-4に示す「SOA WSポリシーの構成」ダイアログが表示されます。

    図39-4 「SOA WSポリシーの構成」ダイアログ

    図39-4の説明が続きます
    「図39-4 「SOA WSポリシーの構成」ダイアログ」の説明

  3. 添付するポリシーのタイプの「追加」アイコンをクリックします。

    • セキュリティ

    • 管理

    選択したタイプに対応するダイアログが表示されます。

  4. 添付するポリシーのタイプを選択します。

  5. 「OK」をクリックします。

  6. 必要に応じて、さらにポリシーを追加します。

  7. 完了後に、「SOA WSポリシーの構成」ダイアログで「OK」をクリックします。

Oracle Enterprise Manager Fusion Middleware Controlでの実行中にポリシーを添付する方法の詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。

39.2.2 ポリシー構成プロパティ値のオーバーライド方法

使用する環境には、同じポリシーのクライアントまたはサーバーが複数含まれている場合があります。ただし、各クライアントまたはサーバーにはそれぞれ固有のポリシー要件が設定されている可能性があります。これらのポリシー・プロパティ値は、実行時の要件に基づいてオーバーライドできます。

39.2.2.1 クライアント構成プロパティ値のオーバーライド

クライアント・ポリシー構成プロパティのデフォルト値は、各クライアントに新しいポリシーを作成しなくても、クライアントごとにオーバーライドできます。この方法では、デフォルトの構成値を定義し、その値を実行時の要件に基づいてカスタマイズするクライアント・ポリシーをオーバーライドできます。

  1. 次のいずれかのバインディング・コンポーネントを右クリックします。

    • 「公開されたサービス」スイムレーンでサービス・バインディング・コンポーネントを右クリックし、「コールバック対象」を選択します。

    • 「外部参照」スイムレーンで参照バインディング・コンポーネントを右クリックし、「リクエスト対象」を選択します。

  2. 「セキュリティ」および「管理」セクションに移動します。これらの手順は、これらのセクションにポリシーがすでに添付されていることを前提にしています。

    両方のセクションで「編集」アイコンが使用可能であることに注意してください。図39-5に詳細を示します。

    図39-5 クライアント・ポリシーの選択

    図39-5の説明が続きます
    「図39-5 クライアント・ポリシーの選択」の説明

  3. 「編集」アイコンをクリックします。選択したポリシーに関係なく、添付したすべてのクライアント・ポリシーについて、プロパティ名、値、およびオーバーライドされた値が表示されることに注意してください。

  4. 「オーバーライド値」列で、「値」列に表示されているデフォルト値をオーバーライドする値を入力します。図39-6に詳細を示します。

    図39-6 クライアント・ポリシーのオーバーライド値

    図39-6の説明が続きます
    「図39-6 クライアント・ポリシーのオーバーライド値」の説明

  5. 「OK」をクリックして「構成オーバーライド・プロパティ」ダイアログを閉じます。

  6. 「OK」をクリックして「SOA WSポリシーの構成」ダイアログを閉じます。

  7. SOAコンポジット・エディタで「ソース」ボタンをクリックします。

    例39-1に示すように、オーバーライドする値はcomposite.xmlファイルのproperty name属性に反映されます。

    例39-1 composite.xmlファイルのクライアント・ポリシーのオーバーライド値

    <binding.ws port="http://xmlns.oracle.com/Application26_
    jws/Project1/BPELProcess1#wsdl.endpoint(bpelprocess1_client_
    ep/BPELProcess1Callback_pt)">
            <wsp:PolicyReference URI="oracle/wss_http_token_client_policy"
                                 orawsp:category="security"
                                 orawsp:status="enabled"/>
            <wsp:PolicyReference URI="oracle/wss_http_token_over_ssl_client_policy"
                                 orawsp:category="security"
                                 orawsp:status="enabled"/>
            <wsp:PolicyReference URI="oracle/wss_oam_token_client_policy"
                                 orawsp:category="security"
                                 orawsp:status="enabled"/>
            <wsp:PolicyReference URI="oracle/wss_saml_token_bearer_over_ssl_client_
    policy"
                                 orawsp:category="security"
                                 orawsp:status="enabled"/>
            <wsp:PolicyReference URI="oracle/wss_saml_token_over_ssl_client_policy"
                                 orawsp:category="security"
                                 orawsp:status="enabled"/>
            <wsp:PolicyReference URI="oracle/log_policy"
                                 orawsp:category="management"
                                 orawsp:status="enabled"/>
    <property name="user.roles.include" type="xs:string" many="false">true</property>
          </binding.ws>
    

ポリシー設定のオーバーライドの詳細は、『Oracle Fusion Middleware Web Servicesセキュリティおよび管理者ガイド』を参照してください。

39.2.2.2 サーバー構成プロパティ値のオーバーライド

サーバー・ポリシー構成プロパティのデフォルト値は、各サーバーに新しいポリシーを作成しなくても、サーバーごとにオーバーライドできます。この方法では、デフォルトの構成値を定義し、その値を実行時の要件に基づいてカスタマイズするサーバー・ポリシーをオーバーライドできます。

  1. 次のいずれかのバインディング・コンポーネントを右クリックします。

    • 「公開されたサービス」スイムレーンでサービス・バインディング・コンポーネントを右クリックし、「リクエスト対象」を選択します。

    • 「外部参照」スイムレーンで参照バインディング・コンポーネントを右クリックし、「コールバック対象」を選択します。

  2. 「セキュリティ」および「管理」セクションに移動します。これらの手順は、これらのセクションにポリシーがすでに添付されていることを前提にしています。

    デフォルトでは、両方のセクションで「編集」アイコンが使用不可であることに注意してください。このアイコンを使用可能にするには、明示的にポリシーを選択する必要があります。これは、サーバーのプロパティ値はほとんどオーバーライドできないためです。図39-7に詳細を示します。

    図39-7 サーバー・ポリシーの選択

    図39-7の説明が続きます
    「図39-7 サーバー・ポリシーの選択」の説明

  3. 値のオーバーライドが許可されている添付済ポリシーを選択し、「編集」アイコンをクリックします。

  4. 「オーバーライド値」列で、「値」列に表示されているデフォルト値をオーバーライドする値を入力します。図39-8に詳細を示します。ポリシー・ストアが使用不可の場合は、「ストアにプロパティ・ストアが見つかりません」というメッセージが「値」列に赤色で表示されます。

    図39-8 サーバー・ポリシーのオーバーライド値

    図39-8の説明が続きます
    「図39-8 サーバー・ポリシーのオーバーライド値」の説明

  5. 「OK」をクリックして「構成オーバーライド・プロパティ」ダイアログを閉じます。

  6. 「OK」をクリックして「SOA WSポリシーの構成」ダイアログを閉じます。

  7. SOAコンポジット・エディタで「ソース」ボタンをクリックします。

    例39-2に示すように、オーバーライドする値はcomposite.xmlファイルのOverrideProperty属性に反映されます。

    例39-2 composite.xmlファイルのサーバー・ポリシーのオーバーライド値

    <wsp:PolicyReference URI="oracle/binding_authorization_denyall_policy"
                               orawsp:category="security" orawsp:status="enabled"/>
          <wsp:PolicyReference URI="oracle/binding_authorization_permitall_policy"
                               orawsp:category="security" orawsp:status="enabled"/>
          <wsp:PolicyReference URI="oracle/binding_permission_authorization_policy"
                               orawsp:category="security" orawsp:status="enabled">
            <orawsp:OverrideProperty orawsp:name="permission-class"
                                     orawsp:value="permission-different-class"/>
          </wsp:PolicyReference>
    

    ポリシー設定のオーバーライドの詳細は、『Oracle Fusion Middleware Web Servicesセキュリティおよび管理者ガイド』を参照してください。