ヘッダーをスキップ
Oracle® Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド
11gリリース1(11.1.1)
B56247-02
  目次
目次

戻る
戻る
 
次へ
次へ
 

7 Webサービス・ポリシーの管理

この章では次の項について説明します。

Webサービス・ポリシー管理の概要

Webサービス・ポリシー、およびWebサービスのサービスのクオリティ(QoS)を管理するためにOracle Fusion Middlewareでポリシーがどのように使用されるかの詳細は、「Oracle WSMポリシー・フレームワークについて」を参照してください。

使用可能なWebサービス・ポリシーの表示

ドメインにWebサービス・ポリシーを表示するには、Fusion Middleware ControlとWebLogic Scripting Tool(WLST)のどちらでも使用できます。Fusion Middleware Controlでは、「Webサービス・ポリシー」ページを使用してポリシーを表示します。

ポリシーのリストを表示するには、次の項の手順を使用します。

Fusion Middleware Controlでの「Webサービス・ポリシー」ページへの移動

ファーム内のWebサービス・ポリシーは、「Webサービス・ポリシー」ページから管理します。このページでは、Webサービス・ポリシーを表示、作成、編集および削除できます。

  1. ナビゲータ・ペインで「WebLogicドメイン」を開き、ポリシーを表示するドメインを表示します。ドメインを選択します。

  2. Fusion Middleware Controlを使用して、「WebLogicドメイン」「Webサービス」「ポリシー」をクリックします。

    「Webサービス・ポリシー」ページが表示されます(図7-1)。

    図7-1 「Webサービス・ポリシー」ページ

    図7-1の説明が続きます
    「図7-1 「Webサービス・ポリシー」ページ」の説明

WLSTを使用した使用可能なポリシーのリストの表示

WLSTを使用して使用可能なポリシーのリストを表示する手順

  1. 「WebサービスのカスタムWLSTコマンドへのアクセス」の説明に従って、Webサービスを表示するWebLogic Serverの実行中のインスタンスに接続します。

  2. WLSTコマンドlistAvailableWebServicePolicies()を使用して、Webサービスのリストを表示します。

    listAvailableWebServicePolicies([category],[subject])
    

    たとえば、次のようにします。

    wls:/base_domain/domainRuntime> listAvailableWebServicePolicies()
    
    List of available OWSM policy - total : 58
    security : oracle/binding_authorization_denyall_policy
    security : oracle/binding_authorization_permitall_policy
    security : oracle/binding_permission_authorization_policy
    security : oracle/component_authorization_denyall_policy
    security : oracle/component_authorization_permitall_policy
    security : oracle/component_permission_authorization_policy
    management : oracle/log_policy
    addressing : oracle/wsaddr_policy
    mtom : oracle/wsmtom_policy
    wsrm : oracle/wsrm10_policy
    wsrm : oracle/wsrm11_policy
    
  3. オプションの引数categoryおよびsubjectを使用して、セキュリティや管理などのポリシー・カテゴリおよびサーバーやクライアントなどのポリシー・サブジェクト・タイプを指定します。

    たとえば、次のようにします。

    wls:/base_domain/domainRuntime> listAvailableWebServicePolicies("security","server")
    List of available OWSM policy - total : 27
    security : oracle/wss10_saml_token_with_message_integrity_service_policy
    security : oracle/wss11_username_token_with_message_protection_service_policy
    security : oracle/wss11_x509_token_with_message_protection_service_policy
    security : oracle/wss_username_token_service_policy
    security : oracle/wss_saml_token_over_ssl_service_policy
    security : oracle/wss10_x509_token_with_message_protection_service_policy
    security : oracle/wss10_username_token_with_message_protection_ski_basic256_service_policy
    

Webサービス・ポリシーの表示

読取り専用モードでポリシーの詳細を表示するには、次の手順に従ってください。

Webサービス・ポリシーを表示する手順

  1. 「Fusion Middleware Controlで「Webサービス・ポリシー」ページに移動」の説明に従って、「Webサービス・ポリシー」ページに移動します。

  2. 「Webサービス・ポリシー」ページで、「ポリシー」表からポリシーを選択して「表示」をクリックします。

  3. ポリシーを参照し終わったら、「Webサービス・ポリシーに戻る」をクリックします。

Webサービス・ポリシーの検索

「Webサービス・ポリシー」 ページで、検索フィルタ(図7-2)に基準を指定して、返されるポリシーの数を絞り込むことができます。

「名前」フィールドに入力されたワイルドカード文字のアスタリスク(*)は、任意の文字と一致します。

図7-2 検索フィルタの基準

図7-2の説明が続きます
「図7-2 検索フィルタの基準」の説明

返されるポリシーは、「カテゴリ」、「適用先」および「名前」フィールド(表7-1)に指定された基準に一致するものです。

表7-1 検索フィルタの基準

フィールド 説明

カテゴリ

Webサービス・ポリシーが属するカテゴリ。オプションは次のとおりです。

  • すべて

  • セキュリティ

  • MTOMアタッチメント

  • 信頼できるメッセージング

  • WSアドレス

  • 管理

適用先

