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

前
 
次
 

9 ポリシー・セットの作成および管理

ポリシー・セットでは、同じタイプの多岐に渡るエンドポイントにポリシーをグローバルに添付する手段を提供します。この章では、Oracle Enterprise Manager Fusion Middleware Controlおよびコマンドライン・インタフェースWebLogic Scripting Tool (WLST)を使用して、ポリシー・セットを管理および作成する方法を説明します。ポリシー・セットの詳細は、「ポリシー・セットを使用したポリシーのグローバルな添付」を参照してください。ポリシーをポリシー・サブジェクトに直接添付する詳細は、第8章「Webサービスへのポリシーの添付」を参照してください。

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


注意:

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

この章で説明しているWLSTコマンドのヘルプを表示するには、サーバーの実行中のインスタンスに接続し、help('wsmManage')を入力します。


ポリシー・セット・サマリー・ページへの移動

ポリシー・セットは、「ポリシー・セット・サマリー」ページからドメイン・レベルで管理できます。このページから、ポリシー・セットを表示、作成、コピー、編集および削除できます。

ポリシー・セット・サマリー・ページに移動するには、次の手順を実行します。

  1. ナビゲータ・ペインで「WebLogicドメイン」を開きます。

  2. ポリシー・セットを管理するドメインを選択します。

  3. 「WebLogic Domain」メニューから、「Webサービス」「ポリシー・セット」の順に選択します。

    図9-1に示すように、「ポリシー・セット・サマリー」ページが表示されます。

    図9-1 ポリシー・セット・サマリー・ページ

    図9-1の説明が続きます
    「図9-1 「ポリシー・セット・サマリー・ページ」の説明

WLSTを使用したポリシー・セットのリストの表示

リポジトリのポリシー・セットのリストを表示するには、次の手順を実行します。

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

  2. リポジトリのポリシー・セットのリストを表示するには、listPolicySetsコマンドを使用します。

    listPolicySets ([type=None])
    

    ポリシー・サブジェクト・リソース・タイプの特定のタイプに適用するポリシー・セットのみが含まれるように表示を制限できます。サブジェクトのタイプを指定するには、表9-1「ポリシー・サブジェクト・リソース・タイプ」に指定されている略称を使用する必要があります。

    たとえば、Webサービス・エンドポイントに適用するポリシー・セットのリストを表示するには、次のコマンドを使用します。

    wls:/jrfserver_domain/serverConfig>listPolicySets('ws-service')
     Global Policy Sets in Repository:
      app-only-web-service-policies
      all-domains-default-web-service-policies
    

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

ポリシー・セットの構成の表示

次の項では、Fusion Middleware Controlまたはコマンドライン・インタフェースWebLogic Scripting Tool (WLST)のいずれかを使用してポリシー・セットを表示する方法について説明します。

Fusion Middleware Controlの使用

ポリシー・セットを表示するには、次の手順を実行します。

  1. 「Webサービスのサマリー」ページへの移動」の説明に従って、「ポリシー・セット・サマリー」ページに移動します。

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

  3. ポリシー・セットを参照し終わったら、ポリシー・セットに戻るをクリックします。

    図9-2 ポリシー・セットの表示

    図9-2の説明が続きます
    「図9-2 ポリシー・セットの表示」の説明

WLSTの使用

リポジトリの特定のポリシー・セットの構成を表示するには、次の手順を実行します。

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

  2. 指定のポリシー・セットの構成を表示するには、displayPolicySetコマンドを使用します。

    displayPolicySet (name=None)
    

    リポジトリ・セッション外でこのコマンドを実行する場合、name引数を使用してポリシー・セットの構成を表示できます。ポリシー・セットが存在しない場合は、エラー・メッセージが表示されます。

    リポジトリ・セッションでポリシー・セットを作成または変更する場合は、name引数を指定する必要はありません。デフォルトでは、現在のポリシー・セットが使用されます。ポリシー・セットを変更中の場合は、変更後のバージョンが表示されます。それ以外の場合は、リポジトリの最新バージョンが表示されます。

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

    wls:/jrfserver_domain/serverConfig>displayPolicySet('all-domains-default-web-service-policies')
     
    Policy Set Details:
    -------------------
    Name:                all-domains-default-web-service-policies
    Type of Resources:   Web Service Endpoint
    Scope of Resources:  Domain("jrfServer_domain")
    Description:         Global policy attachments for Web Service Endpoint resources.
    Enabled:             true
    Policy Reference:    security : oracle/wss11_saml_or_username_token_with_message_protection_service_policy, enabled=true
    

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

WLSTを使用したリポジトリ変更セッションの管理

WLSTを使用してポリシー・セットを作成、変更および削除する場合は、リポジトリ・セッションのコンテキストでコマンドを実行する必要があります。各リポジトリ・セッションは単一のポリシー・セットのみに適用されます。

リポジトリを変更するセッションを作成するには、beginRepositorySessionコマンドを使用します。ポリシー・セットを作成、変更、または削除する目的のコマンドを入力したら、commitRepositorySessionコマンドを使用してセッションの内容をリポジトリに書き込みます。

現行セッションの内容を記述するには、describeRepositorySessionコマンドを使用します。

リポジトリに内容を書き込むことなくリポジトリ・セッションを終了するには、abortRepositorySessionコマンドを使用します。

これらのコマンドの例は後続のセクションで説明します。詳細は、WebLogic Scripting Toolコマンド・リファレンスのWebサービスのカスタムWLSTコマンドを参照してください。

ポリシー・セットの作成

次の項では、Fusion Middleware Controlまたはコマンドライン・インタフェースWebLogic Scripting Tool (WLST)のいずれかを使用してポリシー・セットを作成する方法について説明します。

