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

戻る
戻る
 
次へ
次へ
 

8 Webサービスへのポリシーの添付

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

Webサービスに添付されたポリシーの表示

次の項では、Fusion Middleware ControlおよびWebLogic Scripting Tool(WLST)を使用してWebサービスに添付されたポリシーを表示する方法について説明します。

Fusion Middleware Controlの使用

Webサービスに添付されたポリシーを表示する手順

  1. 「アプリケーションの「Webサービスのサマリー」ページへの移動」で説明されているように、Webサービスのホームページに移動します。

  2. ページの「Webサービスの詳細」セクションで、まだ表示されていない場合は、Webサービス・ポートを表示するWebサービスのプラス記号(+)をクリックします。

  3. ポートの名前をクリックし、特定のWebサービスの「Webサービス・エンドポイント」ページに移動します。

  4. 「ポリシー」タブをクリックします。

    図8-1に示すように、ポートに添付されているポリシーのリストが表示されます。


    注意:

    この図は、Oracle InfrastructureのWebサービス・エンドポイントの画面を示しています。WebLogic JEEのWebサービス・エンドポイントでは、「グラフ」タブと「構成」タブは使用できません。

    図8-1 Webサービスに添付されたポリシー

    図8-1の説明が続きます
    「図8-1 Webサービスに添付されたポリシー」の説明

WLSTの使用

Webサービスに添付されたポリシーを表示するには、次の手順に従ってください。


注意:

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

  1. 「WebサービスのカスタムWLSTコマンドへのアクセス」の説明に従って、アプリケーションがデプロイされるWebLogic Serverの実行中のインスタンスに接続します。

  2. 「アプリケーションのWebサービスの表示」の説明に従って、WLSTコマンドlistWebServicesを使用して、アプリケーションのWebサービスのリストを表示します。

  3. listWebServicePortsコマンドを使用して、Webサービスのポート名とエンドポイントURLを表示します。

    listWebServicePorts(application,moduleOrCompName,moduleType,serviceName)
    

    たとえば、WsdlConcreteServiceのポートを表示するには、次のようにします。

    wls:/wls-domain/serverConfig> listWebServicePorts("/wls-domain/AdminServer/jaxwsejb30ws",
    "jaxwsejb","web","WsdlConcreteService")
     
    WsdlConcretePort   http://host.us.oracle.com:7001/jaxwsejb/WsdlAbstract
    
  4. listWebServicePoliciesコマンドを使用して、Webサービス・ポートに添付されたポリシーを表示します。

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

    たとえば、WsdlConcretePortポートに添付されたポリシーとポリシーのオーバーライド設定を表示するには、次のようにします。

    wls:/wls_domain/serverConfig> listWebServicePolicies("/wls_domain/AdminServer/jaxwsejb30ws",
    "jaxwsejb","web","WsdlConcreteService","WsdlConcretePort")
     
    WsdlConcretePort : 
    addressing : oracle/wsaddr_policy , enabled=true
    management : oracle/log_policy , enabled=true
    

単一のサブジェクトへのポリシーの添付

サブジェクトは、ポリシーを関連付けられるエンティティです。サブジェクトには、1つ以上のポリシーを添付できます。

ポリシーが実行される順序は、サブジェクトにポリシーが添付される順序や、添付されたポリシーのリストの順序では決定されません。クライアントとWebサービス間でメッセージが受け渡される際に、ポリシー・インターセプタ・チェーン内のインターセプタの順序でポリシーが実行される順序が決定されます。

詳細は、「ポリシー実行の仕組み」を参照してください。


注意:

ポリシー添付は、クラスタ内のADF、WebCenter、およびWebLogic JEE Webサービスに対して自動的には同期化されません。クラスタ内のADF、WebCenter、およびWebLogic JEE Webサービスを使用する場合は、ポリシーをクラスタの各インスタンスに添付または解除する必要があります。この問題はSOAコンポジット・アプリケーションには適用されません。

Fusion Middleware Controlを使用したWebサービスへのポリシーの添付

単一のWebサービスにポリシーを添付するには、次の手順に従ってください。複数のWebサービスに同時にポリシーを添付するには、「複数のサブジェクトへのポリシーの添付(一括添付)」を参照してください。


注意:

Fusion Middleware Controlを使用したWebLogic JEE Webサービスへのポリシー添付の場合は、次の点に注意してください。
  • Oracle WSMセキュリティ・ポリシーのみ添付できます。

  • Oracle WSMポリシーとWebLogic Webサービス・ポリシーは、同じエンドポイントには添付できません。WebLogic JEEエンドポイントにWebLogicポリシーが添付されていると、Fusion Middleware Controlを使用してOracle WSMセキュリティ・ポリシーを添付することはできません。WebLogicポリシーは、WebLogic Server管理コンソールを使用して添付できることに注意してください。Fusion Middleware Controlを使用してWebLogicポリシーを添付することはできません。