ポリシーを添付できるポリシー・サブジェクト。オプションは次のとおりです。

  • すべて: ポリシーがあらゆるタイプのエンドポイントのターゲットに指定されることを意味します。「すべて」は、サービス・エンドポイント、サービス・クライアントまたはSOAコンポーネントに適用できるポリシーを指します。

  • サービス・エンドポイント: Webサービスに添付できるポリシー。『Oracle Fusion Middleware Webサービスの紹介』のWebサービスとクライアントのタイプに関する項を参照してください。

  • サービス・クライアント: Webサービス・クライアントに添付できるポリシー。『Oracle Fusion Middleware Webサービスの紹介』のWebサービスとクライアントのタイプに関する項を参照してください。

  • SOAコンポーネント: SOAコンポーネントに添付できるポリシー。

SOA Webサービスはサービス・エンドポイントとして、SOA参照はサービス・クライアントとしてカテゴリ化されます。

名前

ポリシーの名前。完全な名前、またはポリシー名の一部を入力できます。たとえば、httpと入力すると、名前の一部にhttpが含まれるポリシーが返されます。


たとえば、「カテゴリ」フィールドで「セキュリティ」を選択し、「適用先」フィールドで「サービス・エンドポイント」を選択し、「名前」フィールドは空のままの場合、返されるポリシーは、Webサービス・エンドポイントに添付可能なセキュリティ・ポリシーです。

Webサービス・ポリシーの作成

Webサービス・ポリシーは、次のいずれかの方法で作成できます。

後続の項では、これらの方法のそれぞれを使用してポリシーを作成する方法を説明します。

新しいWebサービス・ポリシーの作成

1つ以上のアサーション・テンプレートを使用して新しいポリシーを作成するには、次の手順に従ってください。

新しいWebサービス・ポリシーを作成する手順

  1. 「Fusion Middleware Controlで「Webサービス・ポリシー」ページに移動」の説明に従って、「Webサービス・ポリシー」ページに移動します。

  2. 「カテゴリ」リストから、このポリシーが属するカテゴリを選択し、「作成」をクリックします


    注意:

    「作成」ボタンは「セキュリティ」カテゴリと「管理」カテゴリにのみ使用できます。

  3. 「ポリシーの作成」ページ(図7-3)で、ポリシーのパス、名前および簡単な説明を入力します。すべてのポリシーは、ポリシーが存在するディレクトリによって識別されます。

    「ポリシーの推奨ネーミング規則」に記載されているポリシーのネーミング規則に従うことをお薦めします。

    図7-3 「ポリシーの作成」ページ

    図7-3の説明が続きます
    「図7-3 「ポリシーの作成」ページ」の説明


    注意:

    ポリシーの作成後は、ポリシーの名前を編集できません。ポリシー名を変更するには、ポリシーをコピーして別の名前を割り当てます。

  4. 「ローカルの最適化」コントロールを設定します。「ローカルの最適化」コントロールについては、「ポリシーに対するローカルの最適化の構成」を参照してください。

  5. デフォルトで、ポリシーが有効化されています。ポリシーを無効化する場合は、「有効」ボックスの選択を解除します。有効化されていないポリシーは、実行時に施行されません。

  6. 「適用先」リストから選択して、ポリシーを添付できるポリシー・サブジェクトのタイプを指定します。「サービス・バインディング」を選択する場合は、Webサービス・エンドポイントまたはWebサービス・クライアントのいずれか、あるいはその両方にポリシーを添付できるかどうかを指定します。

    事前定義済アサーションのうち、「サービス・カテゴリ」の「両方」に追加できるのは、タイプがsecurity/loggingの(次に追加する)アサーションのみです。その他のタイプのアサーションを追加する場合は、「サービス・エンドポイント」または「サービス・クライアント」を選択します。

  7. 1つのアサーションを追加する手順

    1. 「アサーション情報」セクションで「追加」をクリックします。

    2. 「アサーションの追加」ボックスで、アサーションの意味のある名前を入力し、「アサーション・テンプレート」リストからアサーション・テンプレートを選択します。

      Oracle Fusion Middleware Webサービスのポリシー・アサーション・テンプレートの詳細は、付録C「事前定義済アサーション・テンプレート」を参照してください。

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

  8. ORグループを追加するには、ORグループの追加をクリックします。詳細は、「ポリシーへのORグループの追加」を参照してください。

  9. 「アサーション情報」セクションで、追加したアサーションを選択します。

  10. 「アサーション詳細」セクションで、アサーションの説明を入力します。

  11. アサーション・カテゴリに対してアクティブな場合、「設定」タブで、アサーションのプロパティを指定します。プロパティ設定の詳細は「ヘルプ」アイコンをクリックしてください。

  12. アサーション・カテゴリに対してアクティブな場合、「構成」タブをクリックし、構成オプションを設定します。プロパティ設定の詳細は「ヘルプ」アイコンをクリックしてください。

  13. 必要に応じてその他のアサーションを追加します。

  14. アサーションの追加が終わったら、アサーションを選択して、およびコントロールを使用し、必要に応じて並べ替えます。アサーションは、リストに表示される順序で起動されます。

  15. 「検証」をクリックして、ポリシーにエラーがないことを確認します。ポリシーの検証の詳細は、「Webサービス・ポリシーの検証」を参照してください。

    ポリシーが無効な場合、予防措置としてそのポリシーは無効化されます。検証の問題を解決したら、ポリシーを有効化する必要があります。

  16. 「保存」をクリックします。

