ポリシー・セットでは、同じタイプの多岐に渡るエンドポイントにポリシーをグローバルに添付する手段を提供します。この章では、Oracle Enterprise Manager Fusion Middleware Controlおよびコマンドライン・インタフェースWebLogic Scripting Tool (WLST)を使用して、ポリシー・セットを管理および作成する方法を説明します。ポリシー・セットの詳細は、「ポリシー・セットを使用したポリシーのグローバルな添付」を参照してください。ポリシーをポリシー・サブジェクトに直接添付する詳細は、第8章「Webサービスへのポリシーの添付」を参照してください。
この章では次の項について説明します。
注意: この章の手順は、Oracle Infrastructure Webサービスにのみ適用されます。この章で説明しているWLSTコマンドのヘルプを表示するには、サーバーの実行中のインスタンスに接続し、 |
ポリシー・セットは、「ポリシー・セット・サマリー」ページからドメイン・レベルで管理できます。このページから、ポリシー・セットを表示、作成、コピー、編集および削除できます。
ポリシー・セット・サマリー・ページに移動するには、次の手順を実行します。
ナビゲータ・ペインで「WebLogicドメイン」を開きます。
ポリシー・セットを管理するドメインを選択します。
「WebLogic Domain」メニューから、「Webサービス」→「ポリシー・セット」の順に選択します。
図9-1に示すように、「ポリシー・セット・サマリー」ページが表示されます。
リポジトリのポリシー・セットのリストを表示するには、次の手順を実行します。
「WebサービスのカスタムWLSTコマンドへのアクセス」の説明に従って、WebLogic Serverの実行中のインスタンスに接続します。
リポジトリのポリシー・セットのリストを表示するには、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)のいずれかを使用してポリシー・セットを表示する方法について説明します。
ポリシー・セットを表示するには、次の手順を実行します。
「Webサービスのサマリー」ページへの移動」の説明に従って、「ポリシー・セット・サマリー」ページに移動します。
「ポリシー・セット・サマリー」ページで、表からポリシー・セットを選択して、「表示」をクリックします。
ポリシー・セットを参照し終わったら、ポリシー・セットに戻るをクリックします。
リポジトリの特定のポリシー・セットの構成を表示するには、次の手順を実行します。
「WebサービスのカスタムWLSTコマンドへのアクセス」の説明に従って、WebLogic Serverの実行中のインスタンスに接続します。
指定のポリシー・セットの構成を表示するには、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を使用してポリシー・セットを作成、変更および削除する場合は、リポジトリ・セッションのコンテキストでコマンドを実行する必要があります。各リポジトリ・セッションは単一のポリシー・セットのみに適用されます。
リポジトリを変更するセッションを作成するには、beginRepositorySession
コマンドを使用します。ポリシー・セットを作成、変更、または削除する目的のコマンドを入力したら、commitRepositorySession
コマンドを使用してセッションの内容をリポジトリに書き込みます。
現行セッションの内容を記述するには、describeRepositorySession
コマンドを使用します。
リポジトリに内容を書き込むことなくリポジトリ・セッションを終了するには、abortRepositorySession
コマンドを使用します。
これらのコマンドの例は後続のセクションで説明します。詳細は、WebLogic Scripting Toolコマンド・リファレンスのWebサービスのカスタムWLSTコマンドを参照してください。
次の項では、Fusion Middleware Controlまたはコマンドライン・インタフェースWebLogic Scripting Tool (WLST)のいずれかを使用してポリシー・セットを作成する方法について説明します。
ポリシー・セットを作成するには、次の手順を実行します。
「Webサービスのサマリー」ページへの移動」の説明に従って、「ポリシー・セット・サマリー」ページに移動します。
「ポリシー・セット・サマリー」・ページから、「作成」をクリックします。
ポリシー・セット作成ウィザードの最初のページが表示されます。
一般情報の入力ページで、図9-3に示すようにポリシー・セットの名前と説明を入力します。
ポリシー・セットを有効にするには、「有効」チェック・ボックスを選択します。
リソース・タイプフィールドで、ポリシーを添付するポリシー・サブジェクトのタイプを選択します。次のページで、ポリシー・セットを適用するリソースのスコープを定義します。選択可能なポリシー・サブジェクトのタイプは次のとおりです。
SOAコンポーネント
SOAサービス
SOA参照
Webサービス接続
Webサービス・エンドポイント
Webサービス・クライアント
非同期コールバック・クライアント
オプションで、ポリシー・セットの説明を追加して、「次へ」をクリックします。
リソース・スコープの入力ページで、前のステップで選択したリソース・タイプのスコープを定義する少なくとも1つのパターン文字列を入力します。次のリソース・スコープがサポートされています。
ドメイン
サーバー・インスタンス
アプリケーション
アプリケーション・モジュール
SOAコンポジット
注意: リソース・スコープを指定するには、このページの少なくとも1つの「パターン」フィールドにパターン文字列を入力します。 |
使用可能なリソース・スコープのリストは前のページで選択したリソース・タイプによって決まります。たとえば、Webサービス・エンドポイントを選択した場合、使用可能なリソース・スコープはドメイン、サーバー・インスタンス、アプリケーション、およびアプリケーション・モジュールです。SOAリソース・タイプでは、リソース・スコープはドメイン、サーバー・インスタンスおよびSOAコンポジットです。
たとえば、ドメイン内のすべてのWebサービスのエンドポイントにポリシーを添付するには、ドメイン名のみを表すパターン文字列を入力します。その他のフィールドに入力する必要はありません。アプリケーション・レベルまたはアプリケーション・モジュール・レベルなどより細かいスコープでポリシーを添付するには、「パターン」フィールドにアプリケーションまたはモジュールの名前を表すパターン文字列を入力します。文字列内の任意の箇所でアスタリスク(*)をワイルドカード文字として使用して、その位置の任意の文字数に一致させることができます。また、文字列内で複数のワイルドカードを指定できます。ドメインでアスタリスクのワイルドカードのみを使用すると、そのスコープ・レベルは企業内のすべてのドメインに影響します。
「ドメイン名」、「サーバー・インスタンス名」など複数のリソース・スコープでパターン文字列を指定する場合、Domain("myDomain*") AND Server ("*SOA*")などのように、フィルタ条件がAND処理されます。リソース・タイプおよびスコープの指定および複数のリソース・タイプを指定する例の詳細は、「リソースのタイプとスコープの定義」を参照してください。
「次へ」をクリックします。
ポリシー参照の追加ページで、「使用可能なポリシー」リストからポリシーを選択して、「添付」をクリックします。
ポリシーの詳細を表示するには、ポリシーを選択して、「詳細の表示」アイコンをクリックします。ポップアップ・ウィンドウに、ポリシーの読取り専用の詳細説明とそのポリシーに含まれるアサーションのリストが表示されます。ポリシーの詳細を確認し終わったら、「OK」をクリックします。
ポリシーの選択と添付を続行します。完了したら、「検証」をクリックして、選択されたポリシーの組合せが有効であることを確認します。
ポリシー・セット・サマリー・ページを表示するには、「次へ」をクリックします。
ポリシー・セットのサマリー情報を確認します。ポリシー・セットに満足した場合は、「保存」をクリックします。
検証が失敗した場合でも、ポリシー・セットは保存されますが、無効モードで保存されます。
次の手順で、WLSTを使用してポリシー・セットを作成します。
「WebサービスのカスタムWLSTコマンドへのアクセス」の説明に従って、WebLogic Serverの実行中のインスタンスに接続します。
beginRepositorySession
コマンドを使用してリポジトリ・セッションを開始します。
beginRepositorySession
を使用してリポジトリを変更するセッションを作成します。すべての作成、変更または削除コマンドはセッションのコンテキストで実行する必要があります。セッションは1つのドキュメントでのみ動作できます。
たとえば、次のようにします。
wls:/jrfserver_domain/serverConfig> beginRepositorySession()
Repository session begun.
createPolicySet
コマンドを使用して、新しい空のポリシー・セットを作成します。name
、type
、attachTo
引数が必要です。
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コマンドに関する項を参照してください。
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.
現在のポリシー・セットにポリシーを添付するには、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.
現在のリポジトリ・セッションでポリシー・セットの構成を表示するには、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
ポリシー・セットを検証するには、validatePolicySet
コマンドを使用します。
validatePolicySet(name=None)
名前が指定されていない場合は、このコマンドにより現行セッションで作成または変更するポリシー・セットが検証されます。リポジトリ・セッション外でこのコマンドを実行することもできます。その場合は、name
引数が必要です。
たとえば、次のようにします。
wls:/jrfserver_domain/serverConfig> validatePolicySet()
The policy set all-domains-default-web-service-policies is valid.
リポジトリに現在のセッションの内容を書き込むには、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)のいずれかを使用して既存のポリシー・セットから新しいポリシー・セットを作成する方法について説明します。
既存のポリシー・セットからポリシー・セットを作成すると、すべての値と添付が新規のポリシー・セットにコピーされます。新規のポリシー・セットのリソース・スコープとポリシー添付は変更できますが、適用されるリソースのタイプは変更できません。
既存のポリシー・セットを使用してポリシー・セットを作成するには、次の手順を実行します。
「Webサービスのサマリー」ページへの移動」の説明に従って、「ポリシー・セット・サマリー」ページに移動します。
「ポリシー・セット・サマリー」ページで、コピーするポリシー・セットを選択して、「類似作成」をクリックします。
一般情報の入力ページで、ポリシー・セットの名前と説明を入力します。
次の点に注意してください。
デフォルトの新しいポリシー・セット名は、「_Copy」をベースのポリシー・セット名に追加することにより作成されます。たとえば、ベースのポリシー・セットをall-domains-default-web-service-policiesという名前にすると、コピーで表示される名前はall-domains-default-web-service-policies_Copyです。
「リソース・タイプ」フィールドは読取り専用です。ポリシー・セットをクローニングする場合、スコープを変更できますが、ポリシー・セットを添付するリソースのタイプは変更できません。
「有効」チェック・ボックスを選択または選択解除して、ポリシー・セットを有効または無効にします。
「次へ」をクリックします。
リソース・スコープの入力ページで、必要に応じてスコープを変更し、「次へ」をクリックします。
注意: リソース・スコープを指定するには、このページの少なくとも1つの「パターン」フィールドにパターン文字列を入力する必要があります。 |
ポリシー参照の追加ページで、必要に応じてポリシーの添付ファイルを変更します。完了したら、「検証」をクリックして、選択したポリシーの組合せが有効であることを確認します。
ポリシー・セット・サマリー・ページを表示するには、「次へ」をクリックします。
ポリシー・セットのサマリー情報を確認します。ポリシー・セットに満足した場合は、「保存」をクリックします。
既存のポリシー・セットからポリシー・セットを作成するには、次の手順を実行します。
「WebサービスのカスタムWLSTコマンドへのアクセス」の説明に従って、WebLogic Serverの実行中のインスタンスに接続します。
beginRepositorySession
コマンドを使用してリポジトリ・セッションを開始します。
たとえば、次のようにします。
wls:/jrfserver_domain/serverConfig> beginRepositorySession()
Repository session begun.
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コマンドに関する項を参照してください。
オプションでは、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
添付のリソース・スコープを変更するには、attachPolicySet
コマンドを使用します。
attachPolicySet(expression)
説明:
expression
はサポートされている形式でリソース・スコープを定義するサポートされている式です。つまり、ポリシー・セットで定義されるリソース・タイプでは有効です。たとえば、SOAリソース・タイプでは、リソース・タイプにアプリケーションを定義できません。SOAリソース・タイプのサポートされているリソース・スコープは、「ドメイン」、「サーバー」、および「コンポジット」です。詳細は、「リソースのタイプおよびスコープの定義」を参照してください。
たとえば、jaxws-sut
という名前のアプリケーションのみにポリシー・セットのポリシーを添付するには、次のコマンドを入力します。
wls:/jrfServer_domain/serverConfig> attachPolicySet('Application("jaxws-sut")')
Scope of resources updated.
オプションでは、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
リポジトリに現在のセッションの内容を書き込むには、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)のいずれかを使用して既存のポリシー・セットを編集する方法について説明します。
既存のポリシー・セットを編集するには、次の手順を実行します。
「Webサービスのサマリー」ページへの移動」の説明に従って、「ポリシー・セット・サマリー」ページに移動します。
「ポリシー・セット・サマリー」ページで、編集するポリシー・セットを選択して、「編集」をクリックします。
「一般情報の入力」ページで、「有効」チェック・ボックスを選択または選択解除して、ポリシー・セットを有効または無効にします。また、ポリシー・セットの説明を編集できます。
「名前」フィールドおよび「リソース・タイプ」フィールドは読取り専用です。
「次へ」をクリックします。
リソース・スコープの入力ページで、必要に応じてスコープを変更し、「次へ」をクリックします。
ポリシー参照の追加ページで、必要に応じてポリシーの添付ファイルを変更します。完了したら、「検証」をクリックして、選択したポリシーの組合せが有効であることを確認します。
ポリシー・セット・サマリー・ページを表示するには、「次へ」をクリックします。
ポリシー・セットのサマリー情報を確認します。ポリシー・セットに満足した場合は、「保存」をクリックします。
ポリシー・セットを編集するには、次の手順を実行します。
「WebサービスのカスタムWLSTコマンドへのアクセス」の説明に従って、WebLogic Serverの実行中のインスタンスに接続します。
beginRepositorySession
コマンドを使用してリポジトリ・セッションを開始します。
たとえば、次のようにします。
wls:/jrfserver_domain/serverConfig> beginRepositorySession()
Repository session begun.
modifyPolicySet
コマンドを使用して編集する既存のポリシー・セットを選択します。
modifyPolicySet(name)
指定されたポリシー・セットの最新バージョンが現行セッションにロードされます。たとえば、ポリシー・セットを編集してポリシーを追加するには、次のコマンドを使用します。
wls:/jrfServer_domain/serverConfig> modifyPolicySet('app-only-web-service-policies')
The policy set is ready for modification in the session.
必要に応じてポリシー・セットを編集します。例:
ポリシー・セットにポリシーを追加するには、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.
ValidatePolicySet
コマンドを使用してポリシー・セットを検証します。
たとえば、次のようにします。
wls:/jrfServer_domain/serverConfig> validatePolicySet()
The policy set app-only-web-service-policies is valid.
リポジトリに現在のセッションの内容を書き込むには、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を使用してポリシー・セットを有効または無効にするには、「ポリシー・セットの編集」の説明に従って、ポリシー・セットを編集します。ポリシー・セットが無効である場合にポリシ・セットを有効にするには、「有効」チェック・ボックスを選択します。ポリシー・セットを無効にするには、「有効」チェック・ボックスの選択を解除します。
更新されたポリシー・セットを保存するには、ステップ2および3で「次へ」をクリックし、ステップ4で「保存」をクリックする必要があります。
ポリシー・セットを有効または無効にするには、次の手順を実行します。
「WebサービスのカスタムWLSTコマンドへのアクセス」の説明に従って、WebLogic Serverの実行中のインスタンスに接続します。
beginRepositorySession
コマンドを使用してリポジトリ・セッションを開始します。
たとえば、次のようにします。
wls:/jrfserver_domain/serverConfig> beginRepositorySession()
Repository session begun.
modifyPolicySet
コマンドを使用して変更するポリシー・セットを指定します。
たとえば、次のようにします。
wls:/jrfServer_domain/serverConfig> modifyPolicySet('all-domains-default-web-service-policies')
The policy set is ready for modification in the session.
enablePolicySet
コマンドを使用して、ポリシー・セットを有効化または無効化します。
enablePolicySet([enable=true])
ポリシー・セットが無効である場合に有効にするには、enable
引数をtrue
に設定します。デフォルトは、true
です。ポリシー・セットを無効にするには、enable
引数をfalse
に設定します。
たとえば、ポリシー・セットを無効にするには、次の手順を実行します。
wls:/jrfServer_domain/serverConfig> enablePolicySet(false)
Policy set disabled.
ValidatePolicySet
コマンドを使用してポリシー・セットを検証します。
たとえば、次のようにします。
wls:/jrfServer_domain/serverConfig> validatePolicySet()
The policy set app-only-web-service-policies is valid.
リポジトリに現在のセッションの内容を書き込むには、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)のいずれかを使用してポリシー・セットを削除する方法について説明します。
ポリシー・セットを削除するには、次の手順を実行します。
「Webサービスのサマリー」ページへの移動」の説明に従って、「ポリシー・セット・サマリー」ページに移動します。
「ポリシー・セット・サマリー」ページで、表からポリシー・セットを選択して、「削除」をクリックします。
削除の確認を要求するダイアログ・ボックスが表示されます。「OK」をクリックします。
ポリシー・セットを削除するには、次の手順を実行します。
「WebサービスのカスタムWLSTコマンドへのアクセス」の説明に従って、WebLogic Serverの実行中のインスタンスに接続します。
beginRepositorySession
コマンドを使用してリポジトリ・セッションを開始します。
たとえば、次のようにします。
wls:/jrfserver_domain/serverConfig> beginRepositorySession()
Repository session begun.
オプションで、listPolicySets
コマンドを使用してリポジトリのポリシー・セットをリストします。
wls:/jrfServer_domain/serverConfig> listPolicySets()
Global Policy Sets in Repository:
app-only-web-service-policies
all-domains-default-web-service-policies
deletePolicySet
コマンドを使用してポリシー・セットを削除します。
deletePolicySet (name)
たとえば、次のようにします。
wls:/jrfServer_domain/serverConfig> deletePolicySet('app-only-web-service-policies')
The policy set was deleted successfully in the session.
リポジトリに現在のセッションの内容を書き込むには、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と同じであり、構成の上書きがない場合に同一です。次は移行できません。
プログラムによるポリシー添付。
SOAコンポーネントへの直接ポリシー添付またはグローバル・ポリシー添付
注意: スコープ設定されていない上書きを含む直接添付は移行されますが、スコープ設定されている上書きを含む添付は移行されません。これは、migrateAttachments コマンドの実行後、一部のポリシーがグローバルに添付された場合でも、ポリシーのすべてのサブジェクトへの適用が維持されるためです。 |
ポリシー添付を移行するには、次の手順を実行します。
「WebサービスのカスタムWLSTコマンドへのアクセス」の説明に従って、WebLogic Serverの実行中のインスタンスに接続します。
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参照 |
sca-reference |
|
SOAサービス |
sca-service |
|
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コンポジットの名前に基づくポリシー・サブジェクトに一致します。 注意: コンポジットでは、式はコンポジット名のみを使用する必要があります。例:
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分になる場合があります。遅延時間を短縮するため、次のキャッシュ・プロパティ設定を調整できます。
これらのプロパティの調整の詳細は、「プラットフォーム・ポリシー・プロパティの構成」を参照してください。 |