Webサービスにポリシーを添付する手順

  1. 「アプリケーションの「Webサービスのサマリー」ページへの移動」で説明されているように、Webサービスのホームページに移動します。

  2. ページの「Webサービスの詳細」セクションで、まだ表示されていない場合は、Webサービス・ポートを表示するWebサービスのプラス記号(+)をクリックします。

  3. ポートの名前をクリックし、特定のWebサービスの「Webサービス・エンドポイント」ページに移動します。

  4. 「ポリシー」タブをクリックします。

    すでにポートに添付されているポリシーのリストが表示されます。たとえば、図8-1のポリシーを検討します。

  5. 「アタッチ/デタッチ」をクリックします。

  6. 「使用可能なポリシー」リストからポリシーを選択し、「添付」をクリックします。図8-2を参照してください。

    図8-2 Webサービスへのポリシーの添付

    図8-2の説明が続きます
    「図8-2 Webサービスへのポリシーの添付」の説明

  7. ポリシーの詳細を表示するには、ポリシーを選択して、「詳細の表示」アイコンをクリックします。ポップアップ・ウィンドウに、ポリシーの読取り専用の詳細説明とそのポリシーに含まれるアサーションのリストが表示されます。図8-3を参照してください。ポリシーの詳細を確認し終わったら、「OK」をクリックします。

    図8-3 ポリシーの詳細の表示

    図8-3の説明が続きます
    「図8-3 ポリシーの詳細の表示」の説明

  8. ポリシーの選択と添付を続行します。完了したら、「検証」をクリックして、選択されたポリシーの組合せが有効であることを確認します。

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

  10. 「Webサービス・エンドポイント」ページの「ポリシー」タブに、添付されたポリシーが表示されます。

  11. ADFおよびWebCenterアプリケーションの場合は、Webサービス・アプリケーションを再起動します。SOAコンポジットまたはWebLogic JEE Webサービス・アプリケーションでは再起動する必要はありません。


    注意:

    アプリケーションの停止から再起動まで、約30秒間(または「正常な停止のタイムアウト」に設定された時間と同じ時間)待機する必要があります。この間に、アプリケーションを停止する前にサーバーですべてのグローバル・トランザクションを完了させます。「正常な停止のタイムアウト」に設定された時間待機しない場合、アプリケーションは適切に再起動されず、アクセスできなくなります。「正常な停止のタイムアウト」時間の待機を避けるには、アプリケーションを2回再起動します。

WLSTを使用したWebサービスへのポリシーの添付

WLSTを使用して単一のWebサービスに単一のポリシーまたは複数のポリシーを添付(または解除)するには、次の手順に従ってください。