Fusion Middleware Controlの使用

ポリシー・セットを作成するには、次の手順を実行します。

  1. 「Webサービスのサマリー」ページへの移動」の説明に従って、「ポリシー・セット・サマリー」ページに移動します。

  2. 「ポリシー・セット・サマリー」・ページから、「作成」をクリックします。

    ポリシー・セット作成ウィザードの最初のページが表示されます。

  3. 一般情報の入力ページで、図9-3に示すようにポリシー・セットの名前と説明を入力します。

    図9-3 一般情報の入力ページ

    図9-3の説明が続きます
    「図9-3 一般情報の入力ページ」の説明

  4. ポリシー・セットを有効にするには、「有効」チェック・ボックスを選択します。

  5. リソース・タイプフィールドで、ポリシーを添付するポリシー・サブジェクトのタイプを選択します。次のページで、ポリシー・セットを適用するリソースのスコープを定義します。選択可能なポリシー・サブジェクトのタイプは次のとおりです。

    • SOAコンポーネント

    • SOAサービス

    • SOA参照

    • Webサービス接続

    • Webサービス・エンドポイント

    • Webサービス・クライアント

    • 非同期コールバック・クライアント

  6. オプションで、ポリシー・セットの説明を追加して、「次へ」をクリックします。

  7. リソース・スコープの入力ページで、前のステップで選択したリソース・タイプのスコープを定義する少なくとも1つのパターン文字列を入力します。次のリソース・スコープがサポートされています。

    • ドメイン

    • サーバー・インスタンス

    • アプリケーション

    • アプリケーション・モジュール

    • SOAコンポジット


    注意:

    リソース・スコープを指定するには、このページの少なくとも1つの「パターン」フィールドにパターン文字列を入力します。

    使用可能なリソース・スコープのリストは前のページで選択したリソース・タイプによって決まります。たとえば、Webサービス・エンドポイントを選択した場合、使用可能なリソース・スコープはドメイン、サーバー・インスタンス、アプリケーション、およびアプリケーション・モジュールです。SOAリソース・タイプでは、リソース・スコープはドメイン、サーバー・インスタンスおよびSOAコンポジットです。

    たとえば、ドメイン内のすべてのWebサービスのエンドポイントにポリシーを添付するには、ドメイン名のみを表すパターン文字列を入力します。その他のフィールドに入力する必要はありません。アプリケーション・レベルまたはアプリケーション・モジュール・レベルなどより細かいスコープでポリシーを添付するには、「パターン」フィールドにアプリケーションまたはモジュールの名前を表すパターン文字列を入力します。文字列内の任意の箇所でアスタリスク(*)をワイルドカード文字として使用して、その位置の任意の文字数に一致させることができます。また、文字列内で複数のワイルドカードを指定できます。ドメインでアスタリスクのワイルドカードのみを使用すると、そのスコープ・レベルは企業内のすべてのドメインに影響します。

    「ドメイン名」、「サーバー・インスタンス名」など複数のリソース・スコープでパターン文字列を指定する場合、Domain("myDomain*") AND Server ("*SOA*")などのように、フィルタ条件がAND処理されます。リソース・タイプおよびスコープの指定および複数のリソース・タイプを指定する例の詳細は、「リソースのタイプとスコープの定義」を参照してください。

    図9-4 リソース・スコープの入力ページ

    図9-4の説明が続きます
    「図9-4 リソース・スコープの入力ページ」の説明

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

  9. ポリシー参照の追加ページで、「使用可能なポリシー」リストからポリシーを選択して、「添付」をクリックします。

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

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

    図9-5 ポリシー参照の追加ページ

    図9-5の説明が続きます
    「図9-5 ポリシー参照の追加・ページ」の説明

  11. ポリシー・セット・サマリー・ページを表示するには、「次へ」をクリックします。

  12. ポリシー・セットのサマリー情報を確認します。ポリシー・セットに満足した場合は、「保存」をクリックします。

    検証が失敗した場合でも、ポリシー・セットは保存されますが、無効モードで保存されます。

    図9-6 ポリシー・セットの作成ウィザードのポリシー・セット・サマリー・ページ

    図9-6の説明が続きます
    「図9-6 ポリシー・セットの作成ウィザードのポリシー・セット・サマリー・ページ」の説明

WLSTの使用