既存のポリシーからのWebサービス・ポリシーの作成

Webサービス・ポリシーを選択し、このポリシーをベースにして別のポリシーを作成できます。デフォルトで、Oracle Fusion Middleware 11gリリース1(11.1.1)には、事前定義済ポリシーがあります。事前定義済ポリシーのいずれかのコピーを作成することも、作成したポリシーのコピーを作成することも可能です。ポリシーを作成すると、アサーションの追加や削除、既存のアサーションの変更など、その他のポリシーと同じように扱うことができます。

Webサービス・ポリシーのコピーを作成する手順

  1. 「Fusion Middleware Controlで「Webサービス・ポリシー」ページに移動」の説明に従って、「Webサービス・ポリシー」ページに移動します。

  2. 「Webサービス・ポリシー」ページで、「ポリシー」リストからポリシーを選択して「類似作成」をクリックします。

  3. 「ポリシーの作成」ページで、ポリシーの名前を入力します。

    コピーしたポリシーの名前にCopyという語が追加されます。これは、新しいポリシーに割り当てられるデフォルトの名前です。たとえば、コピーするポリシーの名前がoracle/wss10_username_token_serviceの場合、コピーのデフォルトの名前はoracle/wss10_username_token_service_Copyです。

    この新しいポリシーの名前を、環境でよりわかりやすい名前に変更することをお薦めします。

  4. アサーションを含め、必要に応じてポリシーを変更します。

  5. 「検証」をクリックして、ポリシーにエラーがないことを確認します。ポリシーの検証の詳細は、「Webサービス・ポリシーの検証」を参照してください。

  6. 「保存」をクリックします。

Webサービス・ポリシーのインポート

ポリシー・ストアにポリシーをインポートするには、この項の手順に従ってください。ポリシーをインポートすると、Webサービスへの添付や変更を行うことができます。


注意:

インポートするポリシー名は、ポリシー・ストアに存在しないものであることが必要です。

ポリシー名とファイル名は異なることに注意してください。ポリシー名はポリシー・コンテンツの名前属性によって指定されますが、ファイル名はポリシー・ファイルの名前です。2つの名前を一致させると便利ですが、必須ではありません。

ポリシーの名前に接頭辞「oracle_」を付けることはできません。そうしないと、そのポリシーを使用しようとしたときに例外が返されます。


Webサービス・ポリシーをインポートする手順

  1. 「Fusion Middleware Controlで「Webサービス・ポリシー」ページに移動」の説明に従って、「Webサービス・ポリシー」ページに移動します。

  2. 「Webサービス・ポリシー」ページで「ファイルからインポート」をクリックします。

  3. 「ファイルからのポリシーの作成」ボックスで、「ポリシー・ファイルの選択」ボックスにファイルのパスを入力します。または、「参照」ボタンをクリックし、ポリシー・ファイルを選択します。

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

カスタム・ポリシーの作成

カスタムのWebサービス・ポリシー作成の詳細は、「カスタム・アサーションの作成」を参照してください。

アサーションの使用

ポリシーには、1つ以上のアサーションを追加できます。事前定義済アサーションは、付録C「事前定義済アサーション・テンプレート」で説明されています。アサーションは、リストに表示される順序で実行されます。リストのアサーションの順序は、アサーションを選択し、または矢印をクリックすることで変更できます。

次の項では、アサーションの使用の詳細について説明します。

アサーション・テンプレートのネーミング規則

アサーション・テンプレートに名前を付ける際には、事前定義済ポリシーに名前を付ける時に使用するのと同じネーミング規則が使用されます。アサーション・テンプレートは、oracle/wss10_message_protection_service_templateなど、oracle/というディレクトリ名で始まり、最後の接尾辞_templateで識別されます。事前定義済ポリシーのネーミング規則の詳細は、「ポリシーの推奨ネーミング規則」を参照してください。

アサーション・テンプレートの表示

アサーション・テンプレートを表示するには、「Webサービス・ポリシー」ページから、「Webサービス・アサーション・テンプレート」ページに移動します。デフォルトで、リストに存在するすべてのアサーション・テンプレートが表示されます。

表示するテンプレートをリストから選択し、「表示」をクリックします。

ポリシーへのアサーションの追加

「ポリシーの作成」ページ、「ポリシーのコピー」ページまたは「ポリシーの詳細の編集」ページからアサーションを追加できます。

各ポリシーに含めることができるアサーションは、MTOMアタッチメントおよび信頼できるメッセージングの各カテゴリから1つのみです。ポリシーには、セキュリティ・カテゴリに属するアサーションをいくつでも含めることができますが、アサーションの組合せが有効であることが必要です。有効なアサーションの詳細は、「Webサービス・ポリシーの検証」を参照してください。

ポリシーにアサーションを追加する手順

  1. 「ポリシーの作成」ページ、「類似作成」ページ、または「ポリシーの詳細の編集」ページに移動します。

  2. 「アサーション・リスト」セクションで「追加」をクリックします。

  3. 「アサーションの追加」ダイアログで、アサーションの名前を入力し、「アサーション・テンプレート」リストからアサーションを選択します。

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

ポリシーへのORグループの追加