注意:

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

  1. 「Webサービスに添付されたポリシーの表示」「WLSTの使用」の説明に従って、現在ポートに添付されているポリシーのリストを表示します。

  2. 「WLSTを使用した使用可能なポリシーのリストの表示」の説明に従って、使用可能なポリシーのリストを表示します。

  3. ポリシーを添付するには、次のいずれかを実行します。

    • attachWebServicePolicyコマンドを使用して、Webサービス・ポートに単一のポリシーを添付します。policyURI引数を使用して、添付するポリシーを指定します。指定したポリシーがすでに添付されているかすでに存在する場合は、このコマンドでそのポリシーが有効になります(無効な場合)。

      attachWebServicePolicy(application, moduleOrCompName, moduleType, serviceName, 
      subjectName, policyURI, [subjectType=None]
      

      たとえば、ポリシーoracle/wss_username_token_service_policyWsdlConcreteServiceWsdlConcretePortに添付するには、次のコマンドを使用します。

      wls:/wls_domain/serverConfig> attachWebServicePolicy("/wls_domain/AdminServer/jaxwsejb30ws",
      "jaxwsejb","web","WsdlConcreteService","WsdlConcretePort",
      "oracle/wss_username_token_service_policy")
      
    • attachWebServicePoliciesコマンドを使用して、Webサービス・ポートに複数のポリシーを添付します。policyURIs引数を使用して、添付するポリシーを指定します。このコマンドで指定したポリシーのいずれかがすでに添付されている場合は、このコマンドでその添付済ポリシーが有効になり(無効な場合)、その他のポリシーは添付されます。

      attachWebServicePolicies(application, moduleOrCompName, moduleType,
       serviceName, subjectName, policyURIs, [subjectType=None]
      

      たとえば、ポリシーoracle/wss_username_token_service_policyoracle/wsrm10_policyWsdlConcreteServiceWsdlConcretePortに添付するには、次のコマンドを使用します。

      wls:/wls_domain/serverConfig> attachWebServicePolicies("/wls_domain/AdminServer/jaxwsejb30ws",
      "jaxwsejb","web","WsdlConcreteService","WsdlConcretePort",
      ["oracle/wss_username_token_service_policy","oracle/wsrm10_policy"])
      
      Please restart application to uptake the policy changes.
      

    注意:

    wsm-pmアプリケーションがWebLogic Serverにインストールされており、使用可能は場合は、policyURIsはOracle WSM Policy Manager APIにより検証されます。ポリシーの検証が失敗した場合、メッセージが表示されてコマンドは実行されません。

    wsm-pmアプリケーションがインストールされていないか使用可能でない場合は、これらのコマンドは実行されません。

    ポリシーの検証の詳細は、「ポリシー・サブジェクトの検証」を参照してください。


  4. ポリシーを解除するには、次のいずれかを実行します。

    • detachWebServicePolicyコマンドを使用して、Webサービス・ポートから単一のポリシーを解除します。policyURI引数を使用して、解除するポリシーを指定します。

      detachWebServicePolicy(application, moduleOrCompName, moduleType,
       serviceName, subjectName, policyURI, [subjectType=None]
      

      たとえば、ポリシーoracle/wss_username_token_service_policyWsdlConcreteServiceWsdlConcretePortから解除するには、次のコマンドを使用します。

      wls:/wls_domain/serverConfig> detachWebServicePolicy("/wls_domain/AdminServer/jaxwsejb30ws",
      "jaxwsejb","web","WsdlConcreteService","WsdlConcretePort",
      "oracle/wss_username_token_service_policy")
      
    • detachWebServicePoliciesコマンドを使用して、Webサービス・ポートから複数のポリシーを解除します。policyURIs引数を使用して、解除するポリシーを指定します。

      detachWebServicePolicies(application, moduleOrCompName, moduleType,
      serviceName, subjectName, policyURIs, [subjectType=None]
      

      たとえば、ポリシーoracle/wss_username_token_service_policyoracle/wsrm10_policyWsdlConcreteServiceWsdlConcretePortから解除するには、次のコマンドを使用します。

      wls:/wls_domain/serverConfig> detachWebServicePolicies("/wls_domain/AdminServer/jaxwsejb30ws",
      "jaxwsejb","web","WsdlConcreteService","WsdlConcretePort",
      ["oracle/wss_username_token_service_policy","oracle/wsrm10_policy"])
      
      Please restart application to uptake the policy changes.
      
  5. ADFおよびWebCenterアプリケーションの場合は、Webサービス・アプリケーションを再起動します。SOAコンポジットでは再起動する必要はありません。


    注意:

    アプリケーションの停止から再起動まで、約30秒間(または「正常な停止のタイムアウト」に設定された時間と同じ時間)待機する必要があります。この間に、アプリケーションを停止する前にサーバーですべてのグローバル・トランザクションを完了させます。「正常な停止のタイムアウト」に設定された時間待機しない場合、アプリケーションは適切に再起動されず、アクセスできなくなります。「正常な停止のタイムアウト」時間の待機を避けるには、アプリケーションを2回再起動します。

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

複数のサブジェクトへのポリシーの添付(一括添付)

「アプリケーション」ページから、1つ以上のWebサービスに1つ以上のポリシーを添付できます。


注意:

一括添付メカニズムでは、添付するポリシーの検証は実行されません。

一括添付メカニズムでは、サポートされていない構成(複数の認証ポリシー)を作成したり、同じポリシーを複数回添付したりできます。

ポリシー添付は、クラスタ内のADF、WebCenter、およびWebLogic JEE Webサービスに対して自動的には同期化されません。クラスタ内のADF、WebCenter、およびWebLogic JEE Webサービスを使用する場合は、ポリシーをクラスタの各インスタンスに添付または解除する必要があります。この問題はSOAコンポジット・アプリケーションには適用されません。


アプリケーション内の複数のWebサービスにポリシーを添付する手順

  1. ナビゲータ・ペインで「WebLogicドメイン」を開き、ポリシーの添付を行うドメインを表示します。

  2. ドメインと、ポリシーを添付するサーバーのインスタンスを選択します。サーバーは、管理サーバーまたは管理対象サーバーのいずれかになります。

  3. Fusion Middleware Controlを使用して、「WebLogicサーバー」「Webサービス」をクリックします。

  4. 「Webサービスのサマリー」ページで「ポリシーの添付」をクリックします。

  5. 図8-4に示すように、「ポリシー・サブジェクトの選択」ページで、ポリシーを添付するアプリケーションを1つ以上選択します。

    「検索」コントロールを使用して、特定のポリシー・サブジェクト・タイプ、アプリケーション名、またはポリシーを添付するWebサービスのタイプを検索します。有効なポリシー・サブジェクト・タイプとして、Webサービス・エンドポイント、Webサービス・クライアント、Webサービス接続、SOAコンポーネント、SOAサービス、SOA参照、非同期コールバック・クライアント、WLS Webサービス・エンドポイントがあります。非同期コールバック・クライアントの詳細は、Oracle Fusion Middleware概要 for Oracle Infrastructure Webサービスの非同期Webサービスの開発に関する項を参照してください。

    たとえば、Webサービス・クライアントのポリシー・サブジェクト・タイプを検索する場合、使用可能なWebサービス・クライアント(存在する場合)のみが表示されます。

    複数のアプリケーションを選択するには、[Ctrl]キーを押しながらアプリケーションをクリックします。

    図8-4「ポリシー・サブジェクトの選択」ページ

    図8-4の説明が続きます
    図8-4「「ポリシー・サブジェクトの選択」ページ」の説明

  6. 「次へ」をクリックします。

  7. 図8-5に示すように、「ポリシーの選択」ページで、選択したアプリケーションに添付するポリシーを1つ以上選択します。「ポリシーの選択」ページには、前の手順で選択したすべてのサブジェクトに適用できるポリシーのみが表示されます。


    注意:

    Fusion Middleware Controlを使用してWebLogic JEE Webサービス・エンドポイントに添付できるのはセキュリティ・ポリシーのみです。非セキュリティ・ポリシーをWebLogic Webサービス・エンドポイントに添付しようとした場合、そのアクションは無視されます。

    複数のポリシーを選択するには、[Ctrl]キーを押しながら添付するポリシーをクリックします。

    図8-5「ポリシーの選択」ページ

    図8-5の説明が続きます
    図8-5「「ポリシーの選択」ページ」の説明

  8. 「次へ」をクリックします。

    図8-6に示すように、「サマリー」ページに、選択したアプリケーションと、それらのアプリケーションに添付するポリシーが表示されます。

    図8-6「サマリー」ページ

    図8-6の説明が続きます
    図8-6「「サマリー」ページ」の説明

  9. 変更を行うには「戻る」をクリックし、一括添付を完了するには「添付」をクリックします。

  10. ADFおよびWebCenterアプリケーションの場合は、Webサービス・アプリケーションを再起動します。SOAコンポジットまたはWebLogic JEE Webサービス・アプリケーションでは再起動する必要はありません。


    注意:

    アプリケーションの停止から再起動まで、約30秒間(または「正常な停止のタイムアウト」に設定された時間と同じ時間)待機する必要があります。この間に、アプリケーションを停止する前にサーバーですべてのグローバル・トランザクションを完了させます。「正常な停止のタイムアウト」に設定された時間待機しない場合、アプリケーションは適切に再起動されず、アクセスできなくなります。「正常な停止のタイムアウト」時間の待機を避けるには、アプリケーションを2回再起動します。

ポリシー・サブジェクトの検証

ポリシー内のアサーションのタイプおよび数が有効であれば、ポリシーは内部的に一貫性があり有効です。ただし、ポリシー・サブジェクトに複数のポリシーが添付されている場合は、ポリシーの組合せも有効であることが必要です。具体的には、次の内容を満たしている必要があります。

一括添付機能を使用する場合は、ポリシー・サブジェクト検証を使用して、複数のポリシー・サブジェクトの妥当性を確認することはできません。この機能を使用してサブジェクトにポリシーを添付した後に、各サブジェクトを個別に検証する必要があります。


注意:

ポリシー・サブジェクト検証では、ポリシーのXMLスキーマは検証されません。そのため、ポリシー・ファイルを手動で編集する場合は、別のツールを使用してXMLが有効であることを確認する必要があります。

ポリシー・サブジェクト検証を確認する手順

  1. ナビゲータ・ペインで、「アプリケーションのデプロイ」フォルダのプラス記号(+)をクリックしてファーム内のアプリケーションを表示し、アプリケーションを選択します。

    「アプリケーションのデプロイ」ホームページが表示されます。

  2. Fusion Middleware Controlを使用して、「アプリケーションのデプロイ」「Webサービス」をクリックします。

    これにより、アプリケーションの「Webサービスのサマリー」ページが表示されます。

  3. ページの「Webサービスの詳細」セクションで、まだ表示されていない場合は、Webサービス・ポートを表示するWebサービスのプラス記号(+)をクリックします。

  4. ポート名をクリックして「Webサービス・エンドポイント」ページに移動します。

  5. 「ポリシー」タブをクリックします。

  6. 「アタッチ/デタッチ」をクリックします。

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

    検証エラーがある場合は、エラーを説明するダイアログ・ボックスが表示されます。エラーを修正して、ポリシー・サブジェクト検証を再度実行します。

Webサービス・クライアントへのポリシーの添付

この項では、SOA参照、ADF Data Control(DC)および非同期のWebサービス・コールバック・クライアントなどのWebサービス・クライアントに、ポリシーを添付する方法について説明します。

WLSTポリシーを使用してWebサービス・クライアントにポリシーを添付する場合は、どのWebサービス・クライアント・タイプでも手順は同じです。引数の設定により、ポリシーを添付するクライアントのタイプを指定します。


注意:

WebLogic JEE Webサービス・クライアントへのOracle WSMポリシーの添付はサポートされていません。

Fusion Middleware Controlの使用

Fusion Middleware Controlでは、Webサービス・クライアントにポリシーを添付する手順は、どのWebサービス・クライアント・タイプでも同じです。ただし、次の項で説明するように、Webサービス・クライアントに移動する方法は、アプリケーション・タイプによって異なります。

SOA参照へのポリシーの添付

次の手順では、SOA参照にポリシーを添付する方法について説明します。SOA参照の開発に関する詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。

SOA参照にポリシーを添付する手順

  1. 「SOA参照の表示」の説明に従って、SOA参照を表示します。

  2. 「ポリシー」タブをクリックします。

  3. 「アタッチ/デタッチ」をクリックします。

  4. ページの「使用可能なポリシー」の部分で、添付するポリシーを1つ以上選択します。ポリシーを検証するには「検証」をクリックし、クライアント・ポリシーとサービス・ポリシーの互換性を確認するには「サービスの互換性をチェックします」をクリックします。

  5. ポリシーを添付するには、「アタッチ」をクリックします。

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

ADF DCのWebサービス・クライアントへのポリシーの添付

次の手順では、ADF DCのWebサービス・クライアントにポリシーを添付する方法について説明します。ADF DCのWebサービス・クライアントの開発に関する詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のFusion Web ApplicationでのOracle ADFモデルの使用に関する項を参照してください。

ADF DCのWebサービス・クライアントにポリシーを添付する手順

  1. Fusion Middleware Controlを使用して、「アプリケーションのデプロイ」を開きます。

  2. ターゲット・アプリケーションを選択します。

  3. 「アプリケーションのデプロイ」メニューから、「ADF」ADF接続の構成を選択します。

  4. ADF接続の構成ページで、「Webサービス接続」リストから1行を選択し、「Webサービスの構成」リストを使用してWebサービス・クライアントを構成します。

  5. 「Webサービス・クライアント」ページで、「ポリシー」タブを選択します。

  6. 「アタッチ/デタッチ」をクリックします。

  7. ページの「使用可能なポリシー」セクションで、添付するポリシーを1つ以上選択します。ポリシーを検証するには「検証」をクリックし、クライアント・ポリシーとサービス・ポリシーの互換性を確認するには「サービスの互換性をチェックします」をクリックします。

  8. ポリシーを添付するには、「アタッチ」をクリックします。

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

非同期のWebサービス・コールバック・クライアントへのポリシーの添付

次の手順では、非同期のWebサービス・コールバック・クライアントにポリシーを添付する方法について説明します。非同期Webサービスおよび非同期コールバック・クライアントの開発に関する詳細は、Oracle Fusion Middleware概要 for Oracle Infrastructure Webサービスの非同期Webサービスの開発に関する項を参照してください。

非同期コールバック・クライアントにポリシーを添付する手順

  1. 「Webサービス・エンドポイントの詳細の表示」の説明に従って、非同期Webサービスのエンドポイントに移動します。

  2. エンドポイント・ページの右上角のコールバック・クライアントをクリックします。

  3. 「ポリシー」タブをクリックします。

  4. 「アタッチ/デタッチ」をクリックします。

  5. ページの「使用可能なポリシー」の部分で、添付するポリシーを1つ以上選択します。ポリシーを検証するには「検証」をクリックし、クライアント・ポリシーとサービス・ポリシーの互換性を確認するには「サービスの互換性をチェックします」をクリックします。

  6. ポリシーを添付するには、「アタッチ」をクリックします。

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

WLSTの使用

次の手順では、SOA参照、ADF WebサービスDC、WebCenterクライアント、および非同期Webサービス・コールバック・クライアントにポリシーを添付する方法について説明します。どのクライアント・タイプでも手順は同じです。ただし、引数の設定は、ポリシーを添付または解除するクライアントのタイプによって異なります。

  1. 「Webサービス・クライアントの表示」「WLSTの使用」の説明に従って、Webサービス・クライアントを表示します。

  2. listWebServiceClientPortsコマンドを使用して、Webサービス・クライアントのポート名とエンドポイントURLを表示します。

    listWebServiceClientPorts(application,moduleOrCompName,moduleType,serviceRefName)
    

    たとえば、サービス参照clientのポートを表示するには、次のようにします。

    wls:/wls-domain/serverConfig> listWebServiceClientPorts('/base_domain/AdminServer/application1#V2.0',
    'test1','wsconn','client')
     
    HelloWorld_pt
    
  3. 「WLSTを使用した使用可能なポリシーのリストの表示」の説明に従って、使用可能なポリシーのリストを表示します。

    使用可能なクライアント・ポリシーのみを表示するには、subject引数にclientを設定します。たとえば、次のようにします。

    listAvailableWebServicePolicies("","client")
    
  4. ポリシーを添付するには、次のいずれかを実行します。

    • attachWebServiceClientPolicyコマンドを使用して、Webサービス・クライアント・ポートに単一のポリシーを添付します。

      attachWebServiceClientPolicy(application, moduleOrCompName, moduleType,
      serviceRefName, portInfoName, policyURI, [subjectType=None]
      

      次のように引数を設定します。

      • SOA参照の場合は、SOAコンポジットの名前を指定するにはmoduleOrCompName引数を使用し、soaを指定するにはmoduleType引数を使用し、SOA参照の名前を指定するにはserviceRefName引数を使用します。

      • ADF DCまたはWebCenterクライアントの場合は、application引数を使用してクライアント・アプリケーションの名前を指定し、moduleType引数を使用してwsconnを指定し、serviceRefName引数を使用してサービス参照名を指定します。

      • 非同期Webサービス・コールバック・クライアントの場合は、moduleType引数を使用してwebを指定します。クライアント・アプリケーションの名前またはSOAコンポジットの名前を指定するには、それぞれapplication引数とmoduleOrCompName引数を使用します。

      • すべてのクライアント・タイプで、portInfoName引数を使用してポートの名前を指定します。

      • policyURI引数を使用して、添付するポリシーを指定します。指定したポリシーがすでに添付されているかすでに存在する場合は、このコマンドでそのポリシーが有効になります(無効な場合)。

      たとえば、クライアント・ポリシーoracle/wss_username_token_client_policyclientサービスのHelloWorld_ptに添付するには、次のコマンドを使用します。

      wls:/wls_domain/serverConfig> attachWebServiceClientPolicy("/wls_domain/AdminServer/application1#2.0",
      "test1","wsconn","client","HelloWorld_pt","oracle/wss_username_token_client_policy")
      
    • attachWebServiceClientPoliciesコマンドを使用して、Webサービス・クライアント・ポートに複数のポリシーを添付します。上記の単一クライアント・ポリシーの添付の手順に従って引数を設定しますが、添付する複数のポリシーを指定するには、policyURIs引数を使用します。このコマンドで指定したポリシーのいずれかがすでに添付されている場合は、このコマンドでその添付済ポリシーが有効になり(無効な場合)、その他のポリシーは添付されます。

      attachWebServiceClientPolicies(application, moduleOrCompName, 
      moduleType, serviceRefName, portInfoName, policyURIs, [subjectType=None]
      

      たとえば、ポリシーoracle/wss_username_token_client_policyoracle/wsrm10_policyclientサービスのHelloWorld_ptに添付するには、次のコマンドを使用します。

      wls:/wls_domain/serverConfig> attachWebServiceClientPolicies("/wls_domain/AdminServer/application1#2.0",
      "test1","wsconn","client","HelloWorld_pt",
      ["oracle/wss_username_token_client_policy","oracle/wsrm10_policy"])
      
      Please restart application to uptake the policy changes.
      

    注意:

    wsm-pmアプリケーションがWebLogic Serverにインストールされており、使用可能は場合は、policyURIsはOracle WSM Policy Manager APIにより検証されます。ポリシーの検証が失敗した場合、メッセージが表示されてコマンドは実行されません。

    wsm-pmアプリケーションがインストールされていないか使用可能でない場合は、これらのコマンドは実行されません。

    ポリシーの検証の詳細は、「ポリシー・サブジェクトの検証」を参照してください。


  5. ポリシーを解除するには、次のいずれかを実行します。

    • detachWebServiceClientPolicyコマンドを使用して、Webサービス・ポートから単一のポリシーを解除します。

      detachWebServiceClientPolicy(application, moduleOrCompName, moduleType,
      serviceRefName, portInfoName, policyURI, [subjectType=None]
      

      上記の手順4の説明に従って、引数を設定します。

      たとえば、クライアント・ポリシーoracle/wss_username_token_client_policyclientサービスのHelloWorld_ptから解除するには、次のコマンドを使用します。

      wls:/wls_domain/serverConfig> detachWebServiceClientPolicy("/wls_domain/AdminServer/application1#2.0",
      "test1","wsconn","client","HelloWorld_pt","oracle/wss_username_token_client_policy")
      
    • detachWebServiceClientPoliciesコマンドを使用して、Webサービス・ポートから複数のポリシーを解除します。上記の単一クライアント・ポリシーの解除の手順に従って引数を設定しますが、解除する複数のポリシーを指定するには、policyURIs引数を使用します。

      detachWebServiceClientPolicies(application, moduleOrCompName, 
      moduleType, serviceRefName, portInfoName, policyURIs, [subjectType=None]]
      

      たとえば、ポリシーoracle/wss_username_token_client_policyoracle/wsrm10_policyclientサービスのHelloWorld_ptから解除するには、次のコマンドを使用します。

      wls:/wls_domain/serverConfig> detachWebServiceClientPolicies("/wls_domain/AdminServer/application1#2.0",
      "test1","wsconn","client","HelloWorld_pt",
      ["oracle/wss_username_token_client_policy","oracle/wsrm10_policy"])
      
      Please restart application to uptake the policy changes.
      
  6. ADF DCおよびWebCenterクライアント・アプリケーションの場合は、Webサービス・クライアント・アプリケーションを再起動します。SOAコンポジットでは再起動する必要はありません。

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

オーバーライド可能なクライアント・ポリシーの添付

ポリシー構成のオーバーライド機能を使用すると、ポリシー添付のWebサービス・クライアント構成情報をグローバルに設定するかわりに、またはそれに加えて、特定の構成情報をクライアントごとに指定できます。構成情報のターゲット指定により、管理する個別ポリシーの数を制限できます。

1つのポリシーを定義して、構成値のデフォルト値を指定できます。構成がほとんど変わらない複数のポリシーを作成するのではなく、同じ一般ポリシーを使用し、要件に一致するように特定の値をオーバーライドできます。

たとえば、oracle/wss_http_token_client_policyポリシーには、csf-keyプロパティがあり、デフォルト値はbasic.credentialsです。この値は、ユーザー名/パスワードにマッピングされているキーを表しています。このポリシーを複数のWebサービス・クライアントに添付するときに同じキー値を常に使用する可能性があります。この場合、oracle/wss_http_token_client_policyポリシーの「構成」ページでキー値を指定して、すべてのインスタンスに適用できます。

一方、このキー値をクライアントごとにオーバーライドすることもできます。オーパーライドできるプロパティを含むクライアント・ポリシーを添付した後に、図8-7に示すように、「ポリシー」ページの「セキュリティ構成の詳細」セクションで値を入力できます。

図8-7 構成プロパティのオーバーライド

図8-7の説明が続きます
「図8-7 構成プロパティのオーバーライド」の説明

Webサービス・クライアント・ポリシーでは、次のプロパティのみをオーバーライドできます。

構成プロパティのクリア

オーバーライドした構成プロパティをクリアするには、空の文字列を設定します。

クリアする前に、他のポリシーで同じプロパティを使用している可能性がないかを確認します。プロパティはクライアント固有ですが、同じプロパティを使用する同一クライアントに複数のポリシーが添付されている場合があります。

オーバーライド可能なWebサービス・ポリシーの添付


注意:

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

事前定義済またはカスタムのWebサービス・ポリシーでサーバー側の構成プロパティの値を指定して、Webサービスにポリシーを添付するたびにその値を使用するか、または添付ごとのベースでその値をオーバーライドできます。

たとえば、構成プロパティとしてIPアドレスを指定し、そのIPアドレスをWebサービスから検証します。

サーバー側の構成プロパティ値のスコープは、指定されたポリシーに限定されます。つまり、サーバー側の構成プロパティの名前が同じ(たとえばP1)2つのポリシーを、同じWebサービス・エンドポイントに添付し、その2つのP1プロパティに異なる値を指定することができます。

オーバーライドできるサーバー側のプロパティには、事前定義済ポリシーとユーザー定義ポリシーの2つのタイプがあります。

メッセージ保護ポリシーのサーバー側オーバーライド・プロパティの構成

Oracle WSMのこのリリースには、表8-1に示す、メッセージ保護ポリシーのサーバー側オーバーライド・プロパティが含まれています。

これらのプロパティを設定(またはオーバーライド)すると、「メッセージ保護に関するキーストアの設定」で説明するように、添付されたWebサービスで、メッセージ保護に関するキーストアの設定の一部として構成されたキーストア・パスワードのかわりに新しい値が使用されます

これらのプロパティを設定せずにデフォルトの空白のままにすると、「メッセージ保護に関するキーストアの設定」で説明するように、メッセージ保護に関するキーストアの設定の一部として構成された値が使用されます。

表8-1 メッセージ保護ポリシーのサーバー側の構成プロパティ

プロパティ名 デフォルト値 説明

keystore.sig.csf.key

空白

署名キー・パスワードをキーストアに格納するために使用する別名とパスワード。

このプロパティにより、ドメイン・レベルのかわりに添付レベルで署名キーを指定できます。

(WSS10メッセージ保護ポリシーにのみ適用可能)

keystore.sig.csf.key

空白

暗号化キー・パスワードをキーストアに格納するために使用する別名とパスワード。

このプロパティにより、ドメイン・レベルのかわりに添付レベルで暗号化キーを指定できます。

(WSS11メッセージ保護同期ポリシーにのみ適用可能)


構成プロパティのデフォルト値の設定

デフォルトでは、keystore.sig.csf.keyおよびkeystore.enc.csf.keyプロパティは空白です。値を設定すると、ポリシーを添付するWebサービスでその値を使用したり、ポリシーを添付するときにその値をオーバーライドしたりできます。

ポリシーの構成プロパティの値を設定する手順

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

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

  3. 「ポリシーの編集」ページで、「構成」タブをクリックします。

  4. 構成プロパティを選択し、「編集」をクリックして、キーストア内のキーに基づいてkeystore.sig.csf.keyおよびkeystore.enc.csf.keyプロパティを変更します。図8-8を参照してください。

    図8-8 サーバー側の構成プロパティ

    図8-8の説明が続きます
    「図8-8 サーバー側の構成プロパティ」の説明

  5. 変更内容を検証します。

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

ポリシーの添付時の構成プロパティのオーバーライド

サーバー側の構成プロパティを含むメッセージ保護ポリシーを添付した後で、既存の値をオーバーライドできます。Fusion Middleware Controlでこれを行うには、ポリシーページの「セキュリティ構成の詳細」セクションを使用します。WLSTでこれを行うには、「WLSTを使用してポリシーの添付時の構成プロパティのオーバーライド」で説明されているように、setWebServicePolicyOverrideコマンドを使用します。

Fusion Middleware Controlを使用してこれを行うには、サーバー側の構成プロパティを含む添付されたポリシーを選択します。図8-9に示すように、ページの「セキュリティ構成の詳細」部分が表示されます。

図8-9 サーバー側の構成プロパティのオーバーライド

図8-9の説明が続きます
「図8-9 サーバー側の構成プロパティのオーバーライド」の説明

プロパティは添付単位でオーバーライドされます。

たとえば、oracle/wss10_message_protection_service_policyポリシーのkeystore.sig.csf.keyプロパティの値を変更しておらず、まだ空白のままであると仮定します。WebサービスAにoracle/wss10_message_protection_service_policyポリシーを添付し、keystore.sig.csf.keyプロパティに「sigkey」をオーバーライドした場合、keystore.sig.csf.keyプロパティが値「sigkey」を持つのは、WebサービスAに添付されたoracle/wss10_message_protection_service_policyポリシーだけです。

他のすべてのポリシーでは、「メッセージ保護に関するキーストアの設定」で説明するように、keystore.sig.csf.keyは、メッセージ保護に関するキーストアの設定の一部として構成された値になります。

認可ポリシーのサーバー側オーバーライド・プロパティの構成

Oracle WSMのこのリリースには、表8-2で示す、oracle/binding_permission_authorization_policyポリシーのサーバー側オーバーライド・プロパティが含まれています。これらのプロパティを使用して、異なるアクションとリソースを設定できます。

これらのプロパティを設定(またはオーバーライド)すると、「認証権限の決定方法」で説明するように、添付されたWebサービスで、構成されたアクションとリソースのかわりに新しい値が使用されます。

表8-2 認可ポリシーのサーバー側の構成プロパティ

プロパティ名 デフォルト値 説明

action

*


このポリシーを実行する操作を指定します。

resource

*


Webサービス名(Webサービスの名前空間 + サービス名)を指定します。


構成プロパティのデフォルト値の設定

デフォルトでは、actionおよびresourceプロパティの値は*です。別の値を設定すると、ポリシーを添付するWebサービスでその値を使用したり、ポリシーを添付するときにその値をオーバーライドしたりできます。

構成プロパティの値を設定する手順

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

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

  3. 「ポリシーの編集」ページで、「構成」タブをクリックします。

  4. 構成プロパティを選択し、「編集」をクリックして、使用環境に基づいてactionまたはresourceプロパティを変更します。

  5. 変更内容を検証します。

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

ポリシーの添付時の構成プロパティのオーバーライド

oracle/binding_permission_authorization_policyポリシーを添付した後で、Fusion Middleware Controlを使用してポリシーページの「セキュリティ構成の詳細」セクションで既存の値をオーバーライドできます。WLSTでこれを行うには、「WLSTを使用してポリシーの添付時の構成プロパティのオーバーライド」で説明されているように、setWebServicePolicyOverrideコマンドを使用します。

Fusion Middleware Controlを使用してこれを行うには、添付されたoracle/binding_permission_authorization_policyポリシーを選択します。ページの「セキュリティ構成の詳細」部分が表示されます。

ユーザー定義のクライアント側またはサーバー側のオーバーライド・プロパティの構成


注意:

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

新規構成プロパティの追加機能を使用して、使用環境で意味を持つ1つ以上の構成プロパティを追加できます。特に、1つ以上のユーザー定義のサーバー側またはクライアント側プロパティを、事前定義済ポリシーまたはカスタム・ポリシーに追加できます。それから、ユーザー定義のプロパティをそのまま使用するか、ポリシーに添付するときにそれをオーバーライドできます。

どちらの場合でも、ポリシーをWebサービスまたはクライアントに添付するときに、プロパティをオーバーライドする前にそのプロパティがポリシーに存在している必要があります。つまり、ポリシーにすでに存在するプロパティのみオーバーライドできます。

そのため、通常はユーザーが提供するプロパティをデフォルト値を含めて事前定義済またはカスタムのポリシーに追加し、それから添付単位でそれをオーバーライドします。

required、optional、またはconstantタイプのユーザー定義のプロパティを追加できますが、constantタイプのプロパティはオーバーライドできません。

ユーザー定義の構成プロパティのスコープ

事前定義済の構成プロパティと同様に、ポリシーのユーザー定義の構成プロパティのスコープは、クライアントとWebサービスで異なります。次の内容を考慮します。

  • クライアント側の構成プロパティ値のスコープは、そのクライアントです。同一クライアントに添付される複数のポリシーが同じプロパティを使用できます。

  • サーバー側の構成プロパティ値のスコープは、指定されたポリシーに限定されます。つまり、サーバー側の構成プロパティの名前が同じ(たとえばP1)2つのポリシーを、同じWebサービス・エンドポイントに添付し、その2つのP1プロパティに異なる値を指定することができます。

ユーザー定義の構成プロパティの追加

ユーザー定義の構成プロパティを追加するには、事前定義済またはカスタムのポリシーを編集します。

ユーザー定義の構成プロパティを追加する手順

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

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

  3. 「ポリシーの編集」ページで、「構成」タブをクリックします。

  4. 「追加」をクリックします。図8-10に示すように、新規構成プロパティの追加ダイアログ・ボックスが表示されます。

    図8-10 新規構成プロパティの追加

    図8-10の説明が続きます
    「図8-10 新規構成プロパティの追加」の説明

  5. 次の情報を入力して、「OK」をクリックします。

    • 「プロパティ・セット」は、このプロパティを含めるグループ(セット)の名前です。これは必須フィールドです。

    • 「名前」は、プロパティの名前です。名前はこのポリシーに対して一意である必要があります。これは必須フィールドです。

    • 「説明」は、プロパティの説明です。

    • 「値」は、プロパティの現在の文字列値です。これは必須フィールドです。

    • 「デフォルト」は、プロパティが他で設定されていない場合のプロパティのデフォルトの文字列値です。

    • 「コンテンツ・タイプ」は、Constant、Optional、Requiredのいずれかです。タイプがOptionalとRequiredのプロパティのみオーバーライドできます。

  6. ポリシーを検証します。

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

ユーザー定義の構成プロパティの編集

ユーザー定義の構成プロパティを変更する必要がある場合は、これを編集できます。

ユーザー定義の構成プロパティを編集する手順

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

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

  3. 「ポリシーの編集」ページで、「構成」タブをクリックします。

  4. 編集するユーザー定義の構成プロパティを選択して、「編集」をクリックします。

  5. 必要な変更を行います。

  6. ポリシーを検証します。

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

ユーザー定義の構成プロパティの削除

ユーザー定義の構成プロパティが必要なくなった場合は、これを削除できます。

ユーザー定義の構成プロパティを削除する手順

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

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

  3. 「ポリシーの編集」ページで、「構成」タブをクリックします。

  4. 削除するユーザー定義の構成プロパティを選択して、「削除」をクリックします。

  5. ポリシーを検証します。

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

ポリシーの添付時の構成プロパティのオーバーライド

ユーザー定義の構成プロパティを持つポリシーを添付する場合は、Fusion Middleware Controlを使用してポリシーページの「セキュリティ構成の詳細」セクションで既存の値をオーバーライドできます。WLSTでこれを行うには、「WLSTを使用してポリシーの添付時の構成プロパティのオーバーライド」で説明されているように、setWebServicePolicyOverrideコマンドを使用します。

Fusion Middleware Controlを使用してこれを行うには、必要に応じて「単一のサブジェクトへのポリシーの添付」「複数のサブジェクトへのポリシーの添付(一括添付)」、または「Webサービス・クライアントへのポリシーの添付」の説明に従って、ポリシーを添付します。

それから、ユーザー定義のプロパティを含む添付されたポリシーを選択します。図8-11に示すように、ページの「セキュリティ構成の詳細」部分が表示されます。

図8-11 ユーザー定義の構成プロパティのオーバーライド

図8-11の説明が続きます
「図8-11 ユーザー定義の構成プロパティのオーバーライド」の説明

WLSTを使用したポリシーの添付時の構成プロパティのオーバーライド


注意:

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

オーバーライド可能なプロパティを持つポリシーを添付する場合は、setWebServicePolicyOverrideコマンドを使用して既存の値をオーバーライドできます。これを実行するには、次の手順に従ってください。

  1. 「WLSTを使用したWebサービスへのポリシーの添付」の説明に従って、サービスにポリシーを添付します。

  2. setWebServicePolicyOverrideコマンドを使用して、ポリシー・プロパティをオーバーライドします。

    setWebServicePolicyOverride(application,moduleOrCompName,moduleType,
    serviceName,portName,policyURI,properties)
    

    表8-1および表8-2にリストされているプロパティと、「ユーザー定義のクライアント側またはサーバー側のオーバーライド・プロパティの構成」に記載されているユーザー定義のプロパティをオーバーライドできます。

    たとえば、oracle/wss_username_token_service_policy policyROLEプロパティをオーバーライドするには、次のコマンドを使用します。

    wls:/wls-domain/serverConfig>setWebServicePolicyOverride
    ('/wls_domain/AdminServer/Jaxwsejb30ws','jaxwsejb',
    'web','WsdlConcreteService','WsdlConcretePort',
    "oracle/wss_username_token_service_policy",[("ROLE","ADMIN")])   
    

    注意:

    指定したポリシーがポートに添付されていない場合は、エラーメッセージが表示されるか例外が返されます。

    properties引数をNoneに設定した場合は、ポリシーのすべてのオーバーライドが削除されます。


  3. ADFおよびWebCenterアプリケーションの場合は、Webサービス・アプリケーションを再起動します。SOAコンポジットでは再起動する必要はありません。


    注意:

    アプリケーションの停止から再起動まで、約30秒間(または「正常な停止のタイムアウト」に設定された時間と同じ時間)待機する必要があります。この間に、アプリケーションを停止する前にサーバーですべてのグローバル・トランザクションを完了させます。「正常な停止のタイムアウト」に設定された時間待機しない場合、アプリケーションは適切に再起動されず、アクセスできなくなります。「正常な停止のタイムアウト」時間の待機を避けるには、アプリケーションを2回再起動します。

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