次の手順で、WLSTを使用してポリシー・セットを作成します。

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

  2. beginRepositorySessionコマンドを使用してリポジトリ・セッションを開始します。

    beginRepositorySessionを使用してリポジトリを変更するセッションを作成します。すべての作成、変更または削除コマンドはセッションのコンテキストで実行する必要があります。セッションは1つのドキュメントでのみ動作できます。

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

    wls:/jrfserver_domain/serverConfig> beginRepositorySession()
    
    Repository session begun.
    
  3. createPolicySetコマンドを使用して、新しい空のポリシー・セットを作成します。nametypeattachTo引数が必要です。

    createPolicySet(name, type, attachTo, [description=None], [enable='true'])
    

    説明:

    • nameは新しい空のポリシー・セットの名前を表します。

    • typeは新しいポリシー・セットの適用先のポリシー・サブジェクトのタイプを表します。

    • attachToはポリシー・セットの添付先のリソースのスコープを表します。この引数はサポートされている形式で有効なリソース・スコープを定義するサポートされている式を使用する必要があります。詳細は、「リソースのタイプおよびスコープの定義」を参照してください。

      リソース・スコープの正確なドメイン名を入力する必要はありません。例に示すように、ワイルドカードを使用できます。詳細は、「リソースのタイプおよびスコープの定義」を参照してください。

    • nameはポリシー・セットの説明を提供するオプションの引数を表します。

    • enableではポリシー・セットが有効であるか無効であるかを指定します。この引数はオプションです。

    たとえば、必須の引数のみを使用してドメイン内のすべてのサービスのポリシー・セットを作成するには、次のコマンドを使用します。

    wls:/jrfserver_domain/serverConfig> createPolicySet('all-domains-default-web-service-policies', 'ws-service', 'Domain("*")')
    
    Description defaulted to "Global policy attachments for Web Service Endpoint resources."The policy set was created successfully in the session.
    

    コマンドラインで説明が指定されていないため、デフォルトの説明が指定されます。

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

  4. setPolicySetDescriptionコマンドを使用して説明を指定します。

    setPolicySetDescription(description)
    

    たとえば、説明に「Default policies for web services in any domain」と設定するには、次のコマンドを使用します。

    wls:/jrfserver_domain/serverConfig> setPolicySetDescription('Default policies for web services in any domain')
    
    Description updated.
    
  5. 現在のポリシー・セットにポリシーを添付するには、attachPolicySetPolicyコマンドを使用します。uri引数を使用して指定のURIで特定するポリシーはポリシー・セットで指定されたエンドポイントに添付されます。必要に応じて、このコマンドを繰り返しポリシー・セットに目的のすべてのポリシーを添付できます。

    attachPolicySetPolicy(uri)
    

    たとえば、ポリシー・セットで指定したサブジェクトにポリシー「oracle/wss11_saml_or_username_token_with_message_protection_service_policy」をサブジェクトに添付するには、次のコマンドを入力します。

    wls:/jrfserver_domain/serverConfig>attachPolicySetPolicy('oracle/wss11_saml_or_username_token_with_message_protection_service_policy')
    
    Policy reference added.
    
  6. 現在のリポジトリ・セッションでポリシー・セットの構成を表示するには、displayPolicySetコマンドを使用します。

    displayPolicySet(name=None)
    

    リポジトリ・セッション内でこのコマンドを実行する場合は、name引数を指定する必要はありません。デフォルトでは、現在のポリシー・セットが使用されます。ポリシー・セットを変更中の場合は、変更後のバージョンが表示されます。それ以外の場合は、リポジトリの最新バージョンが表示されます。

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

    wls:/jrfserver_domain/serverConfig>displayPolicySet() 
    
    Policy Set Details:
    -------------------
    Name:                all-domains-default-web-service-policies
    Type of Resources:   Web Service Endpoint
    Scope of Resources:  Domain("*")
    Description:         Default policies for web services in any domain
    Enabled:             true
    Policy Reference:    security : oracle/wss11_saml_or_username_token_with_message_protection_service_policy, enabled=true
    
  7. ポリシー・セットを検証するには、validatePolicySetコマンドを使用します。

    validatePolicySet(name=None)
    

    名前が指定されていない場合は、このコマンドにより現行セッションで作成または変更するポリシー・セットが検証されます。リポジトリ・セッション外でこのコマンドを実行することもできます。その場合は、name引数が必要です。

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

    wls:/jrfserver_domain/serverConfig> validatePolicySet()
     
    The policy set all-domains-default-web-service-policies is valid.
    
  8. リポジトリに現在のセッションの内容を書き込むには、commitRepositorySessionコマンドを使用します。

    wls:/jrfserver_domain/serverConfig> commitRepositorySession()
    
    The policy set all-domains-default-web-service-policies is valid.
    Creating policy set all-domains-default-web-service-policies in repository.
     
    Repository session committed successfully.
    

    また、abortRepositorySessionコマンドを使用して変更をキャンセルできます。このコマンドでは、セッション中にリポジトリに行った変更を破棄します。

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

既存のポリシー・セットからのポリシー・セットの作成

新しいポリシー・セットのベースとして既存のポリシー・セットを使用できます。次の項では、Fusion Middleware Controlまたはコマンドライン・インタフェースWebLogic Scripting Tool (WLST)のいずれかを使用して既存のポリシー・セットから新しいポリシー・セットを作成する方法について説明します。

既存のポリシー・セットからポリシー・セットを作成すると、すべての値と添付が新規のポリシー・セットにコピーされます。新規のポリシー・セットのリソース・スコープとポリシー添付は変更できますが、適用されるリソースのタイプは変更できません。

Fusion Middleware Controlの使用

既存のポリシー・セットを使用してポリシー・セットを作成するには、次の手順を実行します。

  1. 「Webサービスのサマリー」ページへの移動」の説明に従って、「ポリシー・セット・サマリー」ページに移動します。

  2. 「ポリシー・セット・サマリー」ページで、コピーするポリシー・セットを選択して、「類似作成」をクリックします。

  3. 一般情報の入力ページで、ポリシー・セットの名前と説明を入力します。

    次の点に注意してください。

    • デフォルトの新しいポリシー・セット名は、「_Copy」をベースのポリシー・セット名に追加することにより作成されます。たとえば、ベースのポリシー・セットをall-domains-default-web-service-policiesという名前にすると、コピーで表示される名前はall-domains-default-web-service-policies_Copyです。

    • 「リソース・タイプ」フィールドは読取り専用です。ポリシー・セットをクローニングする場合、スコープを変更できますが、ポリシー・セットを添付するリソースのタイプは変更できません。

  4. 「有効」チェック・ボックスを選択または選択解除して、ポリシー・セットを有効または無効にします。

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

  6. リソース・スコープの入力ページで、必要に応じてスコープを変更し、「次へ」をクリックします。


    注意:

    リソース・スコープを指定するには、このページの少なくとも1つの「パターン」フィールドにパターン文字列を入力する必要があります。

  7. ポリシー参照の追加ページで、必要に応じてポリシーの添付ファイルを変更します。完了したら、「検証」をクリックして、選択したポリシーの組合せが有効であることを確認します。

  8. ポリシー・セット・サマリー・ページを表示するには、「次へ」をクリックします。

  9. ポリシー・セットのサマリー情報を確認します。ポリシー・セットに満足した場合は、「保存」をクリックします。