1つ以上のアサーションを含むORグループを作成して、1つのポリシーで複数のタイプのセキュリティ・トークンを使用するようにできます。クライアントは、ORグループに定義されている任意のポリシーを実行できます。詳細は、「複数のポリシー選択肢の定義(ORグループ)」を参照してください。

ポリシーに追加できるアサーションは1つのみです。ORグループを生成すると、ORグループの追加ボタンはグレー表示になります。

「ポリシーの作成」ページ、「ポリシーのコピー」ページまたは「ポリシーの詳細の編集」ページからORグループを追加できます。

ポリシーにORグループを追加する手順

  1. 「ポリシーの作成」ページ、「類似作成」ページ、または「ポリシーの詳細の編集」ページに移動します。

  2. 「アサーション・リスト」セクションで「ORグループの追加」をクリックします。

  3. 「ORグループの追加」ダイアログで、1番目のアサーションの名前を入力し、「アサーション・テンプレート」リストからアサーション・テンプレートを選択します。

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

    ORグループにアサーションが追加されます。

  5. ORグループに他のアサーションを追加する手順

    1. ORグループ内のアサーションが現在選択されていることを確認します。

    2. 「追加」をクリックします。

    3. 「アサーションの追加」ダイアログで、グループ内のアサーションの名前を入力し、「アサーション・テンプレート」リストからアサーション・テンプレートを選択します。

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

  6. アサーションを構成するには、「アサーションの構成」を参照してください。

    attachToとカテゴリのポリシー属性値により、現在のポリシー内で有効なアサーションが制限されます。ORグループ内のすべてのアサーションが考慮されるようにするには、attachToとカテゴリの属性値と互換性があることが必要です。

  7. ORグループにアサーションを追加し終わったら、アサーションを選択して、およびコントロールを使用し、必要に応じて並べ替えます。アサーションは、リストに表示される順序で起動するよう考慮されます。

  8. ORグループからアサーションを削除するには、アサーションを選択して「削除」をクリックします。ORグループ全体を削除するには、ORグループを選択して「削除」をクリックします。

アサーションの構成

ポリシーにアサーションを追加すると、アサーション属性を構成できます。「ポリシーの作成」ページ、「類似作成」ページまたは「ポリシーの詳細の編集」ページからアサーションを構成できます。

アサーションを構成する手順

  1. 「ポリシーの作成」ページ、「類似作成」ページ、または「ポリシーの詳細の編集」ページに移動します。

  2. アサーション表でアサーションを選択します。

  3. ページの「アサーション詳細」セクションで、「設定」または「構成」のいずれかのタブをクリックします。

  4. 設定と構成の属性を編集して「保存」をクリックします。

設定および構成アサーション属性の詳細は、付録C「事前定義済アサーション・テンプレート」を参照してください。

Webサービス・ポリシーの検証

Webサービス・ポリシーで許可されているポリシー・アサーションのタイプと数には制限があります。ポリシーを検証すると、Enterprise Managerにより、ポリシーがこれらの制限に準拠しているかどうかが確認されます。ポリシーに含めることができるのは、単一のカテゴリに属するアサーションのみです。そのため、同じポリシー内で、セキュリティ・アサーションとMTOMアサーションを結合することはできません。ポリシー・タイプはアサーションのカテゴリで決定されます。したがって、セキュリティ・アサーションを含むポリシーはセキュリティ・ポリシーであり、管理アサーションを含むポリシーは管理ポリシーです。セキュリティ・アサーションは、さらにサブカテゴリ(認証、ロギング、メッセージ保護(msg-protection)および認可)に分類されます。

ポリシーに含めることのできるアサーションの数とタイプには制限があります。制限事項は次のとおりです。

認証およびメッセージ保護に1つ目のポリシーを、認可に2つ目のポリシーを作成することをお薦めします。認証と認可の両方のアサーションを含むポリシーを作成する場合は、認証アサーションを認可アサーションより先に指定する必要があります。

ポリシーを検証すると、検証プロセスにより、これらの要件にポリシーが一致することが確認されます。ポリシーの作成中に検証が失敗すると、ポリシーは作成されますが無効とマークされます。

ポリシーの検証

ポリシーは、「ポリシーの作成」および「ポリシーの編集」ページから検証できます。

ポリシーを検証する手順

  1. 「ポリシーの作成」または「ポリシーの編集」ページから、ポリシーを変更します。

  2. 「検証」をクリックします。

    成功すると、「検証成功。」というメッセージが表示されます。

    失敗すると、結果のエラー・メッセージにより問題が説明されます。

Webサービス・ポリシーの編集

作成するポリシー、または製品に付属している事前定義済のポリシーを変更できます。ただし、使用できることがわかっている有効なポリシー・セットが常にあるように、事前定義済ポリシーは変更しないことをお薦めします。

変更内容は、ポリシー変更の次の調査間隔で反映されます。データベースに基づくメタデータ・リポジトリを使用している場合は、ポリシーへの変更を保存するたびに新しいバージョンが作成され、古いバージョンが保持されます。

Webサービス・ポリシーを編集する手順

  1. 「Fusion Middleware Controlで「Webサービス・ポリシー」ページに移動」の説明に従って、「Webサービス・ポリシー」ページに移動します。

  2. 「Webサービス・ポリシー」ページで、「ポリシー」表からポリシーを選択して「編集」をクリックします。

  3. 「ポリシーの編集」ページで、ポリシーに変更を行います。

  4. 「保存」をクリックします。

