この章では、Service Busアプリケーションのビジネス・サービスとプロキシ・サービスにポリシーをアタッチする方法を説明します。ポリシーはメッセージの配信にセキュリティを適用します。
この章の内容は次のとおりです。
Oracle Fusion Middlewareは、ポリシー・ベースのモデルを使用して、組織全体のWebサービスを管理および保護します。ポリシーは、メッセージの配信にセキュリティを適用し、設計時環境の開発者と実行時環境のシステム管理者の両方によって管理できます。
ポリシーは、1つ以上のアサーションで構成されています。1つのポリシー・アサーションが、特定のアクションを実行するポリシーの最小単位となります。ポリシー・アサーションはリクエスト・メッセージとレスポンス・メッセージで実行され、どちらのタイプのメッセージでも同じアサーション・セットが実行されます。アサーションは、それらがポリシーに表示される順序で実行されます。
表49-1は、サポートされるポリシー・カテゴリを説明しています。
表49-1 サポートされるポリシー・カテゴリ
カテゴリ | 説明 |
---|---|
メッセージ送信最適化メカニズム(MTOM) |
添付ファイルがMTOM形式であることを保証します。この形式を使用することで、バイナリ・データをWebサービスとの間で送受信できます。これによりワイヤ上の伝送サイズが削減されます。 |
セキュリティ |
WS-Security 1.0および1.1標準を実装します。ユーザーの認証と認可、アイデンティティ伝播およびメッセージ保護(メッセージ整合性とメッセージの機密性)を適用します。 |
管理 |
リクエスト、レスポンスおよびフォルト・メッセージをメッセージ・ログに記録します。管理ポリシーにもカスタム・ポリシーを含めることができます。 |
個人の身元を特定する情報(PII) |
個人情報を保護するため特定のフィールドを暗号化および復号化します。 |
注意:
JDeveloperには、「信頼性」および「アドレス指定」という2つのポリシー・カテゴリが追加で表示されます。Service Busでは、現在これらのポリシーはサポートされていません。Oracle Service Busコンソールでは、PIIポリシーとMTOMポリシーは、「セキュリティ」カテゴリに分類されます。
カテゴリ・タイプごとに、1つ以上のアタッチ可能なポリシー・タイプがあります。ポリシーのリストに目を向けると、情報アイコンをクリックして各ポリシーの説明を確認できます。
Oracle Web Services Manager (OWSM)ポリシーを使用して、プロキシ・サービスとビジネス・サービスへのアクセスを保護できます。また、プロキシ・サービス構成でトランスポート・レベルおよびメッセージ・レベルのセキュリティを定義したり、ビジネス・サービス構成でトランスポート・レベルのセキュリティを定義したりすることもできます。OWSMポリシーの詳細は、「Oracle Web Services Managerを使用したOracle Service Busのセキュリティ」を参照してください。
サービス・プロバイダが必要となるのは、プロキシ・サービスがクライアント証明書認証を必要とするHTTPSサービスにメッセージをルーティングする場合です。また、一部のメッセージ・レベルのセキュリティ・シナリオで必要となる場合もあります。サービス・アカウントは、ビジネス・サービスに接続するときに認証を提供するために作成できます。これは要求されるユーザー名とパスワードのペアの別名リソースとして機能します。WebLogic Serverを使用して、資格レベルの検証を要求するビジネス・サービスのセキュリティ資格を直接管理できます。
OWSMポリシーを、WSDL Webサービス、メッセージング・サービス、任意のSOAPサービスまたは任意のXMLサービスのサービス・タイプのプロキシ・サービスまたはビジネス・サービスにアタッチできます。OWSMポリシーを、SOAP以外のWSDL Webサービス、メッセージング・サービスまたは任意のXMLサービスのプロキシ・サービスで使用するには、プロトコルをHTTPにする必要があります。WSDLベースのサービスの場合、OWSMポリシーは参照によってバインドされ、有効なWSDLファイル内にインライン化されません。OWSMポリシーでは、WS-Security 1.1、SAML 2.0およびKerberosToken Profileなどの各種業界標準をサポートしています。
以前のバージョンでは、Service Busは、WSDLファイルおよびWebLogic Serverで事前定義されたポリシーからのセキュリティ・ポリシーを受け入れていました。これらのポリシーは、12cではOWSMポリシーで置き換えられます。WSDL定義のポリシーまたはWLSポリシーを使用する以前のバージョンのプロジェクトをインポートする場合、ポリシーは読取り専用として表示されるため、変更できません。情報は、プロキシ・サービスまたはビジネス・サービスの構成に表示されるため、サービスをOWSMポリシーに更新できます。
特定のOWSMポリシーを使用すると、ランタイム・プロパティのオーバーライド値を構成できます。OWSMポリシーを含むプロキシ・サービスをOracle Service Busコンソールで構成する場合、オーバーライドをサポートするポリシー・オーバーライド・オプションが、アタッチされるポリシーの下に表示されます。JDeveloperでは、「編集」アイコンによってダイアログが表示され、このダイアログでオーバーライドを構成できます。詳細は、「Oracle Web Services Managerを使用したOracle Service Busのセキュリティ」を参照してください。
Service Busには、ビジネス・サービスとプロキシ・サービスのセキュリティ機能(サービスにアクセスするためのカスタム認証、トランスポート・レベルのセキュリティの指定)、およびプロキシ・サービスのみのセキュリティ機能(メッセージ・レベルのセキュリティ)が追加で用意されています。セキュリティ・ページとポリシー・ページで提供されているオンライン・ヘルプで、特定の設定に関する追加情報を確認できます。これらのオプションの詳細は、次の章を参照してください。
JDeveloperまたはOracle Service BusコンソールでOWSMポリシーをサービスに適用する場合、ポリシーをそのサービスに直接割り当てます。また、Fusion Middleware Controlでグローバル・ポリシー・セットを使用すると、Service Busプロジェクトの複数のJCA、RESTおよびSOAPサービスにポリシーを割り当てることができます。詳細は、『Oracle Service Busの管理』のグローバル・ポリシーに関する項を参照してください。グローバル・ポリシー・アタッチメントおよびポリシー・セットの詳細は、Oracle Web Services Managerの理解のポリシー・セットを使用したグローバル・ポリシー・アタッチメントに関する項を参照してください。
ビジネス・サービスのWS-Policyで認証を指定する場合、アウトバウンド・リクエストを行う際に、サービス・アカウントを選択して資格証明を指定できます。このビジネス・サービスにルーティングされるプロキシ・サービスは、このサービス・アカウントを使用してビジネス・サービスへの認証を行います。サービス・アカウントの資格証明は、次のOWSMポリシーの場合にサポートされます。
oracle/**_username_token_**_client_policy
oracle/wss11_saml_token_identity_switch_with_message_protection_client_policy
oracle/**_saml*_**_client_policy
(subject.precedence
プロパティをfalseに設定する場合のみ)
サービス・アカウントの資格証明は、次のOWSMポリシー・アサーションの場合も使用できます。
oracle/**_username_token_**_client_template
oracle/**_saml*_**_client_template
(subject.precedence
プロパティをfalseに設定する場合のみ)
注意:
サービス・アカウントとcsf-key
のオーバーライドがどちらもビジネス・サービスに指定される場合、csf-key資格証明が優先されます。
Oracle Service Busコンソールを使用して、アクティブなプロキシ・サービスへの変更が含まれるセッションをアクティブ化する場合、Service Busは変更を検証して、プロキシ・サービスの静的なエンドポイントに必要なすべての資格証明が作成されているかどうかを確認します。セッションにサービス・キー・プロバイダのキー・ペア・バインディングへの変更が含まれている場合は、そのサービス・キー・プロバイダを使用するすべてのプロキシ・サービスに対して変更が検証されます。たとえば、暗号化用のキー・ペアを削除すると、暗号化が必要なエンドポイントを含むサービス・キー・プロバイダを参照しているプロキシ・サービスに対して、検証エラーが報告されます。
次の条件により、セキュリティ関連の検証が実行されるタイミングと、検証中に行われるアクションが決定されます。
プロキシ・サービスが静的なルートと処理を指定している場合は、静的なルートおよび処理に必要な資格証明が決定されます。必要な資格証明がプロキシ・サービスに含まれていない場合は、その資格証明が追加されるまで、セッションはコミットされません。
プロキシ・サービスが静的なルートを指定しており、処理がインバウンド・リクエストからパススルーされる場合は、静的なルートおよび各ルートの処理に必要な資格証明が決定されます。必要な資格証明がプロキシ・サービスに含まれていない場合は、検証の警告が表示されますが、セッションをコミットすることはできます。
プロキシ・サービスが動的なルートと処理を指定する場合は、Service Busではセキュリティ要件を検証できないため、実行時エラーが発生するおそれがあります。動的ルーティングについては、「動的ルーティングの使用」を参照してください。
JDeveloperでは、設計時の環境でセキュリティをテストするためにポリシーをアタッチできます。アプリケーションを本番環境にデプロイする準備が整ったら、Oracle Enterprise Manager Fusion Middleware Controlでランタイム・ポリシーをアタッチまたはデタッチできます。ポリシーの実行時管理の詳細は、『Oracle Service Busの管理』のセキュリティ・ポリシーのモニタリングと管理に関する項を参照してください。
OWSMポリシーは、特定の構成のビジネス・サービスおよびプロキシ・サービスにのみアタッチできます。サービス・タイプおよびプロトコルによって、一部のポリシー・オプションが使用できない場合があります。サポートされる構成の詳細は、「Service Busのセキュリティ・ポリシー」を参照してください。サービス・アカウントがいつ使用されるかの詳細は、「ビジネス・サービスのサービス・アカウント」を参照してください。
以前のバージョンのService Busで作成されたサービスについては、WS-Policyの添付ファイルを含むWSDLファイルからサービスを作成すると、そのポリシーは、サービスの「ポリシー」ページに読取り専用で表示されます。
次のイメージは、JDeveloperでのビジネス・サービスの「ポリシー」ページを示しています。このイメージはすべてのカテゴリを示していますが、表示される実際のカテゴリは、サービス・タイプおよびサービスのプロトコルによって異なります。
JDeveloperでプロキシ・サービスまたはビジネス・サービスにポリシーをアタッチする場合、これらのポリシーは、WebLogic Serverにデプロイされるまで検証されません。OWSMの詳細は、「Oracle Web Services Managerを使用したOracle Service Busのセキュリティ」を参照してください。
注意:
サービスが以前のバージョンからアップグレードされ、WLS 9ポリシーが含まれる場合、それらのポリシーは表示できますが、編集できません。これらのポリシーは非推奨です。この項のステップを使用して、アップグレードされたサービス内のポリシーをOWSMポリシーに更新できます。
JDeveloperでのOracle Web Services Managerポリシーをアタッチするには:
アプリケーション・ナビゲータで、編集するビジネスまたはプロキシ・サービスを検索し、サービスのファイルをダブルクリックします。
ビジネスまたはプロキシ・サービス定義エディタが表示されます。
「ポリシー」タブをクリックします。
「ポリシー」ページで、使用可能なポリシー・バインディング・モデルのリストから「OWSMポリシー・ストアから」を選択します。
使用可能なカテゴリが表示されます。これらは、プロキシ・サービスまたはビジネス・サービスのサービス・タイプによって異なります。
追加するポリシーのカテゴリで、*ポリシーの追加をクリックします。
選択可能なポリシーのリストを示すダイアログが表示されます。セキュリティ・ポリシーのダイアログを次に示します。
注意:
選択したカテゴリで使用可能なポリシーが1つのみの場合、*ポリシーの選択ダイアログは表示されず、かわりに使用可能なポリシーがポリシーの選択表に直接移入されます。
*ポリシーの選択ダイアログが表示された場合は、次の手順を実行します。
特定のポリシーに関する情報を表示するには、ポリシー名の右の情報アイコンをクリックします。
アタッチするポリシーを選択します。
複数のポリシーを選択するには、[Ctrl]キーと[Shift]キーを使用します。
「OK」をクリックします。
ポリシーは、定義エディタで関連するカテゴリに追加されます。
ポリシーを一時的に無効にするには、ポリシーを選択し、ポリシーを含む表の上の選択したポリシーの無効化をクリックします。すべてのポリシーを一時的に無効にするには、すべてのポリシーの無効化をクリックします。
ポリシーを再度有効にするには、ポリシーを選択し、ポリシーを含む表の上の選択したポリシーの有効化をクリックします。すべてのポリシーを再度有効にするには、すべてのポリシーの有効化をクリックします。
誤って追加されたポリシーを削除するには、そのポリシーを選択し、カテゴリの選択したポリシーの削除をクリックします。アタッチされたすべてのポリシーを削除するには、「すべてのポリシーの削除」をクリックします。
ポリシーの説明と追加情報を表示するには、そのポリシーの横の「詳細の表示」をクリックします。
ポリシーをビジネス・サービスにアタッチしている場合は、オプションで「サービス・アカウント」フィールドを参照し、そこからサービス・アカウントを選択できます。
ポリシーの構成が終了したら、「保存」をクリックします。
お使いの環境に同じポリシーを使用するサービスが含まれていることがあります。ただし、サービスごとに、オーバーライド・プロパティを使用して指定できる、固有のポリシー要件が存在する場合があります。すべてのポリシーがオーバーライド値を許容するわけではありません。
JDeveloperでポリシーのオーバーライド値を定義するには:
カスタム認証を使用すると、カスタムのユーザー名とパスワードの組合せまたはカスタム・トークンを指定できます。カスタム・ユーザー名とパスワードまたはトークンをXPath形式で指定する必要が生じる場合があります。どちらの場合も形式は、Service Busで必要な情報を検索できるようにXPath式を指定するという点で似ています。これらのXPath式のルートは次のとおりです。
サービスのバインドがAnySOAPまたはWSDL-SOAPの場合は、soap-env:Envelope/soap-env:Header
を使用します。
サービスのバインドがSOAPベースでない場合はsoap-env:Body
を使用します。
すべてのXPath式は有効なXPath形式である必要があります。使用するネームスペースをXPath式で宣言するには、次のようなXPathの"declare namespace"構文を使用します。
declare namespace ns='http://webservices.mycompany.com/MyExampleService';)
注意:
次に説明するすべてのフィールドとタスクが、すべてのサービス・タイプで使用可能であるとはかぎりません。構成は、サービス・タイプとサービスのポリシー構成によって異なります。
また、プロキシ・サービスとビジネス・サービスのカスタム認証をトランスポート・レベルで構成することもできます。詳細は、「カスタム認証によるトランスポート・レベルのセキュリティの構成」を参照してください。
サービス・キー・プロバイダには、プロキシ・サービスがインバウンドSOAPメッセージの復号化、アウトバウンド認証、およびデジタル署名で使用する、公開鍵インフラストラクチャ(PKI)の資格証明情報が含まれます。この手順を実行する前に、プロキシ・サービスで使用されるサービス・キー・プロバイダのリソースを作成しておく必要があります。詳細は、「サービス・キー・プロバイダの操作」を参照してください。
JDeveloperでプロキシ・サービスのサービス・キー・プロバイダを指定するには:
プロキシ・サービスがセキュリティ・ヘッダーを処理せずにそのヘッダーをパススルーする場合、それは受動型中間と呼ばれます。Webサービス・セキュリティのパススルーの詳細は、「Webサービス・セキュリティのパススルーとは何ですか。」を参照してください。
JDeveloperでWebサービスのポリシー施行を指定するには:
OWSMポリシーは、特定の構成のビジネス・サービスおよびプロキシ・サービスにのみアタッチできます。サービス・タイプおよびプロトコルによって、一部のポリシー・オプションが使用できない場合があります。サポートされる構成の詳細は、「Service Busのセキュリティ・ポリシー」を参照してください。
以前のバージョンのService Busで作成されたサービスについては、WS-Policyの添付ファイルを含むWSDLファイルからサービスを作成すると、そのポリシーは、サービスの「ポリシー」ページに読取り専用で表示されます。
次のイメージは、Oracle Service Busコンソールでのビジネス・サービスの「ポリシー」ページを示しています。このイメージはすべてのカテゴリを示していますが、表示される実際のカテゴリは、サービス・タイプおよびサービスのプロトコルによって異なります。
図49-4 Oracle Service Busコンソールでのプロキシ・サービスの「ポリシー構成」ページ
OWSMの詳細は、「Oracle Web Services Managerを使用したOracle Service Busのセキュリティ」を参照してください。
コンソールでOracle Web Services Managerポリシーをアタッチするには:
セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。
プロジェクト・ナビゲータで、ビジネス・サービスまたはプロキシ・サービスを検索し、サービス名をクリックします。
ビジネスまたはプロキシ・サービス定義エディタが表示されます。
「ポリシー」タブをクリックします。
「ポリシー」ページで、使用可能なポリシー・バインディング・モデルのリストから「OWSMポリシー・ストアから」を選択します。
「サービス・レベル・ポリシー」表で「ポリシーのアタッチ」をクリックします。
次に示すように、「セキュリティ・ポリシー」ダイアログが表示されます。
図49-5 Oracle Service Busコンソールの「セキュリティ・ポリシー」ダイアログ
次の手順を実行して、アタッチするポリシーを検索します。
タイプを選択して、検索するカテゴリまたはポリシーのいずれかの名前を入力します。
「検索」をクリックします。
アタッチするポリシーが見つかったら、結果リストでそれを選択し、「アタッチ」をクリックします。
複数のポリシーをアタッチできます。完了したら「OK」をクリックします。
ビジネス・サービスの場合のみ: ビジネス・サービスの資格証明が含まれるサービス・アカウントを選択するには、「サービス・アカウント」フィールドの横の「参照」をクリックし、使用するサービス・アカウントを参照して選択します。
注意:
ここでサービス・アカウント・リソースを選択するためには、事前にService Busで作成されている必要があります。
ポリシーの構成が終了したら、「保存」をクリックします。
ランタイムの変更をアクティブ化するには、「アクティブ化」をクリックします。
お使いの環境に同じポリシーを使用するサービスが含まれていることがあります。ただし、サービスごとに、オーバーライド・プロパティを使用して指定できる、固有のポリシー要件が存在する場合があります。すべてのポリシーがオーバーライド値を許容するわけではありません。
コンソールでポリシーのオーバーライド値を定義するには:
カスタム認証を使用すると、カスタムのユーザー名とパスワードの組合せまたはカスタム・トークンを指定できます。カスタム・ユーザー名とパスワードまたはトークンをXPath形式で指定する必要が生じる場合があります。どちらの場合も形式は、Service Busで必要な情報を検索できるようにXPath式を指定するという点で似ています。これらのXPath式のルートは次のとおりです。
サービスのバインドがAnySOAPまたはWSDL-SOAPの場合は、soap-env:Envelope/soap-env:Header
を使用します。
サービスのバインドがSOAPベースでない場合はsoap-env:Body
を使用します。
すべてのXPath式は有効なXPath形式である必要があります。使用するネームスペースをXPath式で宣言するには、次のようなXPathの"declare namespace"構文を使用します。
declare namespace ns='http://webservices.mycompany.com/MyExampleService';)
注意:
次に説明するすべてのフィールドとタスクが、すべてのサービス・タイプで使用可能であるとはかぎりません。構成は、サービス・タイプとサービスのポリシー構成によって異なります。
また、プロキシ・サービスとビジネス・サービスのカスタム認証をトランスポート・レベルで構成することもできます。詳細は、「カスタム認証によるトランスポート・レベルのセキュリティの構成」を参照してください。
サービス・キー・プロバイダには、プロキシ・サービスがインバウンドSOAPメッセージの復号化、アウトバウンド認証、およびデジタル署名で使用する、公開鍵インフラストラクチャ(PKI)の資格証明情報が含まれます。この手順を実行する前に、プロキシ・サービスで使用されるサービス・キー・プロバイダのリソースを作成しておく必要があります。詳細は、「サービス・キー・プロバイダの操作」を参照してください。
コンソールでプロキシ・サービスのサービス・キー・プロバイダを指定するには:
プロキシ・サービスがセキュリティ・ヘッダーを処理せずにそのヘッダーをパススルーする場合、それは受動型中間と呼ばれます。Webサービス・セキュリティのパススルーの詳細は、「Webサービス・セキュリティのパススルーとは何ですか。」を参照してください。
コンソールでWebサービスのポリシー施行を指定するには:
プロキシ・サービスへのクライアント・アクセスは、Oracle Service Busコンソールでサービス構成に直接定義されます。プロキシ・サービスを作成または管理する場合は、「セキュリティ」タブの「セキュリティ設定」ページでサービスへのクライアント・アクセスを表示および更新できます。トランスポート・レベルの認証とメッセージ・レベルの認証の両方が存在する場合、メッセージ・レベルのサブジェクトIDが伝播されます。
プロキシ・サービスのトランスポート・レベル・セキュリティ・ポリシーは、Oracle Service Busコンソールのプロキシ・サービス定義エディタの「セキュリティ設定」タブで構成します。このページからポリシー・エディタにアクセスできます。
プロキシ・サービスがアクティブになると、Service Busでは、シンWebアプリケーションが生成され、デプロイされます。Service Busは、セッション管理、クライアント証明書の検証および認証、信頼性の管理およびサーバーのSSL鍵/証明書の操作といったサーバー側SSLの部分でWebLogic Serverに依存します。
様々なService Busトランスポートのトランスポート・レベルのセキュリティを定義する方法の詳細は、「トランスポート・レベルのセキュリティの構成」を参照してください。
「トランスポート・レベルでのアクセス・ポリシーの構成」の説明に従ってトランスポート・レベル・アクセス・ポリシーを構成するには、「ポリシー・エディタを開くためのHTTP URLリンクの有効化」の説明に従ってHTTP URLリンクを使用可能にしてポリシー・エディタを開く必要があります。
ポリシー・エディタを開くためにHTTP URLリンクを有効にするには:
管理権限があるユーザーとして、Fusion Middleware Controlにログインします。
ターゲットのナビゲータで、「SOA」を開き、「service-bus」をクリックします。
「Service Bus」メニューで、「セキュリティ」→「アプリケーション・ポリシー」を選択します。
「アプリケーション・ポリシー」ページの「アプリケーション・ストライプ」フィールドで、Service_Bus_Consoleを選択します。
「作成」ボタンが有効になります。
表の上にある「作成」をクリックします。
「アプリケーション権限の作成」ページの「権限受領者」セクションで、「追加」をクリックします。
「プリンシパルの追加」ダイアログで、次の操作を実行します。
「タイプ」フィールドで、「アプリケーション・ロール」を選択します。
「検索」をクリックします。
MiddlewareAdministrator
ロールを選択して、「OK」をクリックします。
「アプリケーション権限の作成」ウィンドウの「権限」セクションで、「追加」をクリックします。
「権限の追加」ダイアログで、次の操作を実行します。
Javaクラス単位で検索するには、「権限」を選択し、「権限クラス」フィールドでoracle.soa.osb.console.common.permissions.OSBPermission
を選択します。
「検索」をクリックします。
検索結果リストで、AdminOnlyTaskAccess
を選択し、「続行」をクリックします。
「権限アクション」フィールドで、update
を選択します。これによりAll
も選択されます。
「選択」をクリックします。
新しい権限が「権限」表に表示されます。
権限の付与が完了したら、「アプリケーション権限の作成」ウィンドウの「OK」をクリックします。完了後、トランスポート・レベルのアクセス・ポリシーを構成する次のタスクを実行できます。
プロキシ・サービスのメッセージ・レベル・セキュリティ・ポリシーは、Oracle Service Busコンソールのプロキシ・サービス定義エディタの「セキュリティ設定」タブで構成します。このページからポリシー・エディタにアクセスできます。アクセス・ポリシーは操作レベルでも同様に構成できます。
トランスポート・レベルのセキュリティの定義方法の詳細は、「Webサービスのメッセージ・レベルでのセキュリティの構成」を参照してください。
メッセージ・レベルのアクセス・ポリシーを構成するには:
ユーザー、グループまたはロールが保護されている操作を呼び出すことができるようにするための複数の条件を定義できます。条件は、グループまたはロール、アクセスの日付または時間、コンテキスト要素(トランスポート・レベル・ポリシー)などの項目に基づきます。
ポリシー条件を追加するには:
アクセス制御ポリシーのポリシー・エディタにアクセスします。「トランスポート・レベルのアクセス・ポリシーの構成方法」または「メッセージ・レベルのアクセス・ポリシーの構成方法」を参照してください。
ポリシー・エディタで、「ポリシー条件」の下にある「条件の追加」をクリックします。
「述部の選択」ページが表示されます。
リストから述部を選択します。
「次へ」をクリックします。条件の述部に対する選択に応じて、表49-2に示す手順のいずれかを実行します。
いつでも、「戻る」をクリックして変更を破棄し、前のページに戻るか、「取消」をクリックして変更を破棄し、プロキシ・サービス定義エディタに戻ることができます。
表49-2 条件の述部のオプション
選択内容 | これらの手順を完了するには... |
---|---|
ロール |
トランスポート・レベルのセキュリティでは、クライアントによる資格証明の提供を可能にするプロトコルをプロキシ・サービスが使用している場合にのみ、この条件が適用されます。
|
グループ |
トランスポート・レベルのセキュリティでは、クライアントによる資格証明の提供を可能にするプロトコルをプロキシ・サービスが使用している場合にのみ、この条件が適用されます。
|
ユーザー |
トランスポート・レベルのセキュリティでは、クライアントによる資格証明の提供を可能にするプロトコルをプロキシ・サービスが使用している場合にのみ、この条件が適用されます。
|
指定した曜日にアクセスが発生 |
|
指定した時間帯にアクセスが発生 |
|
「次の日時より前にアクセスが発生」または「次の日時より後にアクセスが発生 |
|
「指定した日にアクセスが発生」、「指定した日より前にアクセスが発生」または「指定した日より後にアクセスが発生」 |
|
コンテキスト要素が定義されている |
注意: トランスポート・レベルのセキュリティにのみ適用されます。コンテキスト要素は、Webコンテナなどのコンテナがセキュリティ・プロバイダに提示できる(オプション)パラメータと値のペアです。コンテキスト要素は、メッセージ・レベルのアクセス制御ポリシーでは使用できません。指定できる値については、「コンテキスト・プロパティがセキュリティ・プロバイダに渡される」を参照してください。
|
コンテキスト要素の値が文字列定数と等しい |
トランスポート・レベルのセキュリティにのみ適用されます。コンテキスト要素の詳細は、前述の「コンテキスト要素が定義されている」の注記を参照してください。
|
「コンテキスト要素の値が数値定数より大きい」、「コンテキスト要素の値が数値定数と等しい」または「コンテキスト要素の値が数値定数より小さい」 |
トランスポート・レベルのセキュリティにのみ適用されます。コンテキスト要素の詳細は、前述の「コンテキスト要素が定義されている」の注記を参照してください。
|
全員に対してアクセスを拒否、全員に対してアクセスを許可またはサーバーが開発モードである |
「終了」をクリックします。 |
前述のステップを繰り返して、各種ポリシー条件に基づき式を追加します。複数の条件を追加すると、演算子リストが表示され、ANDまたはORのいずれかによって条件の結合を選択できます。
定義した条件を変更するには、次のステップのいずれかを実行します。
選択した式の順序を変更するには、条件に関連付けられたチェック・ボックスを選択し、「上に移動」および「下に移動」をクリックします。
ポリシー条件をグループ化するには、それらの条件に関連付けられたチェック・ボックスを選択し、「結合」をクリックします。これによって、Role: Administrator OR (Role: Developer AND Access occurs after: 12/1/13, GMT-5:00)
などの条件を作成できます。
結合したポリシー条件をグループ解除するには、それらの条件に関連付けられたチェック・ボックスを選択し、「結合解除」をクリックします。
条件を否定にするには、その条件に関連付けられたチェック・ボックスを選択し、「否定」をクリックします。たとえば、NOT Group Operators
では、ポリシーからOperatorsグループが除外されます。
選択した式を削除するには、その条件に関連付けられたチェック・ボックスを選択し、「削除」をクリックします。
Service Busパイプラインで機密データ(個人情報(Personally Identifiable Information: PII)として知られる)を保護するためにメッセージのフィールドを暗号化および復号化できます。この機能は、このようなデータが管理コンソールでクリア・テキストで表示されるのを防ぐため、特定のフィールド(たとえば、SSN)を不明瞭化します。
メッセージは暗号化され、プロキシ・サービスを介してService Busへ送られ、その後、ビジネス・サービスの出口で復号化されます。Service Bus外部のメッセージは、他のメッセージ保護ポリシー(WS-Security/SSL)を使用して保護できます。
次の例では、暗号化されていないメッセージの例を示します。PIIフィールドは、name
とdriversLicense
です。
例 - 暗号化されていないメッセージ
<person> <name>John</name> <driversLicense>B1234</driversLicense> <ssn>123-456-789</ssn> </person>
次の例では、暗号化された形式のname
フィールドおよびdriversLicense
フィールドでの暗号化されたメッセージの例を示します。
例 - 暗号化されたメッセージ
<person> <name>John</name> <driversLicense>encrypted:fdslj[lmsfwer09fsn;keyname=pii-csf-key</driversLicense> <ssn>encrypted:gdf45md%mfsd103k;keyname=pii-csf-key</ssn> </person>
暗号化書式は次のとおりです。
encrypted:<CIPHER_TEXT>;keyname:<CSF_KEY_NAME>
注意:
PIIポリシーと認可ポリシーの両方がサービスにアタッチされている場合は、PIIポリシーの前に認可ポリシーが実行されます。これは、PIIポリシーが認可に使用されるフィールドを暗号化することがあるためです。
認可ポリシーがサービスにアタッチされ、すでに暗号化されたフィールドが必要な場合は、認可は失敗します。
暗号化メッセージをサービスと切り離す場合は、PIIを復号化する必要があります。PIIポリシーをプロキシ・サービスにアタッチしているが、そのターゲット・サービスにアタッチしない場合、アウトバウンド・メッセージのPIIは復号化されません。ただし、実際にはお薦めしません。
あるService Busサービスで暗号化されたPIIは、別のService Busサービスでは復号化できません。
コンソールを使用して個人情報を非表示にするには:
セッションをまだ作成していない場合は、「作成」をクリックして新しいセッションを作成するか、「編集」をクリックして既存のセッションを入力します。
プロジェクト・ナビゲータで、ビジネス・サービスまたはプロキシ・サービスを検索し、サービス名をクリックします。
ビジネスまたはプロキシ・サービス定義エディタが表示されます。
「ポリシー」タブをクリックします。
「ポリシー」ページで、使用可能なポリシー・バインディング・モデルのリストから「OWSMポリシー・ストアから」を選択します。
「サービス・レベル・ポリシー」表で「ポリシーのアタッチ」をクリックします。
「セキュリティ・ポリシー」ダイアログが表示されます。
次の手順でポリシーを選択します。
oracle/pii_security_policy
ポリシーの検索を実行するか、リストで該当するポリシーを探します。
ポリシーが見つかったら、結果リストでそれを選択し、「アタッチ」をクリックします。
「OK」をクリックします。
「ポリシーのオーバーライド」セクションで、次の情報を入力します。
response.xpaths
: レスポンス内の暗号化するフィールドを識別するXPath式のカンマ区切りリスト。
response.namespaces
: レスポンスのネームスペースのカンマ区切りリスト。各ネームスペースには、等号で区切られた接頭辞とURIがあります。
reference.priority
: ポリシー・アタッチメントの優先度を指定するオプションのプロパティ。詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のreference.priorityに関する項を参照してください。
request.namespaces
: リクエストのネームスペースのカンマ区切りリスト。各ネームスペースには、等号で区切られた接頭辞とURIがあります。
csf-key
: フィールド値の暗号化と復号化に使用するパスワード情報を含むCSFキーの名前。
request.xpaths
: リクエスト内の暗号化するフィールドを識別するXPath式のカンマ区切りリスト。