WLSTの使用

既存のポリシー・セットからポリシー・セットを作成するには、次の手順を実行します。

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

  2. beginRepositorySessionコマンドを使用してリポジトリ・セッションを開始します。

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

    wls:/jrfserver_domain/serverConfig> beginRepositorySession()
    
    Repository session begun.
    
  3. clonePolicySetコマンドで、既存のポリシー・セットを使用してポリシー・セットを作成します。

    clonePolicySet(name, source, [attachTo=None,] [description=None], [enable='true'])
    

    説明:

    • nameは新しいクローンしたポリシー・セットの名前を表します。

    • sourceでは、クローニングするポリシー・セットの名前を表します。

    • attachToはポリシー・セットの添付先のリソースのスコープを表します。この引数は、指定される場合、サポートされている形式で有効なリソース・スコープを定義するサポートされている式を使用する必要があります。リソース・スコープの正確な名前を入力する必要はありません。例に示すように、ワイルドカードを使用できます。詳細は、「リソースのタイプおよびスコープの定義」を参照してください。

      この引数が指定されていない場合は、リソースのスコープを識別するように設定されたソース・ポリシーで使用する式が保持されます。また、ステップ0の説明に従って、attachPolicySetコマンドを使用してリソース・スコープを変更することもできます。

    • descriptionはクローニングされたポリシー・セットの説明を提供するオプションの引数を表します。

    • enableではポリシー・セットが有効であるか無効であるかを指定します。この引数はオプションです。

    たとえば、ポリシー・セットをクローンニングするには、次の手順を実行します。

    wls:/jrfServer_domain/serverConfig> clonePolicySet('app-only-web-service-policies','all-domains-default-web-service-policies', None, 'Default policies for application jaxws-sut')
    
    The policy set was cloned successfully in the session.
    

    attachTo引数はこの例では指定されませんでした。

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

  4. オプションでは、displayPolicySetコマンドを使用してポリシー・セットの構成を表示できます。

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

    wls:/jrfServer_domain/serverConfig> displayPolicySet()
     
    Policy Set Details:
    -------------------
    Name:                app-only-web-service-policies
    Type of Resources:   Web Service Endpoint
    Scope of Resources:  Domain("jrfServer_domain")
    Description:         Default policies for application jaxws-sut
    Enabled:             true
    Policy Reference:    security : oracle/wss11_saml_or_username_token_with_message_protection_service_policy, enabled=true
    
  5. 添付のリソース・スコープを変更するには、attachPolicySetコマンドを使用します。

    attachPolicySet(expression)
    

    説明:

    • expressionはサポートされている形式でリソース・スコープを定義するサポートされている式です。つまり、ポリシー・セットで定義されるリソース・タイプでは有効です。たとえば、SOAリソース・タイプでは、リソース・タイプにアプリケーションを定義できません。SOAリソース・タイプのサポートされているリソース・スコープは、「ドメイン」、「サーバー」、および「コンポジット」です。詳細は、「リソースのタイプおよびスコープの定義」を参照してください。

    たとえば、jaxws-sutという名前のアプリケーションのみにポリシー・セットのポリシーを添付するには、次のコマンドを入力します。

    wls:/jrfServer_domain/serverConfig> attachPolicySet('Application("jaxws-sut")')
     
    Scope of resources updated.
    
  6. オプションでは、displayPolicySetコマンドを使用してクローニングされたポリシー・セットの構成を表示できます。

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

    wls:/jrfserver_domain/serverConfig>displayPolicySet() 
    
    Policy Set Details:
    -------------------
    Name:                app-only-web-service-policies
    Type of Resources:   Web Service Endpoint
    Scope of Resources:  Application("jaxws-sut")
    Description:         Default policies for application jaxws-sut
    Enabled:             true
    Policy Reference:    security : oracle/wss11_saml_or_username_token_with_message_protection_service_policy, enabled=true
    
  7. リポジトリに現在のセッションの内容を書き込むには、commitRepositorySessionコマンドを使用します。

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

    wls:/jrfserver_domain/serverConfig>commitRepositorySession()
    The policy set app-only-web-service-policies is valid.
    Creating policy set app-only-web-service-policies in repository.
     
    Repository session committed successfully.
    

    また、abortRepositorySessionコマンドを使用して変更をキャンセルできます。このコマンドでは、セッション中にリポジトリに行った変更を破棄します。

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

ポリシー・セットの編集

次の項では、Fusion Middleware Controlまたはコマンドライン・インタフェースWebLogic Scripting Tool (WLST)のいずれかを使用して既存のポリシー・セットを編集する方法について説明します。

Fusion Middleware Controlの使用

既存のポリシー・セットを編集するには、次の手順を実行します。

  1. 「Webサービスのサマリー」ページへの移動」の説明に従って、「ポリシー・セット・サマリー」ページに移動します。

  2. 「ポリシー・セット・サマリー」ページで、編集するポリシー・セットを選択して、「編集」をクリックします。

  3. 「一般情報の入力」ページで、「有効」チェック・ボックスを選択または選択解除して、ポリシー・セットを有効または無効にします。また、ポリシー・セットの説明を編集できます。

    「名前」フィールドおよび「リソース・タイプ」フィールドは読取り専用です。

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

  5. リソース・スコープの入力ページで、必要に応じてスコープを変更し、「次へ」をクリックします。

  6. ポリシー参照の追加ページで、必要に応じてポリシーの添付ファイルを変更します。完了したら、「検証」をクリックして、選択したポリシーの組合せが有効であることを確認します。

  7. ポリシー・セット・サマリー・ページを表示するには、「次へ」をクリックします。

  8. ポリシー・セットのサマリー情報を確認します。ポリシー・セットに満足した場合は、「保存」をクリックします。