Webサービス・ポリシーのバージョニング

ポリシーへの変更内容が保存されるたびに、新しいバージョンのポリシーが自動的に作成され、バージョン番号が増分されます。これらの変更履歴はポリシー・マネージャにより維持され、以前のバージョンに戻すことができます。

たとえば、ロギングを含むバージョンと含まないバージョンなど、2つの異なるバージョンのポリシーを作成し、交互に切り替えると便利です。別の例として、oracle/binding_authorization_denyall_policyポリシーなどのポリシーを、選択したロールと組み合せて使用して、Webサービスへのアクセスを一時的に禁止することが必要になる場合があります。

バージョニング機能を使用すると、複数のバージョンのポリシーを必要になるたびに再作成することなく再利用できます。

次の項では、バージョニングについてより詳細に説明します。


注意:

この項で説明されているバージョニング機能では、データベース・ベースのMetadata Services(MDS)リポジトリを使用する必要があります。データベース・ベースのMDSを使用していない場合は、バージョニング情報は保持または表示されません。

Webサービス・ポリシーのバージョン履歴の表示

Webサービス・ポリシーのバージョン履歴を表示する手順

  1. 「Fusion Middleware Controlで「Webサービス・ポリシー」ページに移動」の説明に従って、「Webサービス・ポリシー」ページに移動します。

  2. 「Webサービス・ポリシー」ページで、「ポリシー」表からポリシーを選択して「表示」をクリックします。

    「ポリシー情報」セクションで、アクティブなバージョンのバージョン番号や、ポリシーが最後に更新された日付などのバージョン情報を参照します。

  3. 「ポリシーの表示」ページで、「バージョン履歴リンク」図7-5)をクリックし、「ポリシーのバージョン履歴の表示」ページに移動します。

    図7-5 「ポリシーの表示」ページの「バージョン履歴リンク」

    図7-5の説明が続きます
    「図7-5「ポリシーの編集」ページの「バージョン履歴リンク」」の説明

  4. ポリシーは、アクティブなポリシーが最初に表示された状態で、「ポリシー・バージョンの履歴」表の順番で表示されます(図7-6)。アクティブなポリシーのバージョン番号が一番大きく、これがサブジェクトに添付できる唯一のポリシーです。ただし、以前のバージョンのポリシーをアクティブなポリシーにすることもできます。

    図7-6「ポリシーのバージョン履歴の表示」ページ

    図7-6の説明が続きます
    「図7-6 「ポリシーのバージョン履歴の表示」ページ」の説明

「リストア」および「アクティブ化」オプションについて

以前のバージョンをアクティブにするには、「ポリシー・バージョンの履歴」表(図7-6)からポリシーを選択し、「リストア」または「アクティブ化」ボタンをクリックします。どちらの場合も、選択したポリシーが現在のアクティブなポリシーになり、ポリシーのバージョン番号が大きくなります。次に、「リストア」と「アクティブ化」オプションの違いを説明します。

  • 「リストア」をクリックすると、以前のバージョンのポリシーが保存されます。以前のバージョンを、削除せずにアクティブなバージョンにできます。ポリシーを変更し、ポリシーの以前のバージョンを保持する必要がある場合には、「リストア」を使用します。

  • 「アクティブ化」をクリックすると、選択されたポリシーが現在のアクティブなポリシーになります。以前のバージョンのポリシーが削除され、現在のバージョンが1つ大きくなります。たとえば、バージョン1とバージョン3のポリシーがあるとします。バージョン1を選択し、「アクティブ化」をクリックします。ポリシーはバージョン4としてアクティブ化され、バージョン1は削除されます。

    「アクティブ化」オプションは、異なるバージョン間の切替えを実行する必要はあるが、ポリシー・バージョンは増やさない場合に使用します。たとえば、営業時間内にはあるバージョンのポリシーを使用し、営業時間外には別のバージョンを使用するとします。バージョン間の切替えは行いますが、同じポリシーの複数のバージョンを蓄積する必要はありません。そのため、以前のバージョンを削除するには「アクティブ化」を使用します。

また、「ポリシー・バージョンの履歴」表からポリシーを選択し、「削除」をクリックすると、アクティブなポリシーを除く、任意のバージョンのポリシーを削除できます。「ポリシー・バージョンの履歴」ページから、ポリシーを編集することはできません。「Webサービス管理」ページからポリシーを編集する必要があります。

新しいバージョンのWebサービス・ポリシーの作成

既存のWebサービス・ポリシーの新しいバージョンを作成するには、必要な変更を行ってポリシーを保存します。


注意:

保存時には、暗黙的な検証が実行されます。検証が失敗した場合、ポリシーは維持されますが、ステータスが「無効」に設定されます。

Webサービス・ポリシーの新しいバージョンを作成する手順

  1. 「ポリシーの編集」ページで、ポリシーに変更を行います。

  2. 「保存」をクリックします。

ページの「ポリシー情報」セクションで、ポリシーのバージョン番号が1つ大きくなります。

Webサービス・ポリシーの以前のバージョンのリストア

以前のバージョンのポリシーに戻すには、次の手順に従ってください。

