この章では次の項について説明します。
Webサービスに添付されたポリシーを表示する手順
「アプリケーションの「Webサービスのサマリー」ページへの移動」で説明されているように、Webサービスのホームページに移動します。
ページの「Webサービスの詳細」セクションで、まだ表示されていない場合は、Webサービス・ポートを表示するWebサービスのプラス記号(+)をクリックします。
ポートの名前をクリックし、特定のWebサービスの「Webサービス・エンドポイント」ページに移動します。
「ポリシー」タブをクリックします。
図8-1に示すように、ポートに添付されているポリシーのリストが表示されます。
サブジェクトは、ポリシーを関連付けられるエンティティです。サブジェクトには、1つ以上のポリシーを添付できます。
ポリシーが実行される順序は、サブジェクトにポリシーが添付される順序や、添付されたポリシーのリストの順序では決定されません。クライアントとWebサービス間でメッセージが受け渡される際に、ポリシー・インターセプタ・チェーン内のインターセプタの順序でポリシーが実行される順序が決定されます。
詳細は、「ポリシー実行の仕組み」を参照してください。
単一のWebサービスにポリシーを添付するには、次の手順に従ってください。複数のWebサービスに同時にポリシーを添付するには、「複数のサブジェクトへのポリシーの添付(一括添付)」を参照してください。
Webサービスにポリシーを添付する手順
「アプリケーションの「Webサービスのサマリー」ページへの移動」で説明されているように、Webサービスのホームページに移動します。
ページの「Webサービスの詳細」セクションで、まだ表示されていない場合は、Webサービス・ポートを表示するWebサービスのプラス記号(+)をクリックします。
ポートの名前をクリックし、特定のWebサービスの「Webサービス・エンドポイント」ページに移動します。
「ポリシー」タブをクリックします。
すでにポートに添付されているポリシーのリストが表示されます。たとえば、図8-1のポリシーを検討します。
「アタッチ/デタッチ」をクリックします。
「使用可能なポリシー」リストからポリシーを選択し、「添付」をクリックします。図8-2を参照してください。
ポリシーの選択と添付を続行します。完了したら、「検証」をクリックして、選択されたポリシーの組合せが有効であることを確認します。
「OK」をクリックします。
「Webサービス・ポート」ページで、「ポリシー」タブに添付されたポリシーが表示されます。
Webサービス・アプリケーションを再起動します。
「アプリケーション」ページから、1つ以上のWebサービスに1つ以上のポリシーを添付できます。
|
注意: 一括添付メカニズムでは、添付するポリシーの検証は実行されません。一括添付メカニズムでは、サポートされていない構成(複数の認証ポリシー)を作成したり、同じポリシーを複数回添付したりできます。 |
アプリケーション内の複数のWebサービスにポリシーを添付する手順
ナビゲータ・ペインで「WebLogicドメイン」を開き、ポリシーの添付を行うドメインを表示します。
ドメインと、ポリシーを添付するサーバーのインスタンスを選択します。サーバーは、管理サーバーまたは管理対象サーバーのいずれかになります。
Fusion Middleware Controlを使用して、「Weblogicサーバー」→「Webサービス」をクリックします。
「Webサービスのサマリー」ページで「ポリシーの添付」をクリックします。
図8-3に示すように、「ポリシー・サブジェクトの選択」ページで、ポリシーを添付するアプリケーションを1つ以上選択します。
「検索」コントロールを使用して、特定のポリシー・サブジェクト・タイプ、アプリケーション名、またはポリシーを添付するWebサービスのタイプを検索します。たとえば、Webサービス・クライアントのポリシー・サブジェクト・タイプを検索する場合、使用可能なWebサービス・クライアント(存在する場合)のみが表示されます。
複数のアプリケーションを選択するには、[Ctrl]キーを押しながらアプリケーションをクリックします。
「次へ」をクリックします。
図8-4に示すように、「ポリシーの選択」ページで、選択したアプリケーションに添付するポリシーを1つ以上選択します。「ポリシーの選択」ページには、前の手順で選択したすべてのサブジェクトに適用できるポリシーのみが表示されます。
複数のポリシーを選択するには、[Ctrl]キーを押しながら添付するポリシーをクリックします。
「次へ」をクリックします。
図8-5に示すように、「サマリー」ページに、選択したアプリケーションと、それらのアプリケーションに添付するポリシーが表示されます。
変更を行うには「戻る」をクリックし、一括添付を完了するには「添付」をクリックします。
そのWebサービスを使用するアプリケーションを再起動します。
ポリシー内のアサーションのタイプおよび数が有効であれば、ポリシーは内部的に一貫性があり有効です。ただし、ポリシー・サブジェクトに複数のポリシーが添付されている場合は、ポリシーの組合せも有効であることが必要です。具体的には、次の内容を満たしている必要があります。
1つのポリシー・サブジェクトに添付されているMTOMポリシーが1つのみであること。
1つのポリシー・サブジェクトに添付されている信頼できるメッセージング・ポリシーが1つのみであること。
1つのポリシー・サブジェクトに添付されているWS-Addressingポリシーが1つのみであること。
1つのポリシー・サブジェクトに添付されている管理ポリシーが1つのみであること。
1つのサブジェクトに添付されている、サブタイプが認証のセキュリティ・ポリシーが1つのみであること。
1つのサブジェクトに添付されている、サブタイプがメッセージ保護のセキュリティ・ポリシーが1つのみであること。
1つのサブジェクトに添付されている、サブタイプが認可のセキュリティ・ポリシーが1つのみであること。
|
注意: ポリシー・サブジェクトに添付されるセキュリティ・ポリシーは1つまたは2つです。セキュリティ・ポリシーに含めることができるのは、認証またはメッセージ保護のサブタイプ・カテゴリに属するアサーションか、両方のサブタイプ・カテゴリに属するアサーションです。2つ目のセキュリティ・ポリシーには、認可サブタイプに属するアサーションが含まれます。 |
認証ポリシーおよび認可ポリシーの両方がポリシー・サブジェクトに添付されている場合は、認証ポリシーが認可ポリシーより先行していること。
ポリシーに特定のトランスポート・プロトコル(HTTPまたはHTTPSなど)が必要な場合は、Webサービスで指定のトランスポート・プロトコルが使用されていることを確認すること。
一括添付機能を使用する場合は、ポリシー・サブジェクト検証を使用して、複数のポリシー・サブジェクトの妥当性を確認することはできません。この機能を使用してサブジェクトにポリシーを添付した後に、各サブジェクトを個別に検証する必要があります。
|
注意: ポリシー・サブジェクト検証では、ポリシーのXMLスキーマは検証されません。そのため、ポリシー・ファイルを手動で編集する場合は、別のツールを使用してXMLが有効であることを確認する必要があります。 |
ポリシー・サブジェクト検証を確認する手順
ナビゲータ・ペインで、「アプリケーションのデプロイ」フォルダのプラス記号(+)をクリックしてファーム内のアプリケーションを表示し、アプリケーションを選択します。
「アプリケーションのデプロイ」ホームページが表示されます。
Fusion Middleware Controlを使用して、「アプリケーションのデプロイ」→「Webサービス」をクリックします。
これにより、アプリケーションの「Webサービスのサマリー」ページが表示されます。
ページの「Webサービスの詳細」セクションで、まだ表示されていない場合は、Webサービス・ポートを表示するWebサービスのプラス記号(+)をクリックします。
ポート名をクリックして「Webサービス・エンドポイント」ページに移動します。
「ポリシー」タブをクリックします。
「アタッチ/デタッチ」をクリックします。
「検証」をクリックします。
検証エラーがある場合は、エラーを説明するダイアログ・ボックスが表示されます。エラーを修正して、ポリシー・サブジェクト検証を再度実行します。
この項では、Webサービス・クライアントにポリシーを添付する方法について説明します。
Webサービス・クライアントにポリシーを添付する手順は、どのWebサービス・クライアント・タイプでも同じです。ただし、Fusion Middleware Controlを使用してWebサービス・クライアント自体に移動する方法は、アプリケーション・タイプによって異なります。
ADF DCのWebサービス・クライアントの場合
ナビゲータ・ペインで、「アプリケーションのデプロイ」フォルダのプラス記号(+)をクリックしてファーム内のアプリケーションを表示し、アプリケーションを選択します。
「アプリケーションのデプロイ」ホームページが表示されます。
Fusion Middleware Controlを使用して、「アプリケーションのデプロイ」→「ADF」をクリックします。
「管理」タブを選択します。
「ADF接続」をクリックします。
ページの「Webサービス接続」の部分で、「Webサービスの構成」をクリックします。
構成するWebサービス・クライアントのエンドポイントを選択します。
「アタッチ/デタッチ」をクリックします。
ページの「使用可能なポリシー」の部分で、添付するポリシーを1つ以上選択します。ポリシーを検証するには「検証」をクリックし、クライアント・ポリシーとサービス・ポリシーの互換性を確認するには「サービスの互換性をチェックします」をクリックします。
ポリシーを添付するには、「アタッチ」をクリックします。
「OK」をクリックします。
SOA参照のWebサービス・クライアントの場合
ナビゲータ・ペインで、SOAデプロイのプラス記号(+)をクリックし、ターゲットを選択します。
「ダッシュボード」で、「SOA参照」ページをクリックします。
「ポリシー」タブをクリックします。
「アタッチ/デタッチ」をクリックします。
ページの「使用可能なポリシー」の部分で、添付するポリシーを1つ以上選択します。ポリシーを検証するには「検証」をクリックし、クライアント・ポリシーとサービス・ポリシーの互換性を確認するには「サービスの互換性をチェックします」をクリックします。
ポリシーを添付するには、「アタッチ」をクリックします。
「OK」をクリックします。
ポリシー構成のオーバーライド機能を使用すると、ポリシー添付のWebサービス・クライアント構成情報をグローバルに設定するかわりに、またはそれに加えて、特定の構成情報をクライアントごとに指定できます。構成情報のターゲット指定により、管理する個別ポリシーの数を制限できます。
1つのポリシーを定義して、構成値のデフォルト値を指定できます。構成がほとんど変わらない複数のポリシーを作成するのではなく、同じ一般ポリシーを使用し、要件に一致するように特定の値をオーバーライドできます。
たとえば、oracle/wss_http_token_client_policyポリシーには、csf-keyプロパティがあり、デフォルト値はbasic.credentialsです。この値は、ユーザー名/パスワードにマッピングされているキーを表しています。このポリシーを複数のWebサービス・クライアントに添付するときに同じキー値を常に使用する可能性があります。この場合、oracle/wss_http_token_client_policyポリシーの「構成」ページでキー値を指定して、すべてのインスタンスに適用できます。
一方、このキー値をクライアントごとにオーバーライドすることもできます。オーパーライドできるプロパティを含むクライアント・ポリシーを添付した後に、図8-6に示すように、「ポリシー」ページの「セキュリティ構成の詳細」セクションで値を入力できます。
Webサービス・クライアント・ポリシーでは、次のプロパティのみをオーバーライドできます。
user.roles.include(オプションで、設定は任意です。)
csf-key(ポリシーの「構成」ページで設定するか、オーバーライドする必要があります。)
saml.issuer.name(オプションで、設定は任意です。)
saml.assertion.filename(オプションで、設定は任意です。)
service.principal.name(ポリシーの「構成」ページで設定するか、オーバーライドする必要があります。)
keystore.recipient.alias(ポリシーの「構成」ページで設定するか、オーバーライドする必要があります。)