WLSTの使用

ポリシー・セットを編集するには、次の手順を実行します。

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

  2. beginRepositorySessionコマンドを使用してリポジトリ・セッションを開始します。

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

    wls:/jrfserver_domain/serverConfig> beginRepositorySession()
    
    Repository session begun.
    
  3. modifyPolicySetコマンドを使用して編集する既存のポリシー・セットを選択します。

    modifyPolicySet(name)
    

    指定されたポリシー・セットの最新バージョンが現行セッションにロードされます。たとえば、ポリシー・セットを編集してポリシーを追加するには、次のコマンドを使用します。

    wls:/jrfServer_domain/serverConfig> modifyPolicySet('app-only-web-service-policies')
     
    The policy set is ready for modification in the session.
    
  4. 必要に応じてポリシー・セットを編集します。例:

    • ポリシー・セットにポリシーを追加するには、attachPolicySetPolicyコマンドを使用します。このコマンドでは、uri引数を使用して指定のURIでポリシーを識別します。

      attachPolicySetPolicy(uri)
      

      oracle/wsaddr_policyをポリシー・セットに追加するには、次のコマンドを入力します。

      wls:/jrfServer_domain/serverConfig> attachPolicySetPolicy('oracle/wsaddr_policy')
      
      Policy reference added.
      
    • ポリシー・セットにポリシーを削除するにはdetachPolicySetPolicyコマンドを使用します。このコマンドでは、uri引数を使用して指定のURIでポリシーを識別します。

      detachPolicySetPolicy(uri)
      

      ポリシー・セットからoracle/wsaddr_policyを削除するには、次のコマンドを入力します。

      wls:/jrfServer_domain/serverConfig> detachPolicySetPolicy('oracle/wsaddr_policy')
      
      Policy reference removed.
      
    • ポリシー・セットのポリシ添付を有効または無効にするには、enablePolicySetPolicyコマンドを使用します。このコマンドでは、uri引数を使用して指定のURIでポリシーを識別します。

      enablePolicySetPolicy(uri,[enable=true])
      

      デフォルトはtrueです。

      oracle/wss11_saml_or_username_token_with_message_protection_service_policyを無効にするには、次を入力します。

      wls:/jrfServer_domain/serverConfig> enablePolicySetPolicy('oracle/wss11_saml_or_username_token_with_message_protection_service_policy',false)
      
      Policy reference disabled.
      
  5. ValidatePolicySetコマンドを使用してポリシー・セットを検証します。

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

    wls:/jrfServer_domain/serverConfig> validatePolicySet()
     
    The policy set app-only-web-service-policies is valid.
    
  6. リポジトリに現在のセッションの内容を書き込むには、commitRepositorySessionコマンドを使用します。

    wls:/jrfServer_domain/serverConfig> commitRepositorySession()
     
    The policy set app-only-web-service-policies is valid.
    Updating policy set app-only-web-service-policies in repository.
     
    Repository session committed successfully.
    

    また、abortRepositorySessionコマンドを使用して変更をキャンセルできます。このコマンドでは、セッション中にリポジトリに行った変更を破棄します。

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

グローバルに添付されたポリシーの無効化

特定のエンドポイントに対してグローバルに添付されたポリシーを明示的に無効化するには、動作を適用しない事前定義済のポリシーがFusion Middlewareインストールに含まれます。無効にするポリシーと同じアサーションのカテゴリを含むこれらの事前定義済ポリシーの1つを添付することにより添付されたポリシーをグローバルまたは外部的に無効にすることができます。動作を含まないポリシーは直接エンドポイントに添付したり、アプリケーション・レベルまたはモジュール・レベルなどより低いスコープにグローバルに添付したりできます。直接添付されたポリシーはグローバルに添付されたポリシーより優先されます。また、グローバルに添付されたポリシーはより高いスコープでグローバルに添付されたポリシーより優先されます。詳細は、「ポリシーの有効なセットの算定」を参照してください。

たとえば、認証ポリシーがドメイン内のすべてのサービス・エンドポイントにグローバルに添付される場合、oracle/no_authentication_service_policyをエンドポイントに直接添付することにより、特定のWebサービス・エンドポイントで無効にできます。また、ドメイン内の唯一のアプリケーションで認証ポリシーを無効にするには、アプリケーションのサービス・エンドポイントのみにoracle/no_authentication_service_policyを添付するポリシー・セットを作成できます。


注意:

無効化するグルーバルに添付するポリシーにその他のアサーションが含まれる場合、それらのアサーションも無効になります。たとえば、無効化するグローバル・ポリシーがoracle/wss10_saml_token_with_message_protection_client_policyで、動作なしのoracle/no_authentication_service_policyをより低いスコープのエンドポイントに(または直接)添付する場合、グローバルに添付されたポリシーの認証アサーションおよびメッセージ保護アサーションの両方が無効になります。

エンドポイントにポリシーを直接添付する詳細は、 「単一のサブジェクトへのポリシーの添付」を参照してください。動作なしポリシーの詳細は、「動作なしポリシー」を参照してください。


注意:

これらの動作なしポリシーは削除されません。ポリシーのすべてがsame no_behaviorアサーションを使用します。アサーション・テンプレートは提供されません。そのため、ポリシーを削除すると、手動で再作成する方法がありません。誤って削除した場合は、これらのポリシーを復元する唯一の方法はリポジトリの再構築です。詳細は、「Oracle WSMリポジトリの再構築」を参照してください。