Webサービス・ポリシーの以前のバージョンをリストアする手順

  1. 図7-7に示すように、「ポリシーの表示」ページで、「バージョン履歴リンク」をクリックします。

    図7-7 「ポリシーの編集」ページの「バージョン履歴リンク」

    図7-7の説明が続きます
    「図7-7 「ポリシーの編集」ページの「バージョン履歴リンク」」の説明

  2. 「ポリシー・バージョンの履歴」表で、ポリシーを選択して「リストア」をクリックするか、「アクティブ化」をクリックします。


    注意:

    リストア」をクリックすると以前のバージョンのポリシーが保存され、「アクティブ化」をクリックすると以前のバージョンが削除されます。

    「リストア」をクリックすると、選択されたポリシーが現在のアクティブなポリシーになります。以前のバージョンのポリシーが保存され、現在のバージョンが1つ大きくなります。

    「アクティブ化」をクリックすると、選択されたポリシーが現在のアクティブなポリシーになります。以前のバージョンのポリシーが削除され、現在のバージョンが1つ大きくなります。

Webサービス・ポリシーのバージョンの削除

以前のバージョンのポリシーを完全に削除するには、次の手順に従ってください。アクティブなポリシー・バージョンを除き、すべてのバージョンを削除できます。アクティブなバージョンを含むすべてのバージョンのポリシーを削除するには、「Webサービス・ポリシーの削除」を参照してください。

Webサービス・ポリシーのバージョンを削除する手順

  1. 「ポリシーのコピー」ページまたは「ポリシーの詳細の編集」ページで、「バージョン履歴リンク」をクリックします。

  2. 「ポリシー・バージョンの履歴」表で、削除するポリシーを選択して「削除」をクリックします。

  3. 削除の確認を要求するメッセージが記載されたダイアログ・ボックスが表示されます。「OK」をクリックします。

選択したポリシーが、Metadata Servicesリポジトリおよび「ポリシー・バージョンの履歴」表から削除されます。

Webサービス・ポリシーのエクスポート

ポリシーをエクスポートし、開発環境から本番環境にポリシーをコピーしたり、単にポリシーを別のツールやアプリケーションで表示したりできます。ポリシー・ストアからポリシーをエクスポートするには、この項の手順に従ってください。ポリシーをエクスポートすると、別のポリシー・ストアへのインポート、Webサービスへの添付、変更などを行えます。

Webサービス・ポリシーをエクスポートする手順

  1. 「Fusion Middleware Controlで「Webサービス・ポリシー」ページに移動」の説明に従って、「Webサービス・ポリシー」ページに移動します。

  2. エクスポートするポリシーをリストから選択します。

  3. 「Webサービス・ポリシー」ページで「ファイルにエクスポート」をクリックします。

  4. ポリシーを任意のファイル名で保存します(ファイル名にはASCII文字のみを使用します)。


    注意:

    ポリシーの名前に接頭辞「oracle_」を付けることはできません。事前定義済ポリシー・ファイルをエクスポートする際に、ファイル名はoracle/<policyname>からoracle_<policyname>に変更されます。この名前を変更する必要があります。そうしないと、そのポリシーを使用しようとしたときに例外が返されます。

Webサービス・ポリシーの削除

ポリシーを削除する前に、ポリシーがポリシー・サブジェクトに添付されていないことを確認することをお薦めします。ポリシーの依存性分析を実行することで、ポリシーが添付されたポリシー・サブジェクトを参照できます。詳細は、「ポリシーの使用状況分析」を参照してください。サブジェクトに添付されたポリシーの削除を試行すると、警告が表示されます。添付されたポリシーは削除できます。ただし、ポリシーが添付されているサブジェクトが次に起動されたときに、Webサービス・リクエストが失敗します。

ポリシーを削除すると、アクティブなポリシーおよび以前のバージョンのすべてのポリシーが削除されます。アクティブなポリシー・バージョンを保持し、以前のバージョンのポリシーのみを削除するには、「Webサービス・ポリシーのバージョニング」を参照してください。

Webサービス・ポリシーを削除する手順

  1. 「Fusion Middleware Controlで「Webサービス・ポリシー」ページに移動」の説明に従って、「Webサービス・ポリシー」ページに移動します。

  2. 「Webサービス・ポリシー」ページで、「ポリシー」表からポリシーを選択して「削除」をクリックします。

  3. 削除の確認を要求するダイアログ・ボックスが表示されます。「OK」をクリックします。

クライアント・ポリシーの生成

サービス・ポリシーを作成すると、WebサービスWSDLを使用して、そのサービスのコールに必要なパラメータと等価のクライアント・ポリシーを生成できます。

クライアント・ポリシーの生成には、標準WSDLではなく、Oracle WSDLを使用する必要があります。WebサービスのURLは、?wsdlではなく?orawsdlで追加する必要があります。ポリシーを生成すると、クライアント・ポリシーがサービス・ポリシーと連携する可能性が高くなります。

ポリシーを生成すると、そのポリシーを編集できます。ポリシーには、サービス・アサーションに一致するペアであるクライアント・アサーションが移入されます。たとえば、サービス・ポリシーにアサーションwss_http_token_service_templateが含まれる場合、生成されるクライアント・ポリシーにはそれに対応するwss_http_token_client_templateが移入されます。

