この章では次の項について説明します。
Webサービス・モデルの主要な機能は、Webサービスを幅広く使用可能かつ検出可能にする機能です。UDDIは、ビジネスとレジストリ内のサービスの情報を集中管理するWebサービスをパブリッシュおよび検出する方法の1つです。新しい別の標準として、Web Services Inspection Language(WSIL)仕様があります。
Oracle Enterprise Manager Fusion Middleware Controlは、WS-Inspection(WSIL)ドキュメントおよびUDDI v3レジストリでパブリッシュされたWebサービスの登録のサポートを提供します。WSILドキュメントまたはUDDI v3レジストリで使用できる任意のサービスをEnterprise Manager内に登録できます。
Enterprise Manager内の登録済サービスをサービスのソースで管理しやすくするために、メタ情報またはプロファイルを登録することもできます。ソースを登録してそれに論理名を割り当てておくと、その後はWSDLのURLなどの接続情報を指定する必要がなくなります。ドメインは複数の登録済ソースを持つことができ、各登録済ソースが複数の登録済サービスを持つことができます。ソースを登録しておくと、そのソースに登録できるサービスを簡単に検索できるようになります。
サービス名と対応するWSDLは、単一の登録済ソース内で一意である必要があります。あるサービスを登録すると、それと同じ名前の別のサービス、または名前は異なるが同じWSDL URLの別のサービスを登録しようとすると無効になります。
Webサービスを登録しておくと、Enterprise Manager内の選択リストから簡単にサービスを参照できるようになります。たとえば、「Webサービスのテスト」の説明に従ってWebサービスをテストする場合、WSDLを指定するかわりに「検索」アイコンをクリックしてから、図13-1に示すように登録済サービスのリストからWSDLを選択します。
Universal Description Discovery & Integration(UDDI)は、ビジネスを迅速、簡単、かつ動的に検索し、そして相互の取引を実行可能にすることを目指す業界イニシアティブです。組み込まれるUDDIレジストリには、ビジネスに関するカタログ化された情報、その企業が提供するサービス、および取引の際に使用する通信規格とインタフェースが格納されます。
Webサービスのオーナーは、それらをUDDIレジストリにパブリッシュします。パブリッシュされると、Webサービスの説明およびサービスに対するポインタがUDDIレジストリに保持されます。UDDIにより、クライアントはこのレジストリを検索し、目的のサービスを見つけてその詳細を取得できます。これらの詳細には、サービスの起動ポイントを始め、サービスやその機能性を確認するための情報が含まれます。
WSILでは、Webサービスの説明の参照にExtensible Markup Language(XML)形式が定義されます。これらの参照はWSILドキュメントに含まれ、Webサービスの説明(WSDLファイルなど)およびWebサービスの他の集合(別のWSILドキュメントまたはUDDIレジストリなど)を参照します。
WSILドキュメントは、通常Webサービス・プロバイダによって配布されます。これらのドキュメントには、プロバイダのWebサイトで使用できるWebサービスを調べる方法が記載されています。このため、WSIL標準ではWebサービス・コンシューマ向けにWSILドキュメントを使用可能にするルールも定義されます。
WSILモデルは、Webサービスの検出を分散化します。複数のビジネス・エンティティおよびサービスに関する情報を集中管理するUDDIレジストリとは対照的に、WSILはWebサービスの記述情報をどの場所からでも提供できるようにします。UDDIとは異なり、WSILはビジネス・エンティティ情報には関係せず、特定の形式によるサービスの記述を必要としません。どのサービス・プロバイダが使用されているかは既知であり、Webサービスの記述はWSDLなどの他の標準に依存しているとみなされます。
この項の手順に従って登録済ソースとWebサービスを表示および編集します。
ナビゲータ・ペインで「WebLogicドメイン」を開き、登録済ソースとWebサービスを表示するドメインを表示します。
ドメインを選択します。
Fusion Middleware Controlを使用して、「WebLogicドメイン」→「Webサービス」→「登録済サービス」を選択します。図13-2に示すように、登録済ソースとサービスページが表示されます。
「ソース」表には、各登録済ソースに関する次の情報が表示されます。
名前: ソースの論理名
説明: ソースの説明
ソースURL: URL形式のソースの場所
タイプ - ソース・タイプ: UDDI v3レジストリ・インポート、ファイルからのWSILインポート、URLからのWSILインポート
ユーザーID: 外部ソースのユーザーID
「表示」メニューを使用して、表示される情報をカスタマイズできます。ページのこのセクションから、新しいソースの追加および編集、ソースの削除、ソースのWebサービスの登録、そしてソースから事前定義済UDDIレジストリへのWebサービスのパブリッシュを行うこともできます。
「ソース」表でソースを選択します。
各登録済ソースは複数の登録済サービスを持つことができます。「サービス」表には、選択したソース場所からインポートされた登録済サービスに関する次の情報が表示されます。
名前: 登録済サービスの名前
説明: サービスの説明
サービス場所: URL形式でのサービスの場所
「表示」メニューを使用して、表示される情報をカスタマイズできます。選択したサービスのWSDLを表示して、選択したWebサービスをテストすることもできます。
次のタイプのWebサービス・ソースを登録できます。
UDDI v3レジストリ・インポート
URLからのWSILインポート
ファイルからのWSILインポート
この項の手順に従ってソースを登録します。
ソースを登録する手順
ナビゲータ・ペインで「WebLogicドメイン」を開き、Webサービスのソースを登録するドメインを表示します。
ドメインを選択します。
Fusion Middleware Controlを使用して、「WebLogicドメイン」→「Webサービス」→「登録済サービス」を選択します。図13-2に示すように、登録済ソースとサービスページが表示されます。
「追加」をクリックして新しいソースを登録します。図13-3に示すように、新規ソースの登録ページが表示されます。
新しいソースに関する次の情報を入力します。
名前: ソースの論理名。
説明: ソースの説明。
タイプ: UDDI v3レジストリ・インポート、URLからのWSILインポート、ファイルからのWSILインポートの3つのオプションからいずれかを選択します。
その他の入力する必要がある情報は、選択したオプションによって異なります。
UDDI v3レジストリ・インポートを選択した場合は、次の情報を入力します。
「ソースURL」フィールドに、UDDI照会URL、たとえばhttp://somehost/uddi/inquiry
を入力します。
サービスをURRIソース(外部UDDIレジストリ)にパブリッシュできるようにするには、「有効化」ボックスを選択してフィールドに次のように入力します。
パブリッシュURLフィールドで、サービスのパブリッシュ先となるレジストリのURLロケーションを入力します。
「セキュリティURL」フィールドに、レジストリにアクセスするために必要なセキュリティ・ポートのURLロケーションを入力します。
「ユーザーID」および「パスワード」フィールドに、レジストリにアクセスするために必要なセキュリティ資格証明を入力します。
「URLからのWSILインポート」を選択した場合は、次の情報を入力します。
「ソースURL」フィールドに、WSILの場所をURL形式で入力します。
WSILにアクセスするためにユーザー名とパスワードが必要な場合は、Basic認証フィールドで「有効化」ボックスを選択します。「ユーザーID」および「パスワード」フィールドに、ユーザー名とパスワードを入力します。
「ファイルからのWSILインポート」を選択した場合は、「参照」(「WSILファイル」フィールドの横)をクリックしてインポートするWSILファイルを選択します。
「OK」をクリックしてソースを登録します。
登録済UDDIソースからWebサービスを登録するには、この項の手順に従います。
ナビゲータ・ペインで「WebLogicドメイン」を開き、Webサービスを登録するドメインを表示します。
ドメインを選択します。
Fusion Middleware Controlを使用して、「WebLogicドメイン」→「Webサービス」→「登録済サービス」を選択します。図13-1に示すように、登録済ソースページが表示されます。
サービスの登録元となるUDDIソースを選択します。UDDIソースの「タイプ」は、UDDI v3レジストリ・インポートとして指定することに注意してください。
Webサービスの登録を選択します。
図13-4に示すように、「新規サービスの登録」ページが表示されます。
「新規サービスの登録」ページには、読取り専用形式のソース情報、および登録できるUDDIで使用可能なサービスのリストが表示されます。
サービス名および「サービス・キー」フィールドを使用して、表示される使用可能なサービスのリストをフィルタできます。たとえば、電卓(calculator)サービスを検索するには、サービス名フィールドにcalc
と入力します。電卓(calculator)サービスなど、文字列calc
を含むサービスのみが表示されます。検索では大文字と小文字は区別されません。
ページのUDDIで使用可能なサービスセクションで、サービス詳細の表示アイコンをクリックして、表内の各サービスのサービス詳細をUDDIから表示できます。UDDIからのサービス詳細ウィンドウには、特にサービス名、サービスの説明、サービスのWSDL、サービス・キー、ビジネス・キー、およびサービス場所などのサービスに関する情報が表示されます。
「編集」アイコンをクリックして、サービスの詳細を編集できます。これにより、選択したサービスの名前と説明を変更できます。
ページのUDDIで使用可能なサービスセクションで、ソースから登録する1つ以上のサービスを選択し、「登録」をクリックします。
サービスが正常に登録されたことを示す確認メッセージが表示されます。
登録済WSILソースからWebサービスを登録するには、この項の手順に従います。
ナビゲータ・ペインで「WebLogicドメイン」を開き、Webサービスを登録するドメインを表示します。
ドメインを選択します。
Fusion Middleware Controlを使用して、「WebLogicドメイン」→「Webサービス」→「登録済サービス」を選択します。図13-1に示すように、登録済ソースとサービスページが表示されます。
サービスの登録元となるWSILソースを選択します。WSILソースの「タイプ」は、「ファイルからのWSILインポート」または「URLからのWSILインポート」として指定することに注意してください。
Webサービスの登録を選択します。
図13-5に示すように、「新規サービスの登録」ページが表示されます。
「新規サービスの登録」ページには、読取り専用形式のソース情報、およびWSILで使用可能なサービス表に示すように、登録できるWSILで使用可能なサービスのリスト(あれば)が表示されます。WSILにWSIL参照がある場合は、それらが「WSILで使用可能な参照」表にリストされます。
WSILで使用可能なサービス表で、「編集」アイコンをクリックして、サービスの詳細を編集できます。これにより、選択したサービスの名前と説明を変更できます。
現在のWSILから使用可能なサービスを登録するには、WSILで使用可能名サービス表でサービスを選択して、「登録」をクリックします。
サービスが正常に登録されたことを示す確認メッセージが表示されます。
現在のWSILが別のWSIL URLや参照も参照している場合は、「WSILで使用可能な参照」を開いて表示します。参照されているWebサービスも登録できます。
現在のWSILのかわりに参照されているWSILからサービスを登録するには、「WSILで使用可能な参照」表でその参照の「プロセス」アイコンをクリックします。
WSLが正常に解析されると、新しいソースが登録され、現在のWSILソースが参照されているWSILに置き換えられます。参照されているWSILソースで使用可能なサービスが、WSILで使用可能なサービス表にリストされます。これで参照されているWSILからサービスを登録できます。
注意: 作成された各新規ソースには、親ソース名に_n を付加した名前が付けられます。たとえば、親ソース名がwsil_file_1 の場合、参照されている新規ソースの名前は、ソース・タイプWSIL URLを含むwsil_file_1 _1 、wsil_file_1 _2 )になります。新しいソースは、登録済ソースとサービスページの「ソース」表にリストされます。 |
WSILが正常に解析されなかった場合は、エラー・メッセージが表示されます。通常そのような場合でも、選択されたWSIL参照に対して新しいソースは正常に登録されます。ただし、システムがWSILドキュメントを解析できなかったために、エラー・メッセージが表示されます。エラー・ダイアログを閉じて、「OK」をクリックして登録済ソースとサービスページに戻ります。
WSIL解析は、参照が不適切であるか認可証明書が必要な場合には失敗します。[ソースの登録]で説明されているように、WSILソースの認可を有効化できます。
注意: 接続やその他の不具合が原因で、システムが登録済ソースからのWebサービスの取得に失敗した場合は、「新規サービスの登録」ページにソースの読取り専用情報が表示されますが、Webサービスは表示されません。このような場合は、エラー・ダイアログが表示されている場合は、エラー・ダイアログで「OK」をクリックし、それから「新規サービスの登録」ページで「OK」をクリックして、ソースとサービスの登録ページに戻ります。問題解決方法として、他の方法により登録済ソースを表示します。たとえば、ソースのタイプに応じて、次の方法を実行します。
また、関連するEnterprise Managerエラー・ログを確認することもできます。 |
この項の手順に従って、WebサービスまたはWebサービス・ソースを登録解除します。
ナビゲータ・ペインで「WebLogicドメイン」を開き、Webサービスを登録解除するドメインを表示します。
ドメインを選択します。
Fusion Middleware Controlを使用して、「WebLogicドメイン」→「Webサービス」→「登録済サービス」を選択します。図13-2に示すように、登録済ソースとサービスページが表示されます。
次のいずれかを実行します。
ソースの登録を解除するには、「ソース」表からソースを選択し、「削除」をクリックします。
確認メッセージが表示されます。「OK」をクリックしてソースを削除します。
サービスをソースから登録解除するには、「ソース」表からソースを選択します。
「サービス」表に登録済Webサービスが表示されます。
登録解除するサービスを「サービス」表から選択し、「削除」をクリックします。
確認メッセージが表示されます。「OK」をクリックしてサービスを削除します。
WebサービスをUDDIにパブリッシュするには、登録済UDDIソースから、またはADF、WebCenter、JEEアプリケーションの「Webサービスのサマリー」ページから行うことができます。登録済UDDIソースは、登録済ソースとサービスページにリストされます。これにはドメインに登録されているすべてのソースとサービスが含まれます。「Webサービスのサマリー」ページには、アプリケーション内のWebサービスがリストされます。次の手順では、この両方の方法について説明します。
注意: サービスをUDDIにパブリッシュするには、プロキシを使用する必要があります。これはファイアウォールより外側のURLにアクセスする必要があるためです。必要なプロキシ設定の詳細は、「UDDIのプロキシ・サーバーの構成」を参照してください。 |
Webサービスを登録済ソースからUDDIにパブリッシュする手順
「登録済ソースとWebサービスの表示」の説明に従って、登録済ソースとサービスページに移動します。
「ソース」表でソース行を選択してから、「UDDIにパブリッシュ」を選択します。
サービスをUDDIにパブリッシュウィンドウで、パブリッシュするサービスに関する情報を入力します。
「サービス名」は、UDDIレジストリにパブリッシュされるWebサービスの名前です。これは必須フィールドです。
「サービスの説明」は、選択したWebサービスの説明です。
サービス定義の場所は、サービス定義のURLロケーションです。これは必須フィールドです。
UDDIソースは、サービスの登録元となるUDDIソースの名前です。これは読取り専用フィールドです。
「ビジネス名」は、UDDIレジストリ内のデータ構造の名前です。これはビジネスがすでにUDDIに登録されていることを前提としています。リストからビジネス名を選択します。これは必須フィールドです。
サービスをUDDIにパブリッシュウィンドウで「OK」をクリックします。
システムにより、指定されたサービスが有効なWSDLを持つこと、そしてUDDIレジストリが新しいエントリを受け入れたか既存のエントリを更新したことが検証されます。正常であれば、確認メッセージが表示され、サービスがレジストリにパブリッシュされます。サービスがUDDIにパブリッシュされると、「UDDIソースからのWebサービスの登録」の説明に従って、そのサービスをソースに登録できるようになります
操作中にエラーが発生すると、エラー・メッセージが出力されます。
ソースに登録できるのは、一意のWSDLを使用しているサービスのみであることに注意してください。
WebサービスをアプリケーションからUDDIにパブリッシュする手順
「アプリケーションの「Webサービスのサマリー」ページへの移動」の説明に従って、「Webサービスのサマリー」ページに移動します。
ページの「Webサービスの詳細」セクションで、パブリッシュするサービスを選択します。
「アクション」→「UDDIにパブリッシュ」を選択します。図13-8を参照してください。
サービスをUDDIにパブリッシュダイアログ・ボックス(図13-9)で、パブリッシュするサービスに関する情報を入力します。
「サービス名」は、UDDIレジストリにパブリッシュされるWebサービスの名前です。これは必須フィールドです。
「サービスの説明」は、選択したWebサービスの説明です。
サービス定義の場所は、サービス定義のURLロケーションにより事前に入力されています(これは読取り専用フィールドです)。
UDDIソースは、UDDIレジストリ・ソースの論理名です。リストからUDDIソースを選択します。これは必須フィールドです。
「ビジネス名」は、UDDIレジストリ内のデータ構造の名前です。これはビジネスがすでにUDDIに登録されていることを前提としています。リストからビジネス名を選択します。これは必須フィールドです。
「OK」をクリックして外部のUDDIレジストリに接続し、Webサービスを登録します。
サービスが正常に登録されると、確認メッセージが表示されます。操作中にエラーが発生すると、エラー・メッセージが出力されます。
サービスをUDDIにパブリッシュするには、ファイアウォールより外側のURLにアクセスするため、プロキシを使用する必要があります。
WebLogic Serverを起動する前に、表13-1に定義されているJavaシステム・プロパティを設定する必要があります。これは環境変数として、またはWebLogic Serverの起動ファイルで設定できます。
表13-1 UDDIのプロキシ・サーバーを指定するために使用されるJavaシステム・プロパティ
プロパティ | 説明 |
---|---|
proxySet=true |
WebLogicプロキシ・プロパティを使用するかどうかを指定するフラグ。 |
http.proxyHost=proxyHost |
プロキシ・サーバーを実行しているホスト・コンピュータの名前。 |
http.proxyPort=proxyPort |
プロキシ・サーバーがリスニングしているポート。 |
http.nonProxyHosts=hostname | hostname | ... |
プロキシを回避して直接到達する必要のあるホストのリスト。各ホスト名を「|」記号で区切ります。 |
たとえば、次のようにします。
set PROXY_SETTINGS="-DproxySet=true -Dhttp.proxyHost=www-proxy.us.oracle.com -Dhttp.proxyPort=80 -Dhttp.nonProxyHosts=localhost|${HOST}|*.us.oracle.com"
監査は、セキュリティ・イベントおよびそれらのイベントの結果に関する情報の収集および格納のプロセスを説明します。監査では、選択したシステムのアクティビティに関する電子的証跡が提供されます。
監査ポリシーでは、実行時に取得されるイベントのタイプおよびスコープが定義されます。操作中は非常に大きなシステムおよびユーザー・イベントの配列が発生しますが、実際に監査されるイベントは、実行時に有効な監査ポリシーによって異なります。コンポーネント固有またはアプリケーション固有のポリシーを定義するか、個々のユーザーを監査できます。
監査ポリシーページを使用して、Webサービスおよびドメイン・レベルのアプリケーションなどの、システム・コンポーネントの監査を構成できます。SOA、ADFおよびWebCenterサービスを監査できます。
ページ中央の監査ポリシーの表には、現在有効な監査が表示されます。表には、次の情報が含まれます。
名前: 監査できるシステム・コンポーネントおよびアプリケーションの名前。
監査の有効化: 現在監査が有効にされているコンポーネントおよびアプリケーションを識別します。
フィルタ: 現在有効な任意のフィルタを指定します。
次の表では、Webサービスおよび関連するコンポーネントで監査できるイベントがまとめられています。
表13-2 Webサービスのイベントの監査
監査を有効にするWebサービスのイベント | 使用するシステム・コンポーネント |
---|---|
|
Oracle Web Services Manager: エージェント |
|
Oracle Webサービス |
|
Oracle Web Services Manager |
|
Oracle Web Services Manager: ポリシー添付 |
また、管理者によるすべてのイベントを監査するなど、特定ユーザーのイベントを監査できます。
監査ポリシーの構成の詳細は、『Oracle Fusion Middlewareセキュリティ・ガイド』の監査の構成および管理に関する項を参照してください。
次の項では、監査ポリシーを定義し監査データを表示する方法を説明します。
この項の手順に従って監査ポリシーを構成します。
ナビゲータ・ペインで「WebLogicドメイン」を開きます。
アサーション・テンプレートを管理するドメインをクリックします。
「WebLogicドメイン」メニューから、「セキュリティ」→監査ポリシーを選択します。
「監査ポリシー設定」ページが表示されます。
「監査レベル」メニューから監査レベルを選択します。
有効な監査レベルは次のとおりです。
なし: 監査を無効にします。
低: 小さいスコープのイベントを監査します。イベントのサブセットは、各コンポーネントについて個別に事前定義されます。たとえば、あるコンポーネントに「低」を指定すると、認証および認可イベントのみが収集されます。
中: 中程度のスコープのイベント(「低」レベルで収集されたイベントのスーパーセット)を監査します。たとえば、あるコンポーネントに「中」を指定すると、認証、認可およびポリシー認可イベントが収集されます。
カスタム: カスタム監査ポリシーを使用できるようになります。
監査ポリシー・リストの各レベルで、監査に対して選択したコンポーネントおよびアプリケーションを表示できます。「カスタム」以外のすべての監査レベルで、監査ポリシー・リストの情報はグレーで表示され、他の監査レベル設定はカスタマイズできなくなっています。
「カスタム」監査レベルを選択した場合は、次のいずれかの手順を実行します。
「監査の有効化」列で、関連するチェック・ボックスを選択して、監査する情報を選択します。
コンポーネントのすべてのイベント、コンポーネント・イベント・グループ内のすべてのイベント、個々のイベント、または個々のイベントの特定の結果(成功または失敗など)などの粒度のレベルで監査できます。
イベントの結果レベルで編集フィルタを指定できます。フィルタはルールベースの式で、戻りイベントを制御するように定義できます。たとえば、ポリシーが特定のユーザーによって作成、変更または削除された場合に、ポリシー管理操作を追跡するフィルタとしてイニシエータを指定できます。結果レベルでフィルタを定義するには、適切な列で「フィルタの編集」アイコンをクリックし、フィルタ属性を指定して「OK」をクリックします。フィルタ定義は「フィルタ」列に表示されます。
サブコンポーネントの監査をカスタマイズするには、より高いレベルのコンポーネントのチェック・ボックスを選択解除します。列名に隣接するチェック・ボックスを選択して、すべてのコンポーネントとアプリケーションを選択できます。
すべてのシステム・コンポーネントおよびアプリケーションの障害のみを監査するには、「障害のみ選択」を使用します。
選択すると、「監査の有効化」列のすべてのチェック・ボックスが選択解除されます。
必要に応じて、「常に監査するユーザー」テキスト・ボックスで、ユーザーのカンマ区切りリストを入力します。
指定されたユーザーは、監査が有効または無効にされているか、またはどのレベルの監査が設定されているかにかかわらず常に監査されます。
「適用」をクリックします。
現在のセッション中に行ったすべての変更を戻すには、「元に戻す」をクリックします。
監査情報のデータの収集および格納を管理するには、次のタスクを実行する必要があります。
監査データ・リポジトリの設定および管理。
ファイルまたはデータベースのいずれかのリポジトリ・モードを使用してレコードを格納できます。データベース・リポジトリ・モードの使用をお薦めします。Oracle Business Intelligence Publisherベースの監査レポートは、データベース・リポジトリ・モードでのみ機能します。
監査イベント収集の設定。
詳細は、『Oracle Fusion Middlewareセキュリティ・ガイド』の監査データの収集および格納の管理に関する項を参照してください。
データベース・リポジトリの場合、データはOracle Business Intelligence Publisherで事前定義されたレポートを介して公開されます。
認証および認可の履歴、Oracle WSMポリシー強制および管理など、多くの事前定義済レポートを使用できます。Oracle Business Intelligence Publisherを使用した監査レポートの生成および表示の詳細は、『Oracle Fusion Middlewareセキュリティ・ガイド』の監査分析の使用およびレポートに関する項を参照してください。
ファイルベース・リポジトリの場合、テキスト・エディタを使用してバスストップ・ファイルを表示し、独自のカスタム問合せを作成できます。
WebサービスWSDLを一般に公開したくない場合もあります。「Webサービス・エンドポイント」ページから、WSDLへのパブリック・アクセスを有効または無効にできます。
注意: 起動中に、Webサービス・クライアントからWSDLへのアクセスが必要な場合もあります。WSDLへのパブリック・アクセスを無効にすると、クライアントにはWSDLのローカル・コピーが必要になります。 |
WSDLを管理する手順
「Webサービス・エンドポイントの構成」で説明されているように、Webサービスのエンドポイント構成ページに移動します。
「構成」タブで、「WSDL対応」フィールドを「TRUE」または「FALSE」に設定して、WSDLへのパブリック・アクセスを有効または無効にします。
「適用」をクリックします。
次の項では、ポリシー・アサーション・テンプレートを作成および管理する方法を説明します。
アサーション・テンプレートは、「Webサービス・アサーション・テンプレート」ページからドメイン・レベルで管理できます。このページから、アサーション・テンプレートをコピー、編集および削除できます。
「Webサービス・アサーション・テンプレート」ページに移動する手順
ナビゲータ・ペインで「WebLogicドメイン」を開きます。
アサーション・テンプレートを管理するドメインをクリックします。
「WebLogicドメイン」メニューから、「Webサービス」→「ポリシー」を選択します。
「Webサービス・ポリシー」ページが表示されます。
ページの右上角の「Webサービス・アサーション・テンプレート」をクリックします。
次の図に示すように、「Webサービス・アサーション・テンプレート」ページが表示されます。
この項の手順に従ってアサーション・テンプレートを表示します。
「「Webサービス・アサーション・テンプレート」ページへの移動」で説明されているように、「Webサービス・アサーション・テンプレート」ページに移動します。
「アサーション・テンプレート」表から、表示するアサーション・テンプレートを選択します。
「表示」をクリックします。
「テンプレートの表示」ページで、アサーションを確認します。
完了したら、「Webサービス・アサーション・テンプレートに戻る」をクリックします。
Webサービス・アサーション・テンプレートは、カテゴリ、名前、またはその両方で検索できます。
アサーション・テンプレートを検索する手順
「「Webサービス・アサーション・テンプレート」ページへの移動」で説明されているように、「Webサービス・アサーション・テンプレート」ページに移動します。
次の手順を1つ以上実行します。
特定のカテゴリ(またはすべてのカテゴリ)でアサーション・テンプレートを検索するには、「カテゴリ」ドロップダウン・リストからカテゴリを選択します。
有効なカテゴリに含まれるのは、「すべて」、「セキュリティ」、「MTOMアタッチメント」、「信頼できるメッセージング」、「WSアドレス」および「管理」です。
特定の文字列を含むアサーション・テンプレートを検索するには、「名前」フィールドに文字列を入力します。
アサーション・テンプレートの名前の一部を指定すると、指定されたカテゴリでその文字列を含むすべてのアサーション・テンプレートが表示されます。
「実行」をクリックします。
指定した検索条件に一致するアサーション・テンプレートのみが含まれるように、アサーション・テンプレート・リストが更新されます。
新しいアサーション・テンプレートは、既存のアサーションに基づいて作成されます。必要な動作に最も一致するアサーション・テンプレートを選択し、変更を行って希望の動作を作成します。
アサーション・テンプレートを作成する手順
「「Webサービス・アサーション・テンプレート」ページへの移動」で説明されているように、「Webサービス・アサーション・テンプレート」ページに移動します。
「アサーション・テンプレート」表から、コピーするアサーション・テンプレートを選択します。
「類似作成」をクリックします。
次に「テンプレートの作成」ページを示します。
アサーション・テンプレートのコピー・ボックスで、アサーションの名前を編集し、簡単な説明を入力します。
コピーしたアサーション・テンプレートの名前にCopyという語が追加されます。これは、新しいアサーション・テンプレートに割り当てられるデフォルトの名前です。たとえば、コピーするアサーション・テンプレートの名前がoracle/wss10_username_token_service_templateの場合、コピーのデフォルトの名前はoracle/wss10_username_token_service_template_Copyです。
この新しいアサーション・テンプレートの名前は、使用している環境で意味のある名前に変更することをお薦めします。
「OK」をクリックします。
「アサーション・テンプレート」表にアサーションが追加されます。これで、新しいアサーションを選択し、「編集」をクリックしてアサーションを構成できます。
Oracle Enterprise Manager Fusion Middleware Controlからアサーション・テンプレートを個別にエクスポートできます。アサーション・テンプレートをディレクトリにコピーすることも、アサーション・テンプレートをインポートして別のリポジトリに移動することもできます。移動すると、「アサーション・テンプレートのインポート」で説明されているように、アサーション・テンプレートをインポートできます。
アサーション・テンプレートをエクスポートする手順
「「Webサービス・アサーション・テンプレート」ページへの移動」で説明されているように、「Webサービス・アサーション・テンプレート」ページに移動します。
「アサーション・テンプレート」表から、ファイルにエクスポートするアサーション・テンプレートを選択します。
「ファイルにエクスポート」をクリックします。
ファイルを開くか保存するよう要求されます。
「ファイルの保存」をクリックします。
「OK」をクリックします。
ファイルの保存先のローカル・ディレクトリの場所に移動し、必要に応じてファイル名を更新します。
「保存」をクリックします。
この項の手順に従ってアサーション・テンプレートを表示します。
「「Webサービス・アサーション・テンプレート」ページへの移動」で説明されているように、「Webサービス・アサーション・テンプレート」ページに移動します。
「ファイルからインポート」をクリックします。
アサーション・テンプレート・ファイルを用意するよう要求されます。
「参照」をクリックして、アサーション・テンプレート・ファイルが存在するディレクトリに移動し、インポートするアサーション・テンプレートを選択します。
「OK」をクリックします。
「アサーション・テンプレート」表にアサーション・テンプレートが追加されます。
この項の手順に従ってアサーション・テンプレートを編集します。
「「Webサービス・アサーション・テンプレート」ページへの移動」で説明されているように、「Webサービス・アサーション・テンプレート」ページに移動します。
「アサーション・テンプレート」表から、編集するアサーション・テンプレートを選択します。
「編集」をクリックします。
必要に応じてアサーション・テンプレートを編集します。
「保存」をクリックします。
この項の手順に従ってアサーション・テンプレートを削除します。
「「Webサービス・アサーション・テンプレート」ページへの移動」で説明されているように、「Webサービス・アサーション・テンプレート」ページに移動します。
「アサーション・テンプレート」表から、削除するアサーション・テンプレートを選択します。
「削除」をクリックします。
アサーション・テンプレートの削除を確認するよう要求されます。
「OK」をクリックします。
MDSリポジトリはファイルベースまたはデータベース・ベースのどちらでも可能です。本番環境では、データベース・ベースのリポジトリを使用します。
このリリースでサポートされているデータベースのリストは、http://www.oracle.com/technology/software/products/ias/files/fusion_certification.html
のOracle Fusion Middlewareでサポートされているシステム構成に関する項を参照してください。
アプリケーションをMDSリポジトリにデプロイする前に、Oracle WebLogic Serverドメインを使用してレポジトリを登録しておく必要があります。MDSを登録するには、図13-3に示すように、ナビゲータ・ペインで「メタデータ・リポジトリ」を開きます。
図13-14に示すように、メタデータ・リポジトリを登録します。
メタデータ・リポジトリの登録および管理の詳細は、『Oracle Fusion Middleware管理者ガイド』のOracleメタデータ・リポジトリの管理に関する項を参照してください。
Oracle Web Services ManagerのMDSリポジトリの管理に関する詳細は、第17章 「MDSリポジトリの管理」を参照してください。
セキュリティ・ポリシーは、Oracle Enterprise Manager Fusion Middleware Controlを使用して、実行中のクライアントに添付できます。クライアントへのポリシーの添付または解除を実行するために、クライアント・アプリケーションを再デプロイする必要はありません。Fusion Middleware Controlを使用したポリシーの添付方法の詳細は、第8章「Webサービスへのポリシーの添付」を参照してください。
次のコンポーネントのプロパティは、「プラットフォーム・ポリシー構成」ページから管理できます。
ポリシー・アクセッサ
ポリシー・キャッシュ
ポリシー・インターセプタ
アイデンティティ拡張
ポリシー・アクセッサ、ポリシー・キャッシュ、ポリシー・インターセプタ、およびアイデンティティ拡張プロパティを管理する手順
ナビゲータ・ペインで「WebLogicドメイン」を開いてドメインを表示します。
プロパティを管理するドメインを選択します。
「WebLogicドメイン」→「Webサービス」→「プラットフォーム・ポリシー構成」を選択します。
図13-15に示すように、「プラットフォーム・ポリシー構成」ページが表示されます。
プロパティを定義するコンポーネントに対応するタブを選択します。
デフォルトでは、Oracle Infrastructure Web Services Managerは自動検出機能をサポートしており、この機能を使用してドメイン内のOracle WSM Policy Managerを検索してこれに接続します。シナリオによっては、自動検出が期待通りに機能しない場合があります。たとえば、次のような場合には自動検出を無効にすることもできます。
ファイアウォール、ロード・バランサなどを使用している場合。このような環境では自動検出機能は正常に動作しません。
別のドメインで実行しているOracle WSM Policy Managerにアクセスする場合。自動検出機能は、Oracle WSM Policy Managerが現在のドメインに存在することを前提としています。
WebSphere、Application Server、JBOSSなど、自動検出機能をサポートしていないプラットフォームで実行している場合。
デフォルト設定をオーバーライドする場合。
Oracle Infrastructure Webサービス・ポリシーでは、「ポリシー・アクセッサ」タブでリモートJNDIプロバイダURLおよび対応するcsf-key資格証明を明示的に設定して、リモート・ドメイン内または別のプラットフォーム上のPolicy Managerにアクセスできます。「 ポリシー・キャッシュ」タブのプロパティにより、ポリシー・キャッシュの動作をチューニングしてネットワーク・コールを回避し、リモートのOracle WSM Policy Managerからポリシーをフェッチする間のパフォーマンスを向上できます。
「プラットフォーム・ポリシー・プロパティの構成」で説明されているように、「プラットフォーム・ポリシー構成」ページにアクセスします。
「ポリシー・アクセッサ」タブを選択します。
「追加」をクリックして、リモートJNDIプロバイダを定義します。
「プロパティの追加」ウィンドウで、次の値を指定します。
「名前」フィールドで、JNDIプロバイダURLプロパティをjava.naming.provider.url
として入力します。
「値」フィールドで、リモート・ドメインのJNDIプロバイダのURLを入力します。
これは、異なるドメインにある実行中のポリシー・マネージャの場所を指定して、そのPolicy Managerにアクセスできるようにします。このプロパティが指定されていないと、自動検出機能は同じドメインにあるPolicy Managerを検索しようとします。
「OK」をクリックします。
「追加」をクリックして、対応するcsf-key資格証明プロパティを定義します。「プロパティの追加」ウィンドウで、次の値を指定します。
「名前」フィールドで、JNDIプロバイダのcsf-key資格証明プロパティの名前をjndi.lookup.csf.key
として入力します。
「値」フィールドで、csf-key資格証明を入力します。
Policy Managerはセキュリティが有効なため、JNDI URLを使用してPolicy Managerを検索するときに、csf-keyはjava.naming.security.principal
およびjava.naming.security.credentials
を指定します。
「OK」をクリックします。
「ポリシー・キャッシュ」タブを選択します。
既存のポリシー・キャッシュ・プロパティを変更するには、それを選択して「編集」をクリックします。「プロパティの編集」ウィンドウで、「値」フィールドを編集して各プロパティのデフォルト値を変更できます。
cache.tolerance
: ポリシー・キャッシュのリフレッシュ間の時間(ミリ秒)です。これにより、Oracle WSM Policy Managerからポリシーの最新コピーを取得するために、指定した時間の後にポーリングが発生するようにします。デフォルトは60000ミリ秒(1分)です。
cache.size
: ポリシー・キャッシュに格納できる最大ポリシー数です。デフォルトは200 NOSです。
別のプロパティを追加するには、「追加」をクリックし、「プロパティの追加」ウィンドウで、必要な値を指定します。
「OK」をクリックします。
既存のプロパティを変更するには、それを選択してから「編集」をクリックします。
既存のプロパティを削除するには、それを選択してから「削除」をクリックします。
「適用」をクリックしてプロパティの更新を適用します。
「ポリシー・アクセッサ」タブにより、リポジトリからOracle WebLogic ServerのWebサービス・ポリシーの取得を構成することもできます。これには、リポジトリ・アクセッサのタイプ(たとえば、クラスパス、ローカル、またはリモートの別名)、リポジトリの場所(JAR、ディレクトリ、またはホストとポート)、アカウント情報(リモート・リポジトリ用)、リトライ・ロジック(高可用性用)およびキャッシュ・チューニングの指定が含まれます。
「プラットフォーム・ポリシー・プロパティの構成」で説明されているように、「プラットフォーム・ポリシー構成」ページにアクセスします。
「ポリシー・アクセッサ」タブを選択します。
「追加」をクリックして、ポリシー取得のプロパティを追加します。
次の表を使用して、「プロパティの追加」ウィンドウで使用可能なプロパティ名と値を指定します。
表13-3 「プロパティの追加」ウィンドウのプロパティ
要素 | 説明 |
---|---|
java.naming.provider.url |
別のドメインにある実行中のOracle WSM Policy Managerにアクセスするために、その場所を指定するJNDI URLです。デフォルトでは、このプロパティは指定されません。このプロパティが指定されていないと、Oracle WSMの自動検出機能は、同じドメインにあるPolicy Managerを検索しようとします。 |
jndi.lookup.csf.key |
次の場合には、このプロパティを構成する必要があります。
|
cache.refresh.initial |
最初のキャッシュ・リフレッシュまでの待機時間(ミリ秒数)。デフォルトは60000ミリ秒(1分)です。 |
cache.refresh.repeat |
次のキャッシュ・リフレッシュまでの待機時間(ミリ秒数)。デフォルトは60000ミリ秒(1分)です。 |
missing.entry.delay |
不足ドキュメントの取得を試行するまでの待機時間(ミリ秒数)。デフォルトは15000ミリ秒です。 |
usage record.delay |
使用状況データを送信するまでの待機時間(ミリ秒数)。デフォルトは30000ミリ秒です。 |
failure.retry.count |
通信失敗後に再試行する回数。デフォルトの再試行回数は、2回です。 |
failure.retry.delay |
次の再試行までの待機時間(ミリ秒数)。デフォルトは5000ミリ秒です。 |
wsm.repository.path |
ドキュメントのロード元となるJARのリスト。 |
oracle.wsm.policymanager.accessor.IRepositoryAccessor |
ポリシー・アクセス・ポイント・インスタンスに提供するリポジトリ・アクセッサ・クラスの名前または別名。デフォルト値は次のとおりです。
|
access.protocol |
ポリシー・アクセス・ポイント・インスタンスに提供するリポジトリ・アクセッサ・クラスの名前の従来のプロパティ。デフォルト値は次のとおりです。
|
wsm.repository.path |
ローカルのファイルベースのリポジトリの場所。 |
mds.module.home |
ローカルのファイルベースのリポジトリの場所の従来のプロパティ。 |
external.attachments |
外部アタッチメントの処理を有効にするかどうかを指定します。デフォルトは |
既存のプロパティを変更するには、それを選択してから「編集」をクリックします。
既存のプロパティを削除するには、それを選択してから「削除」をクリックします。
「適用」をクリックしてプロパティの更新を適用します。
「ポリシー・インターセプタ」タブのBindingSecurityInterceptor
プロパティにより、システム・クロック間のデフォルト・メッセージ・タイムスタンプの時差、ポリシー・キャッシュ内のNonceメッセージの存続時間、およびメッセージの有効期限を調整することにより、セキュリティ・ポリシー強制をチューニングできます。
「プラットフォーム・ポリシー・プロパティの構成」で説明されているように、「プラットフォーム・ポリシー構成」ページにアクセスします。
「ポリシー・インターセプタ」タブを選択します。
リストでBindingSecurityInterceptor
セキュリティ・プロパティを選択します。
BindingSecurityInterceptor
セキュリティ・プロパティを変更するには、それを選択してから「編集」をクリックします。「プロパティの編集」ウィンドウで、「値」フィールドを編集して各プロパティのデフォルト値を変更できます。
agent.clock.skew
: クライアントとサーバーのマシン間の許容時差(秒)。たとえば、メッセージのタイムスタンプがタイムゾーンの異なるサービスに送信された場合に、このプロパティで指定された許容時間が許容されます。デフォルト値は300秒です。
agent.nonce.ttl
: メッセージでNonceが送信された場合の、Nonceのキャッシュ内での合計存続時間(秒)。このプロパティにより、Nonceはキャッシュされ、この時間を超えるとキャッシュから削除されます。デフォルト値は28800秒です。
agent.expire.time
: メッセージが作成されてから期限切れになるまでの時間(秒)。このプロパティは、タイムスタンプがSOAPヘッダーで送信される場合に、タイプスタンプが期限切れかどうかを検証するために使用されます。デフォルト値は300秒です。
「OK」をクリックします。
既存のプロパティを削除するには、それを選択してから「削除」をクリックします。
「適用」をクリックしてプロパティの更新を適用します。
アイデンティティ拡張タブのプロパティにより、WSDLのX509資格証明をパブリッシュしてWebサービス・ポリシーを強制するかどうかを指定できます。X509資格証明をパブリッシュする必要がない場合は(たとえばSSLを使用する場合など)、デフォルト設定をオーバーライドして資格証明のパブリッシュを回避できます。さらに、X509をパブリッシュする場合は、hostname検証機能を無視するかどうかも指定できます。
詳細は、「サービス・アイデンティティ証明拡張の使用」を参照してください。
リプレイ攻撃から保護するために、ポリシーwss_username_token_client_policy
およびwss_username_token_service_policy
には、ユーザー名トークンにNonceを必要とするオプションがあります。Nonceは、SOAPリクエストで1回のみ使用できる一意の番号で、リプレイ攻撃を防止するために使用されます。
Nonceは再使用を防ぐためにキャッシュされます。ただし、クラスタ環境では、このキャッシュを管理対象サーバー間で同期化する手順が必要になります。そうしないと、Webサービスに送信されて1つのサーバーで実行中のリクエストが、リプレイされて別の管理対象サーバーに送信され、そこで処理される可能性があります。Oracle WSMは、Javaオブジェクト・キャッシュ(JOC)のインスタンスを使用してNonceをキャッシュします。
PythonスクリプトORACLE_HOME/bin/configure-joc.pyを使用して、分散モードのすべての管理対象サーバーでJOCを構成します。このスクリプトは、WLSTオンライン・モードで実行され、管理サーバーが起動されて実行中であることが必要です。
注意: Javaオブジェクト・キャッシュの構成後、構成を反映するために影響を受けるすべての管理対象サーバーを再起動してください。 |
分散モードでJOCを有効にするには、次の手順を実行します。
コマンドラインのOracle WebLogic Scripting Tool(WLST)を使用して、管理サーバーに接続します。たとえば、次のようにします。
ORACLE_HOME/oracle_common/common/bin/wlst.sh $ connect()
プロンプトが表示されたら、Oracle WebLogic管理サーバーのユーザー名とパスワードを入力します。
WLSTを使用して管理サーバーに接続後、execfileコマンドを使用してスクリプトを開始します。たとえば、次のようにします。
wls:/mydomain/serverConfig>execfile('ORACLE_HOME/bin/configure-joc.py')
指定されたクラスタのすべての管理対象サーバーに対してJOCを構成します。
スクリプトにより、クラスタ名を指定するかどうかを尋ねるプロンプトが表示されたら「y」と入力し、さらにプロンプトが表示されたらクラスタ名と検出ポートを指定します。これにより、指定されたクラスタのすべての管理対象サーバーが検出され、各管理対象サーバーに対してJOCが構成されます。検出ポートは、クラスタ内のJOC構成全体で共通です。たとえば、次のようにします。
Do you want to specify a cluster name (y/n) <y> Enter Cluster Name : Spaces_Cluster Enter Discover Port : 9988
ここに、HA環境でのconfigure-joc.pyの使用例を1行ずつ順に記載します。
execfile('ORACLE_HOME/bin/configure-joc.py') . Enter Hostnames (eg host1,host2) : SOAHOST1, SOAHOST2 . Do you want to specify a cluster name (y/n) <y>y . Enter Cluster Name : Spaces_Cluster . Enter Discover Port : 9988 . Enter Distribute Mode (true|false) <true> : true . Do you want to exclude any server(s) from JOC configuration (y/n) <n> n
スクリプトを使用して、次のJOC構成を実行することもできます。
指定されたすべての管理対象サーバーに対してJOCを構成します。
スクリプトにより、クラスタ名を指定するかどうかを尋ねるプロンプトが表示されたら「y」と入力し、そしてプロンプトが表示されたらクラスタ名と検出ポートも指定します。たとえば、次のようにします。
Do you want to specify a cluster name (y/n) <y>n Enter Managed Server and Discover Port (eg WLS_Spaces1:9988, WLS_Spaces2:9988) : WLS_Spaces1:9988,WLS_Spaces2:9988
特定の管理対象サーバーのJOC構成を除外します。
スクリプトにより、JOC構成「DistributeMode」を「false」に設定する管理対象サーバーのリストを指定できます。スクリプトにより特定のサーバーをJOC構成から除外するかどうかを尋ねるプロンプトが表示されたら「y」と入力し、そしてプロンプトが表示されたら除外する管理対象サーバー名を入力します。たとえば、次のようにします。
Do you want to exclude any server(s) from JOC configuration (y/n) <n>y Exclude Managed Server List (eg Server1,Server2) : WLS_Spaces1,WLS_Spaces3
すべての管理対象サーバーに対して分散モードを無効にします。
スクリプトにより、指定されたクラスタのすべての管理対象サーバーに対して分散を無効化できます。スクリプトにより分散モードに対するプロンプトが表示されたら、「false」を指定します。デフォルトでは、分散モードは「true」に設定されます。
CacheWatcherユーティリティを使用してJOC構成を検証します。詳細は、『Oracle Fusion Middleware高可用性ガイド』のJavaオブジェクト・キャッシュの検証のためのCacheWatcherの実行に関する項を参照してください。
『Oracle Fusion Middleware高可用性ガイド』の「HAパワー・ツールの使用」で説明されているように、Oracle WebLogic管理コンソールで「HAパワー・ツール」タブを使用してJavaオブジェクト・キャッシュ(JOC)を構成できます。
csf-keyを使用するためにデフォルト・ユーザーOracleSystemUserを削除するには、次の手順を実行する必要があります。
次のプロパティと値を「ポリシー・アクセッサ」構成に追加します。詳細は、「プラットフォーム・ポリシー・プロパティの構成」を参照してください。
名前: jndi.lookup.csf.key
値: basic.credentials
jndi.lookup.csf.keyプロパティが資格証明ストアで定義されていることを確認します。たとえば、basic.credentialが資格証明ストアに存在する必要があります。詳細は、「資格証明ストア・プロバイダの構成」を参照してください。
サーバーを再起動します。
デフォルトでは、JMSシステム・ユーザーはOracleSystemUserとして設定されます。大多数のユーザーにとっては、このデフォルト値で十分です。ただし、この値をセキュリティ・レルム内のカスタム・ユーザーに変更する必要がある場合は、次の手順に従ってOracle Enterprise Manager Fusion Middleware ControlおよびWebLogic Server管理コンソールでユーザーの値を変更することにより、これを行うことができます。
JMSシステム・ユーザーを変更する手順
「非同期Webサービスの構成」で説明されているように、非同期Webサービスの「Webサービス・エンドポイント」ページで「構成」タブにアクセスします。
JMSシステム・ユーザーフィールドにカスタム・ユーザーの名前を入力し、「適用」をクリックします。図13-16を参照してください。
注意: カスタム・ユーザーは、セキュリティ・レルムに存在し、JMSリソースにアクセスするのに必要な権限を持つ必要があります。 |
WebLogic Server管理コンソールにアクセスします。Fusion Middleware Controlからアクセスするには、ナビゲータ・ペインでドメインを選択します。「WebLogicドメイン」メニューから、「WebLogic Server管理コンソール」を選択します。
必要な管理者権限を持つ有効なユーザー名とパスワードを使用して、WebLogic Server管理コンソールにログインします。
「ドメイン構造」ペインで「デプロイ」をクリックし、対応するMDB、service
_AsynchRequestProcessorMDB
またはservice
_AsynchResponseProcessorMDB
に移動します。これらのMDB名では、service
は、ユーザー名を変更する非同期サービスの名前です。
「チェンジ・センター」で、「ロックして編集」を選択します。
リクエストまたはレスポンスMDBのMDB名を選択します。(リクエストMDBとレスポンスMDBの両方のユーザー名を更新する必要があります。)「設定」ページで、「構成」タブを選択します。
ページの「エンタープライズBean構成」セクションで、プリンシパル名として実行フィールドにカスタム・ユーザー名を入力し、「保存」をクリックします。図13-17を参照してください。
このフィールドに入力するユーザー名は、Fusion Middleware ControlのJMSシステム・ユーザーに入力したユーザー名と一致している必要があることに注意してください。
構成の変更内容は、新しいデプロイ・プランに保存する必要があります。
「デプロイメント・プラン保存アシスタント」を使用して、新しいデプロイ・プランを保存します。
2番目のMDBに対して手順7と8を繰り返します。変更内容は新しいデプロイ・プランに自動的に保存されます。
「チェンジ・センター」で、「変更のアクティブ化」をクリックします。
アプリケーションを再デプロイします。詳細は、第5章 「Webサービス・アプリケーションのデプロイ」を参照してください。