ポリシー・セットの有効化および無効化

次の項では、Fusion Middleware Controlまたはコマンドライン・インタフェースWebLogic Scripting Tool (WLST)のいずれかを使用してポリシー・セットを有効または無効にする方法について説明します。

Fusion Middleware Controlの使用

Fusion Middleware Controlを使用してポリシー・セットを有効または無効にするには、「ポリシー・セットの編集」の説明に従って、ポリシー・セットを編集します。ポリシー・セットが無効である場合にポリシ・セットを有効にするには、「有効」チェック・ボックスを選択します。ポリシー・セットを無効にするには、「有効」チェック・ボックスの選択を解除します。

更新されたポリシー・セットを保存するには、ステップ2および3で「次へ」をクリックし、ステップ4で「保存」をクリックする必要があります。

図9-7 ポリシー・セットの有効化および無効化

図9-7の説明が続きます
「図9-7 ポリシー・セットの有効化と無効化」の説明

WLSTの使用

ポリシー・セットを有効または無効にするには、次の手順を実行します。

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

  2. beginRepositorySessionコマンドを使用してリポジトリ・セッションを開始します。

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

    wls:/jrfserver_domain/serverConfig> beginRepositorySession()
    
    Repository session begun.
    
  3. modifyPolicySetコマンドを使用して変更するポリシー・セットを指定します。

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

    wls:/jrfServer_domain/serverConfig> modifyPolicySet('all-domains-default-web-service-policies')
     
    The policy set is ready for modification in the session.
    
  4. enablePolicySetコマンドを使用して、ポリシー・セットを有効化または無効化します。

    enablePolicySet([enable=true])
    

    ポリシー・セットが無効である場合に有効にするには、enable引数をtrueに設定します。デフォルトは、trueです。ポリシー・セットを無効にするには、enable引数をfalseに設定します。

    たとえば、ポリシー・セットを無効にするには、次の手順を実行します。

    wls:/jrfServer_domain/serverConfig> enablePolicySet(false)
     
    Policy set disabled.
    
  5. ValidatePolicySetコマンドを使用してポリシー・セットを検証します。

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

    wls:/jrfServer_domain/serverConfig> validatePolicySet()
     
    The policy set app-only-web-service-policies is valid.
    
  6. リポジトリに現在のセッションの内容を書き込むには、commitRepositorySessionコマンドを使用します。

    wls:/jrfServer_domain/serverConfig> commitRepositorySession()
     
    The policy set all-domains-default-web-service-policies is valid.
    Updating policy set all-domains-default-web-service-policies in repository.
     
    Repository session committed successfully.
    

    また、abortRepositorySessionコマンドを使用して変更をキャンセルできます。このコマンドでは、セッション中にリポジトリに行った変更を破棄します。

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

ポリシー・セットの削除

次の項では、Fusion Middleware Controlまたはコマンドライン・インタフェースWebLogic Scripting Tool (WLST)のいずれかを使用してポリシー・セットを削除する方法について説明します。

Fusion Middleware Controlの使用

ポリシー・セットを削除するには、次の手順を実行します。

  1. 「Webサービスのサマリー」ページへの移動」の説明に従って、「ポリシー・セット・サマリー」ページに移動します。

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

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

WLSTの使用

ポリシー・セットを削除するには、次の手順を実行します。

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

  2. beginRepositorySessionコマンドを使用してリポジトリ・セッションを開始します。

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

    wls:/jrfserver_domain/serverConfig> beginRepositorySession()
    
    Repository session begun.
    
  3. オプションで、listPolicySetsコマンドを使用してリポジトリのポリシー・セットをリストします。

    wls:/jrfServer_domain/serverConfig> listPolicySets()
     
    Global Policy Sets in Repository:
      app-only-web-service-policies
      all-domains-default-web-service-policies
    
  4. deletePolicySetコマンドを使用してポリシー・セットを削除します。

    deletePolicySet (name)
    

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

    wls:/jrfServer_domain/serverConfig> deletePolicySet('app-only-web-service-policies')
     
    The policy set was deleted successfully in the session.
    
  5. リポジトリに現在のセッションの内容を書き込むには、commitRepositorySessionコマンドを使用します。

    wls:/jrfServer_domain/serverConfig> commitRepositorySession()
     
    Deleting policy set app-only-web-service-policies from repository.
     
    Repository session committed successfully.
    

    また、abortRepositorySessionコマンドを使用して変更をキャンセルできます。このコマンドでは、セッション中にリポジトリに行った変更を破棄します。

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

直接ポリシー添付からグローバル・ポリシー添付への移行

migrateAttachments WLSTコマンドを使用すると、外部グローバル・ポリシー添付と直接(ローカル)ポリシー添付が同一である場合、直接ポリシー添付を外部グローバル・ポリシー添付に移行できます。同一のポリシー添付の移行により、保守が必要な添付の物理的な数が削減され、管理性が向上します。直接ポリシー添付はそのURIがグローバル・ポリシー添付が提供したURIと同じであり、構成の上書きがない場合に同一です。次は移行できません。


注意:

スコープ設定されていない上書きを含む直接添付は移行されますが、スコープ設定されている上書きを含む添付は移行されません。これは、migrateAttachmentsコマンドの実行後、一部のポリシーがグローバルに添付された場合でも、ポリシーのすべてのサブジェクトへの適用が維持されるためです。