ただし、生成されるクライアント・セキュリティ・ポリシーには、構成情報は含まれません。そのため、ポリシーが生成されたら、クライアント・アサーション・テンプレートを使用して、クライアント・ポリシーに構成情報をインポートします。この例では、クライアント・アサーション・テンプレートwss_http_token_client_templateから構成情報をインポートします。ポリシーに必要な変更を行った後に、ポリシーを保存する必要があります。ポリシーを保存すると、「Webサービス管理」ページからアクセスできます。

また、生成された不要なポリシーは削除できます。たとえば、すでに存在するMTOMや信頼できるメッセージング・ポリシーの複製の削除が必要な場合があります。

Webサービス・クライアント・ポリシーを生成する手順

  1. Webサービス・クライアント・ポリシーを生成するWebサービスのWSDLを特定します。

  2. 「Fusion Middleware Controlで「Webサービス・ポリシー」ページに移動」の説明に従って、「Webサービス・ポリシー」ページに移動します。

  3. 図7-8に示すように、「Webサービス・ポリシー」ページで、「クライアント・ポリシーの生成」をクリックします。

    図7-8 「Webサービス・ポリシー」ページの「クライアント・ポリシーの生成」

    図7-8の説明が続きます
    「図7-8 「Webサービス・ポリシー」ページの「クライアント・ポリシーの生成」」の説明

  4. 図7-9に示すように、「生成されたクライアント・ポリシー」ページで、Web_service_endpoint?orawsdlという形式を使用してWebサービスWSDLへのURLを入力し、コントロールをクリックしてWebサービスおよびポートにアクセスします。


    注意:

    対応するクライアント・ポリシーの生成に使用するWSDLを取得するには、?wsdlではなく?orawsdlを使用する必要があります。これを実行するには、wsdlの前にoraを追加します。

    Web_service_endpointは、WebサービスへのURLです。Webサービスに公開されたOracle WSDLのサービス・ポリシー情報は、初期クライアント・ポリシー生成の基礎として使用されます。

    図7-9 Webサービスおよびポートの取得

    図7-9の説明が続きます
    「図7-9 Webサービスおよびポートの取得」の説明

  5. 「生成されたクライアント・ポリシー」ページ(図7-10)で、図7-10に示すように、「生成」をクリックしてクライアント・ポリシーを生成します。

    図7-10 「生成されたクライアント・ポリシー」ページ

    図7-10の説明が続きます
    「図7-10 「生成されたクライアント・ポリシー」ページ」の説明

  6. 表から生成されたポリシーを選択して、「編集」をクリックします。

  7. 「ポリシーの編集」ページで、必要に応じてポリシーを編集します。

  8. 「検証」をクリックして、変更内容を検証します。

  9. 「保存」をクリックして、ポリシーに対する変更を保存します。

  10. 「生成されたクライアント・ポリシー」ページに戻ります。必要に応じてその他のポリシーも編集します。

ポリシーを保存すると、「Webサービス管理」ページに移動して、「ポリシー」表でポリシーを検索できます。

単一のポリシー・サブジェクトに対するポリシーの無効化

Webサービスにポリシーを添付すると、デフォルトで有効化されます。Webサービスからポリシーの関連付けを解除せずに、1つのエンドポイントに対してポリシーを一時的に無効化できます。ポリシーがエンドポイントに対して無効化されると、そのエンドポイントに対して施行されません。

Fusion Middleware Controlの使用

ポリシーはエンドポイントに対して個別に有効化または無効化する必要があり、複数のポリシーを同時に有効化または無効化することはできません。

ポリシー添付を無効化する手順

  1. 「Webサービス・エンドポイント」ページで、「ポリシー」タブをクリックします。

  2. 無効化するポリシーを選択します。

  3. 「無効化」を選択し、選択内容を確認します。(図7-11を参照。)

    図7-11 ポリシー添付の無効化

    図7-11の説明が続きます
    「図7-11 ポリシー添付の無効化」の説明

WLSTの使用


注意:

この項で説明する手順は、Oracle Infrastructure Webサービスにのみ適用されます。

