![]() ![]() ![]() ![]() |
転送レベルのセキュリティでは、サービス コンシューマ、プロキシ サービス、およびビジネス サービス間の接続確立の一部としてセキュリティ チェックを適用します。Oracle Service Bus で適用できるセキュリティ チェックのタイプは、プロキシ サービスまたはビジネス サービスが通信のために使用するプロトコルによって異なります。プロトコルによっては、サード パーティによる参照を防止するためにクライアントとエンドポイント間の通信を暗号化することもできます。
着信転送レベルのセキュリティでは、クライアントと Oracle Service Bus プロキシ サービス間の通信を保護します。発信転送レベルのセキュリティでは、Oracle Service Bus プロキシ サービスから発信要求を送信するためのルート アクション、パブリッシュ アクション、およびコールアウト アクションという 3 つの方法をすべて保護します。
以下の節では、転送レベルのセキュリティのコンフィグレーションについて説明します。
注意·:· | 転送レベルのセキュリティで保護されるのは通信そのものだけです。HTTPS または JMS プロトコルを使用して通信を暗号化しても、Web サービス クライアントと Oracle Service Bus プロキシ サービス間に、ルーター、メッセージ キュー、または別のプロキシ サービスなどの仲介がある場合、その仲介者は SOAP メッセージをテキストで取得します。仲介者がメッセージを 2 番目の受信者に送信すると、2 番目の受信者には元の送信者がだれなのかわかりません。予定外の仲介者が SOAP または JMS メッセージを参照または変更することを防止するには、転送レベルのセキュリティに加えてメッセージレベルのセキュリティをコンフィグレーションします。「Web サービスのメッセージレベルでのセキュリティのコンフィグレーション」を参照してください。 |
注意 : | Oracle Service Bus の以前のリリースでは、HTTPS は HTTPS 転送を介して管理されていました。現在は、HTTPS は HTTP 転送に含まれます。 |
注意 : | この節は、新しいコンフィグレーション モデルを反映するように更新されています。 |
HTTPS プロトコルは、通信を保護するために SSL を使用します。SSL を使用すると、通信の暗号化、メッセージの整合性の確保、および厳密なサーバとクライアント認証の要求を行うことができます。HTTPS を使用するには、WebLogic Server で SSL をコンフィグレーションする必要があります。「WebLogic Security フレームワークのコンフィグレーション : 主な手順」を参照してください。
以下の節では、HTTPS プロトコルに関する転送レベルのセキュリティのコンフィグレーションについて説明します。
HTTPS プロトコル経由で通信する各プロキシ サービスまたはビジネス サービスに対し、次のいずれかのレベルの認証を要求するようにサービスをコンフィグレーションできます。
このレベルでは、暗号化通信が可能ですが、クライアントは資格を提供する必要がありません。一方向 SSL 接続を確立するには、クライアントが接続を開始し、Oracle Service Bus がクライアントに証明書を送信します。つまり、クライアントが Oracle Service Bus を認証することになります。
このレベルでは、暗号化通信が可能で、一方向 SSL 接続が確立した後、クライアントはユーザ名とパスワードを提供する必要があります。クライアントは、HTTP 要求ヘッダ (SSL で暗号化されます) に埋め込むことによって、ユーザ名とパスワードを提供します。プロキシ サービスは、暗号化要求を受信すると、ドメインの認証プロバイダに資格を渡します。認証プロバイダは、クライアントの資格が、作成済みのユーザ アカウントと一致するかどうかを確認します。
このレベルでは、暗号化通信と厳密なクライアント認証 (双方向 SSL) が可能です。
双方向 SSL 接続を確立するには、クライアントが接続を開始し、Oracle Service Bus がクライアントに X.509 証明書を送信します。次に、クライアントが証明書を Oracle Service Bus に送信し、Oracle Service Bus がクライアントを認証します。
クライアント証明書からユーザ名を取得するには、ID アサーション プロバイダをコンフィグレーションします。このプロバイダは、クライアント ID (X.509 トークン) として使用する証明書のフィールドを抽出します。このフィールドは、通常は証明書の SubjectDistinguishedName
の CN (一般名) または E (電子メール) です。X.509 トークンを抽出した後、トークンは Oracle Service Bus Console の [セキュリティ コンフィグレーション] モジュールのユーザ アカウントと比較されます。
SSL と ID アサーション プロバイダの詳細については、『WebLogic Security について』の「セキュリティの基礎概念」を参照してください。
カスタム認証トークンによって転送レベルでクライアント要求を認証できます。転送レベルのカスタム資格は、着信要求でのみサポートされます。カスタム トークンは HTTP ヘッダで指定します。サービス定義ウィザードの HTTP 固有のコンフィグレーション ページから、クライアント認証をコンフィグレーションできます。カスタム認証の概念については、「カスタム認証のコンフィグレーション」を参照してください。
プロキシ サービスの着信転送レベルのセキュリティをコンフィグレーションするには
注意 : | 最初に、「カスタム トークン用 ID アサーション プロバイダのコンフィグレーション」の手順に従って、WebLogic Server ID アサーション プロバイダのコンフィグレーション (または作成とコンフィグレーション) を行い、Oracle Service Bus Console の [セキュリティ コンフィグレーション] モジュールへのアクセスを許可するクライアントのユーザ名とパスワードを追加する必要があります。 |
「WebLogic Security フレームワークのコンフィグレーション : 主な手順」を参照してください。
発信転送レベルのセキュリティでは、プロキシ サービスが、ビジネス サービスとの接続を開くクライアントです。
Oracle Service Bus でクライアントを認証しないようにプロキシ サービスをコンフィグレーションした場合は、認証レベルとして基本認証の一方向 SSL を選択することによって、クライアントを認証するようにエンタープライズ システムをコンフィグレーションします。
ユーザ名とパスワードをサービス アカウントに直接追加したり、クライアントの要求により受信した資格をパススルーするようにサービス アカウントをコンフィグレーションしたりできます。または、クライアントのユーザ名を Oracle Service Bus ユーザにマップできます。Oracle Service Bus がクライアントを認証しないようにプロキシ サービスをコンフィグレーションした場合は、資格をパススルーするサービス アカウントを作成します。『Oracle Service Bus Console の使い方』の「サービス アカウント」を参照してください。
HTTP プロトコルでは、クライアントとプロキシ サービスまたはビジネス サービス間の通信を暗号化しませんが、クライアントが要求でユーザ名とパスワードを送信する基本認証がサポートされます。HTTP では、カスタム トークン認証もサポートされます。
注意 : | 厳密なネットワーク セキュリティをコンフィグレーションしていない場合は、パスワードがクリア テキストで送信されるため、プロダクション環境で HTTP での基本認証を使用しないことをお勧めします。代わりに、HTTPS で基本認証を使用してください。 |
以下の節では、HTTP プロトコルに関する転送レベルのセキュリティのコンフィグレーションについて説明します。
プロキシ サービスの着信転送レベルのセキュリティをコンフィグレーションするには
転送レベルのカスタム資格をコンフィグレーションする手順については、『Oracle Service Bus Console の使い方』のプロキシ サービスにあるプロキシ サービスの追加を参照してください。カスタム認証の概念については、「カスタム認証のコンフィグレーション」を参照してください。
カスタム認証トークンは、ID アサーション プロバイダ用に以前にコンフィグレーションされ、HTTP ヘッダに保持される任意のアクティブなトークン タイプになります。
注意 : | カスタム認証を使用する場合は、「カスタム トークン用 ID アサーション プロバイダのコンフィグレーション」の手順に従って、まず WebLogic Server ID アサーション プロバイダのコンフィグレーション (または作成とコンフィグレーション) を行う必要があります。 |
注意 : | Oracle Service Bus でクライアントを認証 (基本認証またはカスタム認証) する場合は、クライアントのユーザ アカウントを作成する必要があります。「管理セキュリティのコンフィグレーション : 主な手順」を参照してください。 |
発信転送レベルのセキュリティでは、プロキシ サービスが、ビジネス サービスとの接続を開くクライアントです。
『Oracle Service Bus の使い方』のビジネス サービスにあるビジネス サービスの追加を参照してください。
ユーザ名とパスワードをサービス アカウントに直接追加したり、クライアントの要求により受信した資格をパススルーするようにサービス アカウントをコンフィグレーションしたりできます。または、クライアントのユーザ名を Oracle Service Bus ユーザにマップできます。Oracle Service Bus がクライアントを認証しないようにプロキシ サービスをコンフィグレーションした場合は、資格をパススルーするサービス アカウントを作成します。『Oracle Service Bus Console の使い方』の「サービス アカウント」を参照してください。
JMS の転送レベルのセキュリティで JMS メッセージングのエンド ツー エンドのセキュリティは実現されませんが、次の機能が提供されます。
Oracle Service Bus は、ローカル JMS サーバまたは外部 JMS サーバと通信できます。JMS サーバへの接続は T3S プロトコル (T3 over SSL) を使用して保護します。T3 と T3S は Oracle 独自のプロトコルです。
注意 : | JMS 管理者は、WebLogic Server Administration Console を使用して、WebLogic JMS サーバおよび JNDI ツリーでの送り先へのアクセスを制限するアクセス制御ポリシーを作成します。詳細については、『WebLogic JMS のコンフィグレーションと管理』の「JMS システム リソースのコンフィグレーション、および WebLogic リソースの保護」を参照してください。 |
注意 : | JMS 管理者が JMS 送り先のアクセス制御ポリシーをコンフィグレーションまたは変更する場合、WebLogic Server で変更を認識するまでに最大 60 秒かかることがあります。 |
注意 : | デフォルトでは、WebLogic Server JMS は各 JMS 送り先のポリシーを 60 秒間隔でチェックします。この動作を変更するには、次のシステム プロパティに WebLogic Server JMS がアクセス制御ポリシーをチェックする必要のある間隔 (秒単位) を設定するように WebLogic Server のスタートアップ コマンドを変更します。weblogic.jms.securityCheckInterval このプロパティの値を 0 に設定すると、JMS リソースに対して send 、receive 、および getEnumeration アクションが実行されるたびに、JMS リソースの認可チェックが行われます。 |
以下の節では、JMS の転送レベルでのセキュリティのコンフィグレーションについて説明します。
着信 JMS の転送レベルでのセキュリティをコンフィグレーションするには
Oracle Service Bus では、T3S プロトコルを使用するように JMS プロキシ サービスをコンフィグレーションします。
プロキシ サービスの JMS サービス アカウントは、JMS オブジェクトへのアクセスだけでなく、JNDI ルックアップにも使用されます。
サービス アカウントに直接ユーザ名とパスワードを追加する必要があります。JMS は、クライアントの要求により受信した資格をパススルーしたり、クライアントのユーザ名を Oracle Service Bus ユーザにマップしたりするサービス アカウントを使用できません。『Oracle Service Bus Console の使い方』の「サービス アカウント」を参照してください。
発信 JMS の転送レベルでのセキュリティをコンフィグレーションするには
Oracle Service Bus では、T3S プロトコルを使用するように JMS ビジネス サービスをコンフィグレーションします。
プロキシ サービスの JMS サービス アカウントは、JMS オブジェクトへのアクセスだけでなく、JNDI ルックアップにも使用されます。
サービス アカウントに直接ユーザ名とパスワードを追加する必要があります。JMS は、クライアントの要求により受信した資格をパススルーしたり、クライアントのユーザ名を Oracle Service Bus ユーザにマップしたりするサービス アカウントを使用できません。『Oracle Service Bus Console の使い方』の「サービス アカウント」を参照してください。
SFTP 転送の使用で説明されているように、Oracle Service Bus は、着信および発信転送レベルのセキュリティで SFTP 転送をサポートしています。SFTP 転送では、Secure Shell (SSH) バージョン 2 を使用してファイルを転送します。
SFTP 認証は双方向です。SFTP サーバと SFTP クライアント (Oracle Service Bus サービス) が、異なるメカニズムを介して互いを認証します。
known_hosts
ファイルを使用して、 SFTP サーバを認証します。Oracle Service Bus プロキシ サービス (着信要求) またはビジネス サービス (発信要求) システム上の known_hosts
ファイルには、プロキシ サービスまたはビジネス サービスが接続できるリモート SFTP サーバのホスト名、IP アドレス、および公開鍵が含まれている必要があります。SSH バージョン 2 は、この公開鍵を使用して接続を認証します。
SFTP クライアント (Oracle Service Bus サービス) は、[転送コンフィグレーション
] ページで 3 つの認証方式のうちのいずれが選択されているかにかかわらず、常に known_hosts ファイルを使用して、SFTP サーバに接続するかどうかを判断します。つまり、いかなる場合でも、SFTP サーバは、Oracle Service Bus サービスによって、このファイルに示されている情報を使用して認証されます。これにより、Oracle Service Bus サービスが既知のサーバに接続されるようになります。
たとえば、ユーザ名/パスワード認証の場合、SFTP クライアント (Oracle Service Bus サービス) は、known_hosts
ファイルにある SFTP サーバの公開鍵に対して SFTP サーバを認証します。SFTP サーバは、サービス アカウントのユーザ名およびパスワードを使用して、クライアント (Oracle Service Bus サービス) を認証します。
[転送コンフィグレーション] ページでどの認証方式を選択するかにかかわらず、Oracle Service Bus プロキシ サービス (着信要求) またはビジネス サービス (発信要求) システム上の known_hosts
ファイルには、プロキシ サービスまたはビジネス サービスが接続できるリモート SFTP サーバのホスト名、IP アドレス、および公開鍵が含まれている必要があります。
Oracle Service Bus サービスは、known_hosts
ファイルにある公開鍵/ホスト/IP の組み合わせで SFTP サーバを認証します。
注意·:· | この SSH 認証メカニズムは、通常の Oracle Service Bus サービス キー プロバイダ/PKI 資格マッパー プロセスとは別のものです。 |
認証時に、known_hosts
ファイルの要件を満たす必要があります。known_hosts
ファイルに示されていない SFTP サーバは認証されません。
known_hosts
テキスト ファイルを作成します。
Hostname,IP algorithm public-key
Hostname
、IP
、および public_key
で SFTP サーバを識別します。
サポートされるアルゴリズムは、RSA (ssh-rsa
とのみ入力) および DSA (ssh-dsa または ssh-dss
とのみ入力) です。
このファイルの公開鍵の形式は、「OpenSSH 公開鍵形式」です。
getafix,172.22.52.130 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAtR+M3Z9HFxnKZTx66fZdnQqAHQcF1vQe1+EjJ/HWYtgAnqsn0hMJzqWMatb/u9yFwUpZBirjm3g2I9Qd8VocmeHwoGPhDGfQ5LQ/PPo3esE+CGwdnCOyRCktNHeuKxo4kiCCJ/bph5dRpghCQIvsQvRE3sks+XwQ7Wuswz8pv58=
複数のエントリがサポートされています。1 エントリごとに 1 行で入力します。
known_hosts
ファイルを以下のディレクトリに移動します。
<BEA_HOME>
\user_projects\domains\
osb_domain
\osb\transports\sftp
プロキシ サービスとビジネス サービスの両方の SFTP 認証プロセスについて、以下の一般原則が適用されます。
known_hosts
ファイルにある公開鍵/ホスト/IP の組み合わせで SFTP サーバを認証します。
ホスト ベース認証および公開鍵認証の場合、リモート SFTP サーバは、プロキシ サービスのホスト名および公開鍵を使用して Oracle Service Bus システムを認証します。ユーザ名/パスワード認証の場合、SFTP サーバは、プロキシ サービスによって (サービス アカウントを介して) 提供されるユーザ名およびパスワードを使用して Oracle Service Bus システムを認証します。
具体的には、このファイルには、受け入れられるリモート サーバのホスト名、IP アドレス、および公開鍵が含まれます。
SSH バージョン 2 は、この公開鍵を使用して接続を認証します。known_hosts ファイルに示されていない SFTP サーバは認証されません。
プロキシ サービスのコンフィグレーションにより、ポーリングするリモート ディレクトリ、ポーリングの頻度、およびダウンロードするファイル (メッセージ) に対する処理が決まります。
ホスト ベース認証および公開鍵認証の場合、SFTP サーバは、ビジネス サービスのホスト名および公開鍵を使用して Oracle Service Bus システムを認証します。ユーザ名/パスワード認証の場合、SFTP サーバは、(サービス アカウントの) ユーザ名およびパスワードを使用して Oracle Service Bus システムを認証します。
具体的には、このファイルには、受け入れられるサーバのホスト名、IP アドレス、および公開鍵が含まれます。
SSH バージョン 2 は、この公開鍵を使用して接続を認証します。known_hosts ファイルに示されていない SFTP サーバは認証されません。
ビジネス サービスのコンフィグレーションにより、ファイルをアップロードするリモート ディレクトリ、アップロードを再試行する頻度、およびアップロードされるファイルの名前に追加されるプレフィックスまたはサフィックスが決まります。
プロキシ サービスの着信転送レベルのセキュリティをコンフィグレーションするには
known_hosts
ファイルを作成します (「known_hosts ファイルの使用」の説明を参照してください)。
known_hosts
には、Oracle Service Bus プロキシ サービスが接続できるリモート SFTP サーバの情報が保持されます。具体的には、このファイルには、受け入れられるリモート サーバのホスト名、IP アドレス、および公開鍵が含まれます。
SSH バージョン 2 は、この公開鍵を使用して接続を認証します。known_hosts ファイルに示されていない SFTP サーバは認証されません。
sftp://hostname:port/directory
の形式で指定します。
認証の選択についての要約を以下に示します。詳細については、「SFTP 転送の使用」を参照してください。
SFTP サーバは、プロキシ サービスの公開鍵を使用してプロキシ サービスを認証します。
注意 : | Oracle Service Bus プロキシ サービス自体は、SFTP サーバからの資格の認証にサービス キー プロバイダを使用しません。known_hosts ファイルのみを使用して、SFTP サーバを認証します。 |
プロキシ サービスの公開鍵は、サービス キープロバイダによって参照されるキーペアに存在します。サービス キー プロバイダをセットアップする場合は、このキーを抽出して、この公開鍵を使用するように SFTP サーバをコンフィグレーションする必要があります。
たとえば、SFTP サーバが Linux 上にある場合は以下を実行する必要があります。
SFTP サーバは、公開鍵を使用してプロキシ サービスを認証します。
注意 : | Oracle Service Bus プロキシ サービス自体は、SFTP サーバからの資格の認証にサービス キー プロバイダを使用しません。known_hosts ファイルのみを使用して、SFTP サーバを認証します。 |
プロキシ サービスの公開鍵は、サービス キープロバイダによって参照されるキーペアに存在します。サービス キー プロバイダをセットアップする場合は、このキーを抽出して、この公開鍵を使用するように SFTP サーバをコンフィグレーションする必要があります。
たとえば、Linux 上にある SFTP サーバの任意の ID にシステムへのアクセスを許可するには、公開鍵をそのシステムの $HOME
/.ssh/authorized_keys
ファイルに置きます。そのファイルに示されているすべてのキーがアクセスを許可されます。
ユーザ名は、ポーリングする SFTP サーバ上のディレクトリを判断するために使用されます。また、ユーザ名は、SFTP サーバ上の公開鍵の場所を識別するためにも使用されます。
プロキシ サービスのコンフィグレーションにより、ポーリングするリモート ディレクトリ、ポーリングの頻度、およびダウンロードするファイル (メッセージ) に対する処理が決まります。
ビジネス サービスの発信転送レベルのセキュリティをコンフィグレーションするには
known_hosts
ファイルを作成します (「known_hosts ファイルの使用」の説明を参照してください)。
known_hosts
には、Oracle Service Bus ビジネス サービスが接続できるリモート SFTP サーバの情報が保持されます。具体的には、このファイルには、受け入れられるリモート サーバのホスト名、IP アドレス、および公開鍵が含まれます。
SSH バージョン 2 は、この公開鍵を使用して接続を認証します。known_hosts ファイルに示されていない SFTP サーバは認証されません。
sftp://hostname:port/directory
の形式で指定します。
認証の選択についての要約を以下に示します。詳細については、「SFTP 転送の使用」を参照してください。
SFTP サーバは、ビジネス サービスの公開鍵を使用してビジネス サービスを認証します。
注意 : | Oracle Service Bus ビジネス サービス自体は、SFTP サーバからの資格の認証にサービス キー プロバイダを使用しません。known_hosts ファイルのみを使用して、SFTP サーバを認証します。 |
ビジネス サービスの公開鍵は、サービス キープロバイダによって参照されるキーペアに存在します。サービス キー プロバイダをセットアップする場合は、このキーを抽出して、この公開鍵を使用するように SFTP サーバをコンフィグレーションする必要があります。
たとえば、SFTP サーバが Linux 上にある場合は以下を実行する必要があります。
SFTP サーバは、公開鍵を使用してビジネス サービスを認証します。
注意 : | Oracle Service Bus ビジネス サービス自体は、SFTP サーバからの資格の認証にサービス キー プロバイダを使用しません。known_hosts ファイルのみを使用して、SFTP サーバを認証します。 |
ビジネス サービスの公開鍵は、サービス キープロバイダによって参照されるキーペアに存在します。サービス キー プロバイダをセットアップする場合は、このキーを抽出して、この公開鍵を使用するように SFTP サーバをコンフィグレーションする必要があります。
たとえば、Linux 上にある SFTP サーバの任意の ID にシステムへのアクセスを許可するには、公開鍵をそのシステムの $HOME
/.ssh/authorized_keys
ファイルに置きます。そのファイルに示されているすべてのキーがアクセスを許可されます。
ユーザ名は、SFTP サーバ上のアップロード ディレクトリの判断と、SFTP サーバ上の公開鍵の場所の識別に使用されます。
ビジネス サービスのコンフィグレーションにより、ファイルをアップロードするリモート ディレクトリ、アップロードを再試行する頻度、およびアップロードされるファイルの名前に追加されるプレフィックスまたはサフィックスが決まります。
[セキュリティおよびポリシーのコンフィグレーションを保持] チェック ボックスがオンになっている場合、インポート時に以下のセキュリティ属性が保持されます。
SFTP 転送は、ユーザ名/パスワードまたは公開鍵の資格が変更されるたびに、以前の資格を使用して作成されたすべてのアイドル状態の接続を破棄し、再接続を試みます。アクティブな接続については、SFTP 転送は、現在の操作が完了した後に接続を破棄します。
以下の節では、電子メール、FTP、およびファイルのプロトコル経由の通信で利用可能なセキュリティ対策について説明します。
電子メールと FTP はセキュアなプロトコルではありません。通常はセキュアではないチャネル経由で、簡単な認証をサポートしています。電子メールまたは FTP 転送では、電子メール サーバまたは FTP サーバへの接続に必要なユーザ名とパスワードを使用したセキュリティがサポートされています。
電子メールを保護するには、Oracle Service Bus Console で、サービス アカウントをユーザ名とパスワードのエリアスとして指定する必要があります。サービスは、このユーザ名とパスワードを使用して、SMTP サーバの認証を受けます。
FTP を保護するには、Oracle Service Bus Console で [外部ユーザ
] を選択し、サービス アカウントをユーザ名とパスワードのエリアスとして指定する必要があります。サービスは、このユーザ名とパスワードを使用して、FTP サーバの認証を受けます。
電子メールと FTP 転送にセキュリティを追加する方法については、『Oracle Service Bus Console の使い方』のビジネス サービスにあるビジネス サービスの追加を参照してください。
ファイル転送では、ファイルが存在するコンピュータへのユーザ ログインを使用したセキュリティがサポートされています。
「SFTP 転送の転送レベルでのセキュリティのコンフィグレーション」で説明されているように、SFTP 転送は、FTP を保護する場合に推奨されるメカニズムです。
サービス バス (SB) 転送を使用すると、クライアント Oracle Service Bus サーバは、RMI を介して Oracle Service Bus プロキシ サービスを同期的に起動できます。RMI は、Oracle Service Bus サーバの SB 転送へのアクセスを可能にする唯一のメカニズムです。Oracle Service Bus のこのリリースでは、関連付けられている API は内部ユーザのみを対象としており、文書化されていません。
SB プロキシ サービスへのアクセス方法には、以下の 2 通りがあります。
SB ビジネス サービスは、SB プロキシ サービスに対してのみメッセージを送信できます。ビジネス サービスのエンドポイント URI で指定される JNDI プロバイダは、リモート Oracle Service Bus サーバで JNDI ルックアップを実行するために使用されます。具体的には、JNDI プロバイダは、サービスがデプロイされている Oracle Service Bus サーバを指し示し、SB プロキシ サービスに対応する RMI スタブを取得します。
たとえば、ビジネス サービスで指定するエンドポイント URI は、sb://some_secured_jndi_provider/some_remote_sb_proxy
のようになります。
セキュアな JNDI プロバイダは、セキュアなプロトコルを使用したプロバイダ URL を持つ必要があります。SB ビジネス サービスの場合は、HTTPS または t3s プロトコルを使用できます。
(ビジネス サービスの) サービス アカウントは、リモート SB プロキシ サービスの呼び出しに使用されるユーザ資格を指定します。サービス アカウントを指定しない場合、このビジネス サービスの着信プロキシ サービス (着信クライアント) のユーザ資格が、セキュリティ コンテキストの伝播に使用されます。
SB 転送では、SSL を使用して、厳密なサーバとクライアント認証の要求することができます。SSL を利用して SB 転送を使用する前に、WebLogic Server で SSL をコンフィグレーションする必要があります。「WebLogic Security フレームワークのコンフィグレーション : 主な手順」を参照してください。
注意 : | [SSL を使用] フラグを設定した場合、要求は SSL 接続を使用して送信されます。ただし、SB 転送での非セキュアな接続が禁止されるわけではありません。プロキシ サービスはセキュアな URI (sbs によって示される) を使用して (有効な WSDL または UDDI を介して) 通知されますが、セキュアなアクセスは強制されません。 |
注意 : | Oracle Service Bus サーバ管理者は、サーバのすべての非セキュアなプロトコル (t3、HTTP など) を閉じて、セキュアなクライアント接続を厳格に実施する必要があります。 |
SB 転送で SAML ベースの認証を使用する場合は、以下のコンフィグレーション要件に従ってください。
http://openuri.org/<
ALSBProxyServiceURI
> と入力します。ALSBProxyServiceURI
は、SB プロキシ サービスのサービス URI です。/<
ALSBProxyServiceURI
>
のようにします。
Oracle Service Bus では、Web service reliable messaging (WS-RM) 機能を WS 転送として使用できます。Oracle Service Bus は、2005 年 2 月に提出された仕様をサポートしています。この仕様の詳細については、『Web Services Reliable Messaging Protocol (WS-ReliableMessaging) (英文)』を参照してください。
WS 転送には、SOAP1.1 ベースと SOAP1.2 ベースの WSDL、および WS-RM ポリシーに基づいたプロキシ サービス (着信) とビジネス サービス (発信) のコンポーネントがあります。WS 転送は、一方向パターンおよび要求/応答パターンをサポートしていますが、応答には信頼性がありません。
「Web サービスの信頼性のあるメッセージングの概要」で説明されているように、WS-RM とは、ある 1 つのアプリケーション サーバで実行中のアプリケーションが、別のアプリケーション サーバで実行中の Web サービスを確実に呼び出せるフレームワークです。ここでは、双方のサーバで WS-ReliableMessaging 仕様が実装されていることが前提となっています。「信頼性のある」とは 2 つの Web サービス間でのメッセージの配信を保証できるということです。具体的には、仕様では、ソース エンドポイント (つまりクライアント Web サービス) から送り先エンドポイント (つまりオペレーションを確実に呼び出せる Web サービス) へ送信されるメッセージが、1 つまたは複数の配信保証に基づいて確実に配信されるか、そうでなければ必ずエラーが送出される、相互運用性を備えたプロトコルが記述されています。
WS プロキシ サービスは、WLS Console に表示されますが、WLS からポリシーを割り当てようとしても無視されます。
具体的には、図 4-1 に示すように、管理者は、WLS Console で [ホーム|セキュリティ レルムの概要|
myrealm|レルム ロール
] ページに移動して、WS プロキシ サービスのセキュリティ ポリシーを編集できるように見えます。
しかし、このポリシーは無効となり、実行時には評価されません。
EAR アプリケーションは、セッションをアクティブにしたときに、Oracle Service Bus によって自動生成され、デプロイされます。これは、WS プロキシ サービスごとに 1 つの EAR ファイルです。
WS 転送のセキュリティは、WSDL に含まれる、またはサービスに直接バインドされている WS-Policy ファイルを使用してコンフィグレーションします。
Oracle Service Bus は、WS-Policy ファイルを使用して、送り先エンドポイントが WS-RM の機能と要件を記述および通知できるようにします。WS-Policy 仕様では、Web サービスのポリシーを記述して通信するための、汎用的なモデルと構文が提供されています。
この WS-Policy ファイルは、サポートされている WS-ReliableMessaging 仕様のバージョン、ソース エンドポイントの再送信間隔、送り先エンドポイントの確認応答間隔などの特徴が記述された、XML ファイルです。
RM アサーションおよび WSSP 1.2 に準拠した転送レベルのセキュリティ アサーションが含まれる WS-Policy は、WS 転送でのみサポートされています。
注意 : | WSSP 1.2 に準拠したメッセージレベルのセキュリティ アサーションは、いずれの転送でもサポートされていません。9.x BEA 独自のセキュリティ アサーションは、WS 転送ではサポートされていません。 |
Oracle Service Bus には、独自の WS-Policy を作成しない場合に指定できる、2 つの簡単な WS-RM WS-Policy ファイルが含まれています。
あらかじめパッケージ化されているこれらのファイルは変更することができません。ファイル内の値がニーズに合わない場合は、独自の WS-Policy ファイルを作成する必要があります。
例として、完全な LongRunningReliability.xml
ファイル (weblogic.jar
から抽出) をコード リスト 4-1 に示します。
<?xml version="1.0"?>
<wsp:Policy
xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm/policy"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:beapolicy="http://www.bea.com/wsrm/policy"
>
<wsrm:RMAssertion >
<wsrm:InactivityTimeout
Milliseconds="86400000" />
<wsrm:BaseRetransmissionInterval
Milliseconds="3000" />
<wsrm:ExponentialBackoff />
<wsrm:AcknowledgementInterval
Milliseconds="200" />
<beapolicy:Expires Expires="P1M" optional="true"/>
</wsrm:RMAssertion>
</wsp:Policy>
WS 転送を使用するプロキシ サービスまたはビジネス サービスは、WSDL に含まれる、またはサービスに直接バインドされている、RM アサーションを含む WS-Policy を持っている必要があります。その他の転送を使用するサービスは、RM アサーションを含む WS-Policy を持つことはできません。
RM アサーションは、サービス レベルでのみバインドできます。操作または要求/応答レベルではバインドできません。
WS-RM は、一方向および要求/応答の 2 つのメッセージング パターンをサポートしています。WS 転送は、両方のパターンをサポートしていますが、信頼性のある応答はサポートしていません。つまり、応答は確実には送信されませんが、要求は常に確実に送信されます。
WS 転送を使用したプロキシ サービスから RM クライアントへの非同期応答は、RM クライアントによって指定される AcksTo または ReplyTo エンドポイント参照に接続されます。RM クライアントは、HTTP または HTTPS URL のいずれも使用可能です。HTTPS を使用する場合、RM クライアントは、SSL ハンドシェイク中にクライアント証明書を要求できます。WS 転送は、要求時に、サービス キー プロバイダの SSL キーペアを使用します。
WS 転送は、WS-Policy ファイルを使用した、以下の HTTPS セキュリティ モードをサポートしています。
表 4-1 は、これらのモードを実装するコンフィグレーション済みのセキュリティ ポリシーと、そのポリシーを使用する状況を示しています。
WS プロキシ サービスは、WS-Policy に含まれる WSSP 1.2 に準拠した転送レベルのセキュリティ アサーションに従い、基本認証およびクライアント証明書 (双方向 SSL) 認証の両方をサポートします。
コード リスト 4-2 に示されている、パッケージ化された Wssp1.2-Https.xml ポリシーから抽出された HTTPS トークンおよび Basic256 アルゴリズムの例を参照してください。
WS-Policy で基本認証が指定されている場合、すべての HTTPS 要求 (WS プロキシ サービスへの RM プロトコル メッセージを含む) が有効なユーザ名およびパスワードを持っている必要があります。
:
<sp:TransportBinding>
<wsp:Policy >
<sp:TransportToken>
<wsp:Policy>
<sp:HttpsToken />
</wsp:Policy>
</sp:TransportToken>
<sp:AlgorithmSuite>
<wsp:Policy>
<sp:Basic256/>
</wsp:Policy>
</sp:AlgorithmSuite>
<sp:Layout>
<wsp:Policy>
<sp:Lax/>
</wsp:Policy>
</sp:Layout>
<sp:IncludeTimestamp/>
</wsp:Policy>
</sp:TransportBinding>
</wsp:Policy>
元のクライアント要求からユーザ資格をパススルーするようにビジネス サービスのサービス アカウントをコンフィグレーションする方法 (ビジネス サービスでユーザ名とパスワードのトークンを要求される場合)。『Oracle Service Bus Console の使い方』の「サービス アカウント」を参照してください。
WS プロキシ サービスから RM クライアントへの非同期応答は、RM クライアントによって指定される AcksTo または ReplyTo エンドポイント参照に接続されます。RM クライアントは、HTTP または HTTPS URL のいずれも使用できます。RM クライアントが HTTPS を使用する場合、RM クライアントは、SSL ハンドシェイク中にクライアント証明書を要求できます。WS 転送は、要求時に、サービス キー プロバイダの SSL キーペアを使用します。
[セキュリティおよびポリシーのコンフィグレーションを保持
] フラグが設定されている場合、WS 転送プロバイダは、以下のセキュリティ コンフィグレーションを保持します。
WS 転送のセキュリティは、WSDL に含まれる、またはサービスに直接バインドされている WS-Policy を使用してコンフィグレーションします。
Oracle Service Bus は、WebSphere MQ で送受信できる、ネイティブなメッセージ キュー (MQ) 転送をサポートしています。この場合、MQ 転送は、MQ ライブラリを使用して MQ サーバに接続するクライアントです。
MQ 接続リソースを作成するときに、転送のセキュリティ関連のプロパティをコンフィグレーションします。このプロパティは、MQ プロキシ サービスまたはビジネス サービスによって使用されます。
注意 : | 必ず、「環境への MQ クライアント ライブラリの追加」の説明に従って、お使いの環境に MQ クライアント ライブラリを追加してください。 |
プロキシ サービスの着信転送レベルのセキュリティをコンフィグレーションするには
暗号スイートとは、キー交換アルゴリズム、対称暗号化アルゴリズム、およびセキュア ハッシュ アルゴリズムを含む SSL 暗号方式の一種です。暗号スイートは、通信の整合性を保護するために使用されます。
暗号スイート アルゴリズムは、WebSphere MQ サーバと MQ 転送の間のメッセージ通信を暗号化および復号化する際に使用されます。
サービス キー プロバイダのパス (プロジェクト/フォルダ) および名前を入力するか、[参照] をクリックし、[サービス キー プロバイダの選択] ページで選択します。
mq
を選択します。
ビジネス サービスの発信転送レベルのセキュリティをコンフィグレーションするには
暗号スイートとは、キー交換アルゴリズム、対称暗号化アルゴリズム、およびセキュア ハッシュ アルゴリズムを含む SSL 暗号方式の一種です。暗号スイートは、通信の整合性を保護するために使用されます。
暗号スイート アルゴリズムは、WebSphere MQ サーバと MQ 転送の間のメッセージ通信を暗号化および復号化する際に使用されます。
サービス キー プロバイダのパス (プロジェクト/フォルダ) および名前を入力するか、[参照] をクリックし、[サービス キー プロバイダの選択] ページで選択します。
mq
を選択します。
クライアントを認証するようにプロキシ サービスをコンフィグレーションすると、クライアントの ID およびクライアントの属するセキュリティ グループに、プロキシ サービスのパイプラインからアクセスできます。ID とグループ情報は、次のメッセージ コンテキストにあります。$inbound/ctx:security/ctx:transportClient/ctx:username
と$inbound/ctx:security/ctx:transportClient/ctx:principals/ctx:group
(このメッセージ コンテキストには、ユーザが属するグループごとに 1 つの ctx:group
要素があります)
プロキシ サービスがクライアントを認証しない場合、$inbound/ctx:security/ctx:transportClient/ctx:username
の値は <anonymous>
になり、ctx:group
要素はありません。
詳細については、Oracle Service Bus ユーザーズ ガイドの「メッセージ コンテキスト」にある「inbound 変数と outbound 変数」、および『Oracle Service Bus Console の使い方』の「プロキシ サービス」にあるメッセージ フローを参照してください。
![]() ![]() ![]() |