ポリシー添付を移行するには、次の手順を実行します。

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

  2. migrateAttachementsコマンドを使用して添付を移行します。移行を(force)を強制的に実行するか、各移行の前に確認のプロンプトを表示するか(prompt)、または単に実行する移行をリストするか(preview)を指定できます。モードが指定されていない場合、デフォルトはpromptです。

    migrateAttachments(mode=None)
    

    たとえば、デフォルトで、実行される添付の移行ごとに確認を行うためのプロンプトを表示するため、次のコマンドを入力します。この出力には、移行可能なjaxws-sutアプリケーション用の同一のグローバル・ポリシー添付と直接ポリシー添付があります。

    wls:/jrfServer_domain/serverConfig> migrateAttachments()
     
    --------------------------------------------------------------------------------
    Application Path:    /jrfServer_domain/jrfServer/jaxws-sut-no-policy
    Web Service Name:    TestService
    Module Type:         web
    Module Name:         jaxws-service
    Port:                TestPort
     
    --------------------------------------------------------------------------------
    Application Path:    /jrfServer_domain/jrfServer/jaxws-sut
    Web Service Name:    TestService
    Module Type:         web
    Module Name:         jaxws-sut-service
    Port:                TestPort
    Policy Reference:    management : oracle/log_policy, enabled=true
                         security : oracle/wss_username_token_service_policy, enabled=true
                         (global) /policysets/global/migrate_example : oracle/wss_username_token_service_policy
     
    Migrate "oracle/wss_username_token_service_policy" (yes/no/cancel)? yes
    "oracle/wss_username_token_service_policy" was migrated successfully.
    

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

リソースのタイプとスコープの定義

ポリシー・セットのリソース・スコープは、同一のエンタープライズ・トポロジ・ノード(ノード名に基づく)で実行しているドメインレベルからアプリケーション・モジュールレベルまたはSOAコンポジットレベルまでの関連リソースの集まりを示します。

リソースのセット全体にグローバルにポリシーを添付するには、ポリシー・セットの適用先のポリシー・サブジェクトのタイプおよび企業のトポロジー内のリソースのスコープを指定します。

リソース・タイプ

Fusion Middleware Controlでは、ポリシー・セットを作成するときにメニューからリソース・タイプを選択します。WLSTを使用してポリシー・セットを作成する場合は、このようなソース・タイプの特定の略称を使用する必要があります。表9-1にEMで選択するリソース・タイプ、WLSTで必要な略称、各リソース・タイプで有効なリソースのスコープをリストします。

表9-1 ポリシー・サブジェクトのリソース・タイプ

Fusion Middleware Control
WLST 有効なリソースのスコープ

SOAコンポーネント

sca-component

  • ドメイン

  • サーバー・インスタンス

  • SOAコンポジット

SOA参照

sca-reference

  • ドメイン

  • サーバー・インスタンス

  • SOAコンポジット

SOAサービス

sca-service

  • ドメイン

  • サーバー・インスタンス

  • SOAコンポジット

Webサービス・エンドポイント

ws-service

  • ドメイン

  • サーバー・インスタンス

  • アプリケーション

  • アプリケーション・モジュール

Webサービス・クライアント

ws-client

  • ドメイン

  • サーバー・インスタンス

  • アプリケーション

  • アプリケーション・モジュール

Webサービス接続

ws-connection

  • ドメイン

  • サーバー・インスタンス

  • アプリケーション

  • アプリケーション・モジュール

非同期コールバック・クライアント

ws-callback

  • ドメイン

  • サーバー・インスタンス

  • アプリケーション

  • アプリケーション・モジュール


リソースのスコープ

Fusion Middleware Controlでは、リソース・スコープに関連付けられている名前を表すパターン文字列を入力することによってスコープを指定します。たとえば、ドメイン内のすべてのWebサービスのエンドポイントにポリシー・セットを添付するには、「ドメイン名」フィールドにドメインの名前を表すパターンを入力します。WLSTでリソース・スコープを指定する場合、各スコープでサポートされている式を使用する必要があります。サポートされている式に表9-2示されています。これらの式には次の引数が必要です。

  • createPolicySetコマンドおよびclonePolicySetコマンドのattachTo引数

  • attachPolicySetコマンドのexpression引数

Fusion Middleware ControlおよびWLSTではどちらも完全な名前またはワイルドカードを使用して一部の値を入力できます。文字列内の任意の場所でアスタリスク(*)をワイルドカード文字として使用し、その場所の任意の文字数の文字列と一致させることができます。文字列内の任意の場所で複数のワイルドカードを指定できます。たとえば、ドメイン名jrf_domainの場合、jrf*,または*rf*domainと入力したり、任意の数の組合せを入力したりできます。スコープのパターンは1つのみ指定する必要があります。リソース・タイプのパターン文字列を指定しない場合は、アスタリスク(*)が使用されます。一重引用符または二重引用符を使用できます。複数の関数が指定される場合、すべての式がポリシー・サブジェクトに添付されているとみなされるポリシー・セットに一致します。

次は、リソース・タイプでサポートされている式のリストです。

表9-2 リソース・スコープでサポートされている式

サポートされている式 説明

Domain("expression")

この値は、デプロイされる管理ドメインに基づくポリシー・サブジェクトに一致します。

Server("expression")

この値は、デプロイされる管理ドメインに基づくサービス・インスタンスに一致します。

Application("expression")

この値は、配置されているアプリケーションの名前に基づくポリシー・サブジェクトに一致します。

Module("expression")

この値は、配置されているアプリケーション・モジュールの名前に基づくポリシー・サブジェクトに一致します。

Composite("expression")

この値は、配置されているSOAコンポジットの名前に基づくポリシー・サブジェクトに一致します。

注意: コンポジットでは、式はコンポジット名のみを使用する必要があります。例:

Composite("*Basic_SOA_Client*")

SOAパーティションまたはSOAコンポジットの改訂番号を式に含めないでください。


次の例に、さまざまなリソース・タイプおよびスコープを使用してポリシー・セットを作成する方法を示します。