エンドポイント(ポート)に添付されている1つまたは複数のポリシーを無効化する手順

  1. 「WebサービスのカスタムWLSTコマンドへのアクセス」の説明に従って、Webサービスを表示するWebLogic Serverの実行中のインスタンスに接続します。

  2. WLSTコマンドlistWebServicePoliciesを使用して、目的のポートに添付されたWebサービス・ポリシーのリストを表示します。

    listWebServicePolicies(application,moduleOrCompName,moduleType,serviceName,
    subjectName)
    

    たとえば、WsdlConcretePortに添付されたポリシーのリストを表示するには、次のコマンドを使用します。

    wls:/base_domain/domainRuntime> listWebServicePolicies('/base_domain/soa_server1/jaxwsejb30ws',
    'jaxwsejb','web','WsdlConcreteService','WsdlConcretePort')
    
    WsdlConcretePort : 
    security : oracle/binding_authorization_denyall_policy , enabled=true
    security : oracle/wss_username_token_service_policy , enabled=true
    
  3. 1つのポリシーを無効化するには、enableWebServicePolicyコマンドを使用してenable引数をfalseに設定します。

    enableWebServicePolicy(application, moduleOrCompName, moduleType, serviceName, subjectName, 
    policyURI,[enable], [subjectType=None] ))
    

    たとえば、oracle/binding_authorization_denyall_policyを無効化するには、次のコマンドを入力します。

    wls:/base_domain/domainRuntime> enableWebServicePolicy('/base_domain/soa_server1/jaxwsejb30ws',
    'jaxwsejb','web','WsdlConcreteService','WsdlConcretePort','oracle/binding_authorization_denyall_policy',false)
    
  4. ポートに添付された複数のポリシーを無効化するには、enableWebServicePoliciesコマンドを使用してenable引数をfalseに設定します。

    enableWebServicePolicies(application, moduleOrCompName, moduleType, serviceName, subjectName, 
    policyURIs,[enable],[subjectType=None] ))
    

    たとえば、次のようにします。

    wls:/base_domain/domainRuntime> enableWebServicePolicies('/base_domain/soa_server1/jaxwsejb30ws',
    'jaxwsejb','web','WsdlConcreteService','WsdlConcretePort',
    ['oracle/binding_authorization_denyall_policy',oracle/wss_username_token_service_policy],false)
    
  5. ADFおよびWebCenterアプリケーションでは、Webサービス・アプリケーションを再起動します。SOAコンポジットを再起動する必要はありません。

WLSTコマンドおよびその引数の詳細は、WebLogic Scripting Toolコマンド・リファレンスのWebサービスのカスタムWLSTコマンドに関する項を参照してください。

すべてのサブジェクトに対するWebサービス・ポリシーの無効化

ポリシーを作成すると、検証エラーが発生した場合を除き、デフォルトで有効化されます。ポリシーは、「ポリシーの編集」ページからグローバルに無効化できます。ポリシーは中央の1つの場所から無効化でき、添付されているすべてのポリシー・サブジェクトに対して無効化されます。

「ポリシーの編集」ページからポリシーを無効化すると、ポリシーはポリシー・サブジェクトに添付されたままになりますが、無効化されます。ポリシーに、Webサービスへのすべてのリクエストが失敗する原因となる問題があることが検出された場合は、一時的にポリシーを無効化する必要があります。問題を修正すると、ポリシーをグローバルに有効化できます。

ポリシーを無効化する前に、「使用状況分析リンク」「ポリシーの使用状況分析」を参照)をクリックして、ポリシーが添付されているポリシー・サブジェクトを参照できます。ポリシーに対する変更内容は、ポリシー変更の次の調査間隔で反映されます。

また、すべてのポリシー・サブジェクトではなく、特定のポリシー・サブジェクトのポリシーを選択的に無効化することもできます。詳細は、「単一のポリシー・サブジェクトに対するポリシーの無効化」を参照してください。

すべてのポリシー・サブジェクトに対してWebサービス・ポリシーを無効化する手順

  1. 「Fusion Middleware Controlで「Webサービス・ポリシー」ページに移動」の説明に従って、「Webサービス・ポリシー」ページに移動します。

  2. 「ポリシー」表からポリシーを選択して、「編集」をクリックします。

  3. 「ポリシーの編集」ページの「ポリシー情報」セクションで、「有効」ボックス(図7-12)の選択を解除します。

    図7-12 「ポリシーの編集」ページの「有効」ボックス

    図7-12の説明が続きます
    「図7-12 「ポリシーの編集」ページの「有効」ボックス」の説明

  4. 「保存」をクリックします。

ポリシーの使用状況分析


注意:

この項で説明されているポリシーの使用状況機能では、データベース・ベースのMetadata Services(MDS)リポジトリを使用する必要があります。データベース・ベースのMDSを使用していない場合は、ポリシーの使用状況の情報は保持または表示されません。

ポリシーはドメイン・レベルで作成および管理されます。ポリシーを一元管理することにより、ポリシーを再利用し、複数のポリシー・サブジェクトに添付できるようになります。ポリシーの変更(ポリシーの編集または削除など)は、ポリシーが添付されているすべてのポリシー・サブジェクトに影響します。そのため、ポリシーを変更する前に使用状況分析を行い、どのサブジェクトで特定のポリシーが使用されているかを確認することをお薦めします。


注意:

使用状況分析では、どのポリシー・サブジェクトに影響があるかが識別されるのみで、変更の影響は明確になりません。各ポリシー・サブジェクトで変更内容を評価し、続行するかどうかを決定する必要があります。

使用状況分析を実行する手順

  1. 「Webサービス・ポリシー」ページに移動します。

  2. 「ポリシー」表の「サブジェクト数」列に、ポリシーが添付されているサブジェクトの数が表示されます。

  3. 「ポリシー」表からポリシーを選択して、「表示」をクリックします。

  4. ページの「ポリシー情報」リージョンで、「アタッチメント数」をクリックして「使用状況分析」ページを表示します。

    図7-13 ポリシーの使用状況分析

    図7-13の説明が続きます
    「図7-13 ポリシーの使用状況分析」の説明

    「使用状況分析」表には、そのポリシーを添付する様々なポリシー・サブジェクトが表示されます。サブジェクトは次のサブジェクト・タイプを使用して編成されます。サービス参照、SOAコンポーネント、SOA参照、SOAサービス、WSエンドポイント、非同期コールバック・クライアント、およびWS接続

    注意: