この章では、ポリシー実行ポイントでセキュリティを実施するポリシーを作成して編集するプロセス、およびOracle WSM GatewayとOracle WSM Agentに登録されているWebサービスにこれらのポリシーを追加するプロセスについて説明します。この章では次の項について説明します。
Oracle WSMポリシーは、サービス・クライアントとサービス・プロバイダ間でWebサービス・リクエストを処理中に、指定したポリシー実行ポイントで実行される操作タスクのセットです。各操作タスクは、特定の操作に対応するポリシー・ステップとして実装されます。これらの操作には、認証と認可、暗号化と復号化、セキュリティの署名、トークン、資格証明の検証、およびWebサービス・リクエストまたはWebサービス・リクエストへのレスポンスに対して実行される変換などがあります。
Oracle WSMは、各操作ポリシーを、リクエスト・パイプラインおよびレスポンス・パイプラインに分類します。
注意: リクエスト前パイプラインおよびレスポンス後パイプラインは機能しません。Oracle WSMの今後のリリースでは提供されません。 |
管理者は、Oracle WSMに付属する、あらかじめパッケージ化されたポリシー・ステップのポリシーを組み合せたり、カスタム・ポリシー・ステップを作成したりすることができます。Oracle WSMポリシーの目的の実行ポイント(Oracle WSM GatewayまたはOracle WSM Agent)にこれらの作成したポリシーを割り当てることができます。Oracle WSM Policy Managerでは、複数のゲートウェイまたはエージェント間で、およびシステム全体にポリシーを一貫した方法で実行できます。各Webサービスまたはサービスのグループに必要な操作ポリシーを指定できます。
Oracle WSMには、パイプラインの作成に使用する、構成可能なポリシー・ステップの事前定義済のセットが付属しています。この項では、使用目的によって編成する、Oracle WSMの事前定義済ポリシー・ステップについて説明します。必要に応じて、サード・パーティの製品やテクノロジを統合するステップが含まれます。
事前定義済ポリシー・ステップは、次の一般カテゴリに分類されます。
資格証明の管理
認証
認可
整合性および機密保護
フェデレーション
ログ・メッセージ
カスタム・フォルト・メッセージ
XSLTを使用したメッセージ変換
各ポリシー・ステップの詳細は、付録A「Oracle Web Services Managerのポリシー・ステップ」を参照してください。
サポート対象のSOAPバージョン
Oracle Web Services Managerでは、SOAPバージョン1.1のみサポートしています。
様々なポリシー実行ポイントで使用可能なポリシー・ステップとそのプロパティを表示できます。
Web Services Manager Controlのナビゲーション・ペインから、「ポリシー管理」を選択して、「ポリシーの管理」を選択します。
登録されているOracle WSMゲートウェイおよびエージェントのリストが表示されます。
特定のゲートウェイまたはエージェントの行で、「ステップ」をクリックします。
Oracle WSMに、そのゲートウェイまたはエージェントのポリシー・ステップのリストと、そのステップの実行内容の簡単な説明が表示されます。
特定のポリシー・ステップのプロパティを表示するには、「詳細」をクリックします。
ステップのプロパティとして、名前、データ型およびデフォルト値が表示されます。プロパティの構成方法に関するヘルプについては、疑問符(?)をクリックします。
メッセージの資格証明(この場合はユーザー名とパスワードの組合せ)は、HTTPトランスポート・ヘッダー、SOAPヘッダーまたはXMLボディなどの様々な方法で配信されます。通常、Webサービス・セキュリティを実行するポリシーを構築するには、最初のステップとして資格証明の抽出ステップを含めます。HTTPトランスポート・ヘッダー、SOAPヘッダーまたはXMLなどの様々な方法で配信されるメッセージの資格証明を抽出するようにこのステップを構成します。Oracle WSMは、次のステップ(通常は認証)で使用するように、ユーザー名とパスワードの資格証明を抽出します。
注意: Oracle WSMと一緒にOracle Access Managerをデプロイする場合、Oracle WSMのリクエスト・パイプラインで資格証明の抽出ステップを使用しないでください。これは、ユーザーのログイン時に、Oracle Access ManagerがobSSOCookieによって管理対象Webサービスにユーザーの資格証明を送信するためです。したがって、Oracle WSMでこのアクションを重複できません。 |
表5-1のステップは、資格証明を探し、資格証明情報を抽出、追加または操作するために使用されます。その結果、資格証明情報は、認証の共通手段用の受入可能なフォームで提示されます。
表5-1 資格証明の管理ステップ
ステップ名 | 説明 |
---|---|
資格証明の抽出 |
HTTPトランスポート・レイヤー・ヘッダー、SOAPヘッダーまたはXpathから資格証明を抽出します。 |
Oracle Access Managerトークンの挿入 |
SOAPセキュリティ・ヘッダーにObSSOCookieを挿入します。 |
WSBASIC資格証明の挿入 |
WS-BASIC資格証明を挿入します。 |
各ポリシー・ステップの詳細は、付録A「Oracle Web Services Managerのポリシー・ステップ」を参照してください。
認証は、IDの証明を立証するために使用されます。通常はユーザー名とパスワードの組合せであるユーザーの資格証明は、アクセスを許可または拒否する前に、データベースやLDAPディレクトリに対して確認されます。Oracle WSMでは、Oracle WSMのネイティブ認証ストアのOracle Access Manager、またはサード・パーティのセキュリティ・データベース(CAまたはLDAPディレクトリなど)に対して資格証明情報を確認できます。認証は、x.509証明書のフォームでも提示および検証されます。
表5-2 認証ステップ
ステップ名 | 説明 |
---|---|
Active Directoryの認証 |
Active Directoryでクライアントの資格証明を認証します。 |
ファイルの認証 |
ファイル内のエントリと照らし合せて確認することにより、送信者のIDを検証します。 |
LDAPの認証 |
LDAPディレクトリで認証を実行します。 |
Oracle Access Managerの認証と認可 |
インストールしたOracle Access ManagerのIDシステムに対してリクエストを認証および認可します。(構成の詳細は、『Oracle Web Services Managerデプロイメント・ガイド』を参照してください。) |
SiteMinderの認証 |
CA eTrust SiteMinder認証システムで使用します。 |
証明書の検証 |
信頼できるルートおよび中間証明書を検証して、証明書パスが有効であるかどうかを検証します。 |
注意: LDAP証明書の認証ポリシー・ステップは、サポートされなくなりました。ただし、Oracle Access Managerの認証と認可ポリシー・ステップを使用するのと同様の機能が得られます。 |
各ポリシー・ステップの詳細は、付録A「Oracle Web Services Managerのポリシー・ステップ」を参照してください。
注意: SiteMinderの認証ステップを使用するには、CA eTrust SiteMinder SDK(software development kit)をインストールして、Oracle WSMゲートウェイまたはエージェントに必要なファイルを用意する必要があります。詳細は、『Oracle Web Services Managerデプロイメント・ガイド』を参照してください。 |
認可ステップでは、クライアントの主なIDが立証されると、そのクライアントにリソースへのアクセス権限が付与されることが保証されます。認可は、ロールの検証として説明することもできます。Oracle WSMステップは、LDAP、Oracle Access Manager、CA eTrust SiteMinderおよびファイルベースの認可などの様々な認可サービスによる認可をサポートしています。
表5-3 認可ステップ
ステップ名 | 説明 |
---|---|
Active Directoryの認可 |
Active Directoryからクライアントのロールを取得して、サービスが許可するロールに対して確認することで、リクエストを認可します。 |
ファイルの認可 |
ローカル・ロール・ファイルを使用して、認証されたクライアントに対してアクセスを許可または拒否します。 |
Oracle Access Managerの認証と認可 |
インストールしたOracle Access ManagerのIDシステムに対してリクエストを認証および認可します。(構成の詳細は、『Oracle Web Services Managerデプロイメント・ガイド』を参照してください。) |
LDAPの認可 |
LDAPストアからクライアントのロールを取得して、サービスが許可するロールに対して確認することで、リクエストを認可します。 |
SiteMinderの認可 |
CA eTrust SiteMinderを使用してクライアントを認可します。このステップは、SiteMinderの認証ステップの後に使用します。 |
各ポリシー・ステップの詳細は、付録A「Oracle Web Services Managerのポリシー・ステップ」を参照してください。
注意: SiteMinderの認可ステップを使用するには、CA eTrust SiteMinder SDKをインストールして、対応するOracle WSMゲートウェイまたはエージェントに必要なファイルを用意する必要があります。詳細は、『Oracle Web Services Managerデプロイメント・ガイド』を参照してください。 |
Oracle WSMでは、メッセージの暗号化によるメッセージの機密保護と、デジタル署名によるメッセージの整合性が実現します。Web Services Security(WS-Security)仕様には、セキュアなWebサービスの構築に使用できるSOAP拡張機能の標準セットがあります。Web Services Security仕様は、メッセージのボディ、ヘッダー、添付ファイル、またはこれらの要素の任意の組合せ(要素の数は問わない)に対して暗号化やデジタル署名を行うことで、メッセージのコンテンツを保護します。認証を検証するために、セキュリティ・トークンの作成や挿入も可能です。
次のコード・サンプルは、WS-Security 1.0標準に適合したSecurityヘッダーに含まれる、署名の典型的な構造を示しています。この例では、SOAPメッセージのBody要素に署名しています。特に重要な要素を太字で示しています。
<soap:Envelope ...> <soap:Header> <wsse:Security ...> <wsse:BinarySecurityToken wsu:Id="bst-id" ValueType="...#X509v3" ...>MIICtjCCAnQCBET... </wsse:BinarySecurityToken> <dsig:Signature ...> <dsig:SignedInfo> <dsig:CanonicalizationMethod ... /> <dsig:SignatureMethod ... /> <dsig:Reference URI="#body-id"> <dsig:Transforms> <dsig:Transform Algorithm="...xml-exc-c14n#" /> </dsig:Transforms> <dsig:DigestMethod Algorithm="...#sha1" /> <dsig:DigestValue>205Oyy...=</dsig:DigestValue> </dsig:Reference> </dsig:SignedInfo> <dsig:SignatureValue>Y8yo94k8Xp...</dsig:SignatureValue> <dsig:KeyInfo> <wsse:SecurityTokenReference ...> <wsse:Reference URI="#bst-id" /> </wsse:SecurityTokenReference> </dsig:KeyInfo> </dsig:Signature> </wsse:Security> </soap:Header> <soap:Body wsu:Id="body-id" ... > .... </soap:Body> </soap:Envelope>
次のコード・サンプルは、WS-Security 1.0標準に適合したSecurityヘッダーに含まれる、暗号化要素の典型的な構造例です。この例では、Body要素が暗号化されています。特に重要な要素を太字で示しています。
<soap:Envelope ...> <soap:Header> <wsse:Security ...> <wsse:BinarySecurityToken wsu:Id="bst-id" ValueType="...#X509v3" ...>MIICtjCCAnQCBET... </wsse:BinarySecurityToken> <xenc:EncryptedKey ...> <xenc:EncryptionMethod Algorithm="..." /> <dsig:KeyInfo ...> <wsse:SecurityTokenReference ... > <wsse:Reference URI="#bst-id" ValueType="...#X509v3" /> </wsse:SecurityTokenReference> </dsig:KeyInfo> <xenc:CipherData> <xenc:CipherValue>YV19Qkq79Tub...=</xenc:CipherValue> </xenc:CipherData> <xenc:ReferenceList> <xenc:DataReference URI="#body-id" /> </xenc:ReferenceList> </xenc:EncryptedKey> </wsse:Security> </soap:Header> <soap:Body> <xenc:EncryptedData Type="...#Content" Id="body-id" ... > <xenc:EncryptionMethod Algorithm="..." /> <xenc:CipherData> <xenc:CipherValue>0h3XxkxLKAROdbd...=</xenc:CipherValue> </xenc:CipherData> </xenc:EncryptedData> </soap:Body> </soap:Envelope>
Oracle WSMには、メッセージの整合性と機密保護のために表5-4に示すステップが用意されています。ステップは、アルファベット順ではなく、論理的な順序で示されています。
表5-4 整合性および機密保護のステップ
ステップ名 | 説明 |
---|---|
メッセージの署名 |
メッセージにデジタル署名を行います。 |
署名の検証 |
メッセージの整合性を保護するために署名されたXMLメッセージの署名を検証します。 |
XML暗号化 |
XMLメッセージを暗号化します。 |
XML復号化 |
機密保護のために暗号化されたXMLメッセージ全体またはその一部を復号化します。 |
メッセージの署名と暗号化 |
XMLメッセージに署名を付け、メッセージを暗号化します。 |
署名の復号化と検証 |
XMLメッセージを復号化し、署名が有効であるかどうかを検証します。 |
各ポリシー・ステップの詳細は、付録A「Oracle Web Services Managerのポリシー・ステップ」を参照してください。
1つのトランザクションを完了するために複数のWebサービスを使用する場合、そのトランザクション全体に元のリクエスト発信者のIDを伝播することが重要です。たとえば、ユーザーが発注目的で購買用アプリケーションを起動するとします(図5-1)。ユーザーが注文を入力すると、購買用アプリケーションはリクエストの形式をSOAPメッセージにして、プロバイダ(オフィス・サプライ・ベンダーなど)にそのSOAPメッセージを送信します。オフィス・サプライ・ベンダーがこの発注を正常に処理したら、購入したアイテムを元のリクエスト発信者に配送するよう、輸送会社にリクエストを送信します。この場合、セキュリティと監査/順守の目的で、元のリクエスト発信者のIDをトランザクション全体に伝播する必要があります。これを行うには、SAMLアサーション(認証の資格証明や、場合によっては認可に使用する属性を含む)のフォームで、ユーザーのかわりにセッション・チケットを作成します。
IDの伝播を伴う使用例を実装するために、Oracle WSMは、WS-Security SAML Security Token Profileの送信者保証シナリオをサポートします。送信者保証を使用すると、SOAPメッセージのプロデューサは、元のリクエスト発信者の会社の秘密鍵を使用して、SAMLアサーションやエンベロープ・ボディ(発注などを含む)に署名できます。つまり、その会社が元のリクエスト発信者を保証します。この場合、SOAPエンベロープ・ボディのビジネス・ペイロードは、前述の例で使用された発注になります。
図5-2は、標準ベースの方法による前述の使用例の実装方法を示しています。
セキュリティ・サービスは、(購買用Webサービス・サイトで)ユーザー・リクエストを認証します。
セキュリティ・サービスは、SAMLアサーションを生成し、SOAPメッセージの一部としてWS-SecurityヘッダーにSAMLアサーションを挿入します。
セキュリティ・サービスは、企業の秘密鍵を使用して、SAMLアサーションとメッセージ・ボディの両方に署名します。この場合の企業とは購買用Webサービスを公開しているサイトです。
購買用Webサービスはリクエストを処理し、配送用WebサービスにSOAPリクエストをポストします。
配送用Webサービスで、セキュリティ・サービスはリクエストを認証します。セキュリティ・サービスは、SAMLアサーションとメッセージ・ボディを保護する署名を確認し、SAMLアサーションが信頼できるパートナによって発行されているかどうかを検証し、そのユーザーがユーザー・ストア内に存在するかどうかを検証します。
購買用サイトおよび配送用サイトの両方、またはいずれかのサイトで、Oracle WSMが前述のセキュリティ・サービスになります。WS-Securityは業界標準であるため、Oracle WSMは、別のセキュリティ・サービスで消費されるSAMLアサーションの生成や署名を行い、別のセキュリティ・サービスで生成されるSAMLアサーションを消費できます。
Oracle WSMには、SAMLセキュリティ・システムでの使用を目的としたポリシー・ステップがあります。
表5-5 ID伝播のステップ
ステップ名 | 説明 |
---|---|
SAML: WSS 1.0送信者保証トークンの挿入 |
SAMLアサーションを挿入してSOAPメッセージを保護します。 |
SAML: WSS 1.0トークンの検証 |
Web Services Security SAML Token Profile 1.0(WSS STP 1.0)標準に従い、SAMLトークンを検証します。 |
各ポリシー・ステップの詳細は、付録A「Oracle Web Services Managerのポリシー・ステップ」を参照してください。
Oracle WSMには、Webサービス・メッセージングの一般的な処理機能(ロギング、メッセージの永続性、メッセージの重複およびXSLT変換など)のためのポリシー・ステップ・テンプレートも用意されています。
Oracle WSMには、ゲートウェイおよびエージェントのデフォルトのポリシー・パイプラインにデフォルトのロギング・ステップが含まれます。アプリケーション・サーバーにインストールされたゲートウェイまたはエージェントにWebサービスを登録すると、Oracle WSMはデフォルトのポリシー・パイプラインを作成します。
表5-6 非セキュリティ・ステップ
ステップ名 | 説明 |
---|---|
一般的な障害の処理 |
エラーが発生すると、SOAP障害でカスタム・メッセージを提供します。 |
ログ |
現在のメッセージを、ポリシー・ステップで受信したメッセージとして記録します。 |
XML変換 |
XSLTファイルを使用して、受信XMLを変更します。 |
各ポリシー・ステップの詳細は、付録A「Oracle Web Services Managerのポリシー・ステップ」を参照してください。
ゲートウェイでWebサービスのポリシーの実行を有効にするには、まず目的のゲートウェイにWebサービスを登録する必要があります。登録された各Webサービスには、各自のポリシーと関連するポリシー・ステップがあります。Webサービスを登録すると、Oracle WSMはそのWebサービスのデフォルト・ポリシーを設定します。Webサービスごとに、デフォルト・ポリシーの編集、サービスの新規ポリシーの作成、またはポリシー・パイプライン・テンプレートの作成を行えます。ポリシー・ステップを編集するには、ユーザーは少なくともOracle WSMのサービス管理の権限を持つ必要があります。
Web Services Manager Controlのナビゲーション・ペインから、「ポリシー管理」を選択して、「ポリシーの管理」を選択します。
登録されているOracle WSMゲートウェイおよびエージェントのリストが表示されます。
特定のゲートウェイの行で、「ポリシー」をクリックします。
Oracle WSMには、そのゲートウェイに現在登録されているポリシーのリストが表示されます。デフォルトでは、Oracle WSMは、登録されているサービスと同じ名前およびバージョン番号のポリシーを作成します。図5-3では、デフォルト・ポリシーの名前はTimeService(1.0)です。これはゲートウェイに登録されているサービスの名前およびバージョンと同じです。
更新するポリシーの行で、「編集」をクリックします。
Web Services Manager Controlに、選択したポリシーの定義、つまりリクエスト・ポリシー・パイプラインおよびレスポンス・ポリシー・パイプラインのステップが表示されます(図5-4)。ポリシー・パイプラインを表示するにはページをスクロール・ダウンします。
ポリシー・ステップを追加するパイプラインで、「以下にステップを追加」をクリックします。
ページが更新され、「新規ステップ」ボックスが表示されます。
「ステップ・テンプレートの選択」リストからステップを選択します。
選択したポリシー・ステップがパイプラインに追加されます。
このステップのプロパティを構成するには、「構成」をクリックします。
注意: プロパティの構成方法に関するヘルプについては、ポリシー・ステップの名前の横にある疑問符(?)をクリックします。「環境プロパティ」をクリックすると、${propertyName}の形式で示されるプロパティのリストと、そのプロパティの説明が表示されます。テキスト・フィールドでプロパティを設定する際に、このリストからアイテムを使用できます。たとえば、XML暗号化ポリシーの場合、keystore locationフィールドでキーストア環境プロパティ${acme.keystore}を指定できます。 |
プロパティの編集を終えたら、「OK」をクリックします。
続けてポリシー・ステップを追加および構成します。
完了したら、「次へ」をクリックします。
ポリシーのデフォルト名で確定するか、または別の名前を入力して、「保存」をクリックします。
「ポリシーのコミット」フィールドが赤で表示され、変更をコミットするよう通知されます(図5-5)。関連するゲートウェイのポリシーを更新するには、「コミット」をクリックします。
「ポリシーはコミットされています」というメッセージが表示されます。
注意: ファイルにポリシーを保存するには、「保存」をクリックします。このファイルを開いて、ポリシーのXML表現を確認できます。あるいは、ポリシー実行ポイント(PEP)がOracle WSM Policy Managerに接続する接続モードでの実行ではなく、切断モードで実行して、ポリシーに関するこのファイルを参照するようにエージェントまたはゲートウェイを構成できます。 |
各Oracle WSMエージェントには、各自のポリシーと関連するポリシー・ステップがあります。Oracle WSMは、エージェントを最初に登録するときにデフォルト・ポリシーを割り当てます。デフォルトでは、Oracle Application Serverがホストするすべてのサービスにこのポリシーが適用されます。ほとんどの場合、Oracle Application Serverは1つのWebサービスをホストします。1つのポリシーをすべてのWebサービスで使用するには、デフォルト・ポリシーを編集します。
アプリケーション・サーバーが複数のWebサービスをホストする状況はあまり一般的ではありません。Webサービスごとに異なるポリシーを適用できます。この場合、必要な数のポリシーを作成して、適切なWebサービスにポリシーをマップします。詳細は、「エージェントのWebサービスURLへのポリシーの割当て」を参照してください。
この項では、Oracle WSMエージェントのポリシーを定義する方法について説明します。
Oracle WSMエージェントのポリシーを定義するには
Web Services Manager Controlの左側のナビゲーション・ペインから、「ポリシー管理」を選択して、「ポリシーの管理」を選択します。
登録されているゲートウェイおよびエージェントのリストが表示されます。
特定のエージェントの行で、「ポリシー」をクリックします。
Oracle WSMに、選択したエージェントのポリシーが表示されます。エージェントに作成されたポリシーがない場合、デフォルト・ポリシーのみがリストに表示されます(図5-6)。
「編集」アイコンをクリックしてデフォルト・ポリシーを編集するか、「新規ポリシーの追加」をクリックして新しいポリシーを作成できます。
ポリシー・ステップを追加するパイプラインで、「以下にステップを追加」をクリックします。
ページが更新され、「新規ステップ」ボックスが表示されます(図5-7)。
「ステップ・テンプレートの選択」リストからポリシー・ステップを選択して、「OK」をクリックします。
選択したポリシー・ステップがパイプラインに追加されます。
このステップのプロパティを構成するには、「構成」をクリックします。
注意: プロパティの構成方法に関するヘルプについては、ポリシー・ステップの名前の横にある疑問符(?)をクリックします。「環境プロパティ」をクリックすると、${propertyName}の形式で示されるプロパティのリストと、そのプロパティの説明が表示されます。テキスト・フィールドでプロパティを設定する際に、このリストからアイテムを使用できます。たとえば、XML暗号化ポリシーの場合、keystore locationフィールドでキーストア環境プロパティ${acme.keystore}を指定できます。 |
プロパティの編集を終えたら、「OK」をクリックします。
続けてポリシー・ステップを追加および構成します。
完了したら、「次へ」をクリックします。
ポリシーの名前を入力して、「保存」をクリックします。
「ポリシーのコミット」フィールドが赤で表示され、変更をコミットするよう通知されます(図5-8)。関連するエージェントのポリシーを更新するには、「コミット」をクリックします。
「ポリシーはコミットされています」というメッセージが表示されます。
注意: ファイルにポリシーを保存するには、「保存」をクリックします。このファイルを開いて、ポリシーのXML表現を確認できます。あるいは、ポリシー実行ポイント(PEP)がOracle WSM Policy Managerに接続する接続モードでの実行ではなく、切断モードで実行して、ポリシーに関するこのファイルを参照するようにエージェントまたはゲートウェイを構成できます。 |
デフォルトでは、デフォルト・ポリシーは、Oracle Application Serverがホストするすべてのサービスに適用されます。複数のサービスが存在し、Webサービスごとに異なるポリシーを割り当てるとします。この場合、適切なWebサービスにポリシーを割り当てます。
Web Services Manager Controlのナビゲーション・ペインから、「ポリシー管理」を選択して、「ポリシーの管理」を選択します。
登録されているゲートウェイおよびエージェントのリストが表示されます。
特定のエージェントの行で、「ポリシー」をクリックします。
Oracle WSMに、エージェントのポリシー・セットが表示されます。
「マッピングの編集」をクリックします。
「強制ポイント」ページが表示されます(図5-9)。
このポリシーを適用するWebサービスのURLを入力して、「保存」をクリックします。
Oracle WSMには、マッピングが正常に更新されたことを確認する確認メッセージが表示されます。
デフォルト・ポリシーのリクエスト・パイプラインおよびレスポンス・パイプラインには、ポリシー実行ポイント(PEP)がデータベースまたはコンポーネントに固有のローカル・ファイルにSOAPメッセージを記録するログ・ステップが含まれます。デフォルト・ポリシーを置き換える新しいポリシーを作成する場合、SOAPメッセージを記録できるように各パイプラインでログ・ステップを構成する必要があります。
次のいずれかまたは両方を使用して、各ポリシーのロギングを構成できます。
リクエスト・パイプラインのログ・ステップ: サービス・リクエストからの情報を記録します。
レスポンス・パイプラインのログ・ステップ: サービス・レスポンスからの情報を記録します。
ログ・ステップでロギング・レベルを構成できます。次のログ・レベルの中から選択できます。
ヘッダー: SOAPヘッダーのみを記録します。
ボディ: メッセージのコンテンツ(ボディ)のみを記録します。
エンベロープ: ヘッダーおよびボディを含むSOAPエンベロープ全体を記録します。添付ファイルは記録しません。
すべて: メッセージ全体を記録します。SOAPヘッダー、ボディおよびすべての添付ファイル(SOAPメッセージの外部に存在するURLの場合もある)が含まれます。
SOAPメッセージは、デフォルトのOracle WSMデータベース、またはSOAPメッセージ専用のデータベースに送信できます。
SOAPメッセージをファイルに送信するには、ポリシー実行ポイントのcfluent.messagelog.file.logDirectoryプロパティを使用して、ログ・ファイルの場所を指定する必要があります。ファイルの絶対パスの場所を指定します。ログ・ファイルの形式はMultipurpose Internet Mail Extensions(MIME)です。ポリシー実行ポイントのcfluent.messagelog.file.maxFileSizeプロパティを編集し、ログ・ファイルが指定したサイズに達するとファイルのローテーションが自動的に行われるように指定できます。これらのプロパティの編集の詳細は、「ポリシー実行ポイントの変更」を参照してください。
注意: 以前記録されたSOAPメッセージをローカル・ファイルからデータベースに転送するには、RDBMSアプリケーションで提供されるデータ・インポート・ツールを使用します。 |
通常、ログ・ファイルがトポロジ的に強制コンポーネントに近い場所に配置される場合、システム・パフォーマンスが向上します。そのため、オラクル社では高度な分散環境での複数の分散ログをお薦めします。
ログ・ファイルはlogsディレクトリに格納されます。各ログ・ファイル名には、ログが最大サイズに達した時間とファイルに書き込まれたログ・メッセージが含まれます。cfluent.messagelog.file.logDirectoryプロパティを使用して、ログ・ファイルの場所を設定します。このプロパティの編集の詳細は、「ポリシー実行ポイントの変更」を参照してください。
パイプライン・テンプレートは再利用可能なポリシー・パイプラインです。特定のポリシー実行ポイントの特定のセクション用のパイプライン・テンプレートを作成できます。たとえば、サーバー・エージェントのリクエスト・パイプライン用のパイプライン・テンプレートを作成できます。
パイプライン・テンプレートを使用すると、企業全体でデプロイしたWebサービスに、一貫したポリシーの実行を適用できます。
この項では、パイプライン・テンプレートの作成方法について説明します。
パイプライン・テンプレートを作成するには
Web Services Manager Controlのナビゲーション・ペインから、「ポリシー管理」を選択して、「パイプライン・テンプレート」を選択します。
デフォルトの選択項目(ゲートウェイ・コンポーネントおよびリクエスト前パイプライン)のパイプライン・テンプレートのリストが表示されます。
新しいパイプライン・テンプレートを追加するには、「新規パイプライン・テンプレートの追加」をクリックします。
「コンポーネント・タイプ」リストから、パイプライン・テンプレートを作成するコンポーネントのタイプを選択します。
「パイプライン・タイプ」リストから、テンプレートを作成するパイプラインを選択します。
「パイプライン・テンプレート名」フィールドにテンプレートの名前を指定します。
「次へ」をクリックします。
Web Services Manager Controlに、新しいポリシー・テンプレートのポリシー・ステップを指定する別のページが表示されます。
「以下にステップを追加」をクリックします。
「ステップ・テンプレートの選択」リストからポリシー・ステップを選択して、「OK」をクリックします。
ポリシーのプロパティを構成します。
続けてポリシー・ステップを追加および構成します。
パイプライン・テンプレートの変更を完了したら、「保存」をクリックして、「OK」をクリックします。
事前に作成したパイプライン・テンプレートで、パイプライン・テンプレート・セクションを代用できます。
ポリシーでパイプライン・テンプレートを使用するには
Web Services Manager Controlのナビゲーション・ペインから、「ポリシー管理」を選択して、「ポリシーの管理」を選択します。
ポリシーを編集するゲートウェイまたはエージェントの「ポリシー」をクリックします。
編集するポリシーの「編集」をクリックします。
「パイプラインの置換」をクリックします。
「新規パイプライン・テンプレート」リストから、使用するテンプレートを選択して、「置換」をクリックします。
パイプライン・テンプレートのステップがポリシーに追加されます。
注意: パイプラインにポリシー・ステップが含まれる場合、これらのポリシー・ステップは削除され、選択したテンプレートのポリシー・ステップで置き換えられます。 |
パイプラインの他のステップを追加、削除および構成します。
ポリシーの編集を完了したら、「保存」をクリックします。
ポリシーの名前を入力して、「保存」をクリックし、「コミット」をクリックします。
ポリシーを変更して変更内容をコミットするたびに、新しいバージョンのポリシーが作成されます。実行されるのは最新バージョンのポリシーです。このポリシーは動作バージョンと呼ばれます。必要であれば、以前のバージョンのポリシーに戻って、そのポリシーを動作バージョンにリストアすることができます。
以前のポリシーをリストアするには
Web Services Manager Controlのナビゲーション・ペインから、「ポリシー管理」を選択して、「ポリシーの管理」を選択します。
「コンポーネントのリスト」で、ポリシーをリストアするコンポーネントの「ポリシー」をクリックします。
「バージョンの表示」フィールドで「バージョン」をクリックして、コンポーネントのポリシー・バージョン履歴を表示します。
「コンポーネントのポリシー・バージョンのリスト: component_ID」に、ポリシーのバージョンが降順に表示されます。動作バージョンのポリシーは、強制バージョンと表示されているものと同じです。
「表示」アイコンをクリックしてから「詳細の表示」アイコンをクリックして、ポリシー定義を表示します。
「コンポーネントのポリシー・バージョンのリスト: component_ID」ページで、動作ポリシーとしてリストアするバージョンの「リストア」をクリックします。
メッセージが表示され、変更を確認するように求められます。「OK」をクリックします。
「OK」をクリックします。
注意: コンポーネントのWebサービスを追加または削除した場合、またはURLマッピングを新しいポリシー・バージョンに変更した場合は、以前の構成のポリシーが適用されなくなるため、ポリシーを自動的にリストアできません。ポリシーをリストアするには、ポリシーに現在のURLを再度割り当てるか、ポリシーを新しいポリシー・バージョンとして入力する必要があります。 |
「ポリシーのコミット」フィールドで「コミット」をクリックして、変更内容をコミットします。
「ポリシーのコミット」フィールドに、「ポリシーはコミットされています」というメッセージが表示されます。
「バージョンの表示」フィールドの「バージョン」をクリックして、ポリシー・バージョン履歴に戻ります。強制ポリシーのバージョン番号が1つ増分されています。
変更内容をポリシーにコミットするたびに新しいバージョンのポリシーが作成されます。時間の経過に伴って不要になったポリシー・バージョンをまとめることができます。つまり、不要なポリシーをパージ、すなわち永久に削除することができます。
Web Services Manager Controlまたはwsmadmin purgePolicies
コマンドを使用して、ポリシーをパージできます。
Web Services Manager Controlを使用して不要なポリシー・バージョンをパージするには
Web Services Manager Controlのナビゲーション・ペインから、「ポリシー管理」を選択して、「ポリシーの管理」を選択します。
「コンポーネントのリスト」で、ポリシー・バージョンをパージするコンポーネントの「ポリシー」をクリックします。
「バージョンの表示」フィールドで「バージョン」をクリックして、コンポーネントのポリシー・バージョン履歴を表示します。
「ポリシー・セット・バージョンのパージ」をクリックします。
「次のバージョンより以前のすべてのポリシー・セット・バージョンをパージ」ボックスに、ポリシー・バージョンを入力します。
注意: 入力したバージョンよりも前のすべてバージョンのポリシー・セットがパージされます。たとえば、25を入力すると、バージョン24以下で存在しているすべてのバージョンがパージされます。 |
「パージ」をクリックします。
メッセージが表示され、パージを確認するように求められます。「OK」をクリックします。
パージが成功したことを確認するメッセージが表示されます。