例9-1では非同期コールバック・クライアント(ws-callback)リソース・タイプのポリシー・セットが作成されます。この例では、特定のアプリケーション・スコープにポリシー・セットが添付され、フィルタ条件(Domain AND Server AND Application)を満足するすべてのサービスに適用されます。

例9-1 非同期コールバック・クライアント・リソース・タイプのポリシー・セット

beginRepositorySession()
createPolicySet('Async callback client', 'ws-callback', 'Domain('FinancialDomain') and Server ('*payable*') and Application('Expense*')', 'Global policy for asynchronous callback client', true)
attachPolicySetPolicy('oracle/wss10_saml_token_client_policy')
validatePolicySet()
commitRepositorySession()
displayPolicySet('Async callback client')

例9-2ではWebサービス接続(ws-connection)リソース・タイプのweb_connection_cost_serviceというポリシー・セットが作成されます。この例では、ポリシー・セットは特定のアプリケーション・モジュール・スコープで添付され、フィルタ条件(Domain AND Server AND Application AND Module)を満足するすべてのサービスに適用されます。

例9-2 Webサービス接続リソース・タイプのポリシー・セット

beginRepositorySession()
createPolicySet('web_connection_cost_service', 'ws-connection',  'Domain("SCMDomain") and Server("*CostManagementServer*") and Application("ScmCst*") and Module("*Costs")', enable=true)
attachPolicySetPolicy('oracle/wss10_saml_token_client_policy')
validatePolicySet()
commitRepositorySession()
displayPolicySet('web_connection_cost_service')

ポリシー・セットの検証

「ポリシー・サブジェクトの確認」で説明するルールにポリシー・セットが準拠していることを確認するだけでなく、ポリシー・セット検証では次の確認を実行します。


注意:

複数のポリシー・セットを使用して添付されるポリシー間に競合がないことを確認するには、listWebServices(detail="true")またはlistWebServiceClient(detail="true")WLSTコマンドを実行する必要があります。これらのコマンドの出力では、エンドポイントが安全であるかどうかまたは競合があるかどうかを示します。次の例に、無効な構成のサンプル出力を示します。
/soa_domain/soa_server1/adf_dc_3 :
   moduleName=JAXWS_SUT, moduleType=wsconn, serviceRefName=TestService
         TestPort        serviceWSDLURI=http://host.oracle.com:56001/jaxws-service/TestService?wsdl
         (global) security: oracle/wss11_username_token_with_message_protection_client_policy, enabled=true
                  /policysets/global/web_reference_conflict_in_app_level : Application("*dc*")
         (global) security: oracle/wss_username_token_client_policy, enabled=true
                  /policysets/global/web_reference_application_add_1 : Application("adf*")
          Attached policy or policies are not valid.
          One or more attached policies are not compatible with endpoint or other attached policy.

これらのコマンドの詳細は、次の項を参照してください。

Fusion Middleware Controlを使用してのエンドポイントの有効なポリシーを表示するには、「Webサービスに添付されてたポリシーの表示」を参照してください。


ポリシーの有効なセットの算定

ポリシーの直接および外部的な添付の両方をサポートし、既存のデプロイメントを破損しないようにするには、サブジェクトのポリシーの有効なセットを決定するうえで、各ポリシー内でアサーションのカテゴリを考慮します。サブジェクトに特定のカテゴリのアサーションに直接添付されているポリシーがある場合、外部ポリシー・セットが参照する同一カテゴリ内のアサーションのすべてのポリシーはサブジェクトの有効なセットから除外されます。このプロセスは、サブジェクト・スコープごとに繰り返し実施されます。スコープを絞りまたは下げることにより、 スコープを広げたり上げることより優先されます。リソースのスコープの詳細は「リソースのタイプおよびスコープの定義」を参照してください。

たとえば、アプリケーション・スコープでのポリシーの添付は、モジュール・スコープで添付されたまたは直接添付されたポリシーと同じカテゴリのアサーションを含む場合サブジェクトのポリシーの有効なセットから除外されます。ただし、同じスコープに添付された(または直接添付された)アサーション・カテゴリが重複するポリシーは、その結果が無効な構成になる場合でも、ポリシーの有効なセットに含まれます。サブジェクトに添付できるポリシーの数および組合せの詳細は、「ポリシー・サブジェクトの確認」を参照してください。

ポリシーの有効なセットの算定では、各ポリシー添付のステータスが考慮されます。ポリシー・セットのポリシー、ポリシーの参照またはポリシー・セットが無効な場合、サブジェクトの有効なポリシー・セットから削除されます。

この算定メカニズムを使用すると、同じカテゴリのアサーションを含むポリシーを直接または低いスコープで添付することによりグローバルに添付されたポリシーを上書きできます。特殊な場合では、動作を実施しないアサーションの同じカテゴリを持つポリシーに添付することにより、グローバルに添付されたポリシーを特定のサブジェクトで実質的に無効にできます。動作を実施しないこれらのポリシーの詳細は、「動作なしポリシー」を参照してください。


注意:

グローバル・ポリシー添付が有効になるためにかかる時間は、Oracle WSMポリシーのアクセッサおよびポリシー・キャッシュ・プロパティ設定によって決まります。デフォルトでは、この遅延が最大11分になる場合があります。遅延時間を短縮するため、次のキャッシュ・プロパティ設定を調整できます。
  • ポリシー・アクセッサ

    cache.refresh.initial、デフォルト600000ミリ秒(10分)

    cache.refresh.repeat、デフォルト600000ミリ秒(10分)

  • ポリシー・キャッシュ

    cache.tolerance、デフォルト600000ミリ秒(10分)

これらのプロパティの調整の詳細は、「プラットフォーム・ポリシー・プロパティの構成」を参照してください。