セキュリティ ガイド

     前  次    目次     
ここから内容

転送レベルのセキュリティのコンフィグレーション

転送レベルのセキュリティでは、サービス コンシューマ、プロキシ サービス、およびビジネス サービス間の接続確立の一部としてセキュリティ チェックを適用します。Oracle Service Bus で適用できるセキュリティ チェックのタイプは、プロキシ サービスまたはビジネス サービスが通信のために使用するプロトコルによって異なります。プロトコルによっては、サード パーティによる参照を防止するためにクライアントとエンドポイント間の通信を暗号化することもできます。

着信転送レベルのセキュリティでは、クライアントと Oracle Service Bus プロキシ サービス間の通信を保護します。発信転送レベルのセキュリティでは、Oracle Service Bus プロキシ サービスから発信要求を送信するためのルート アクション、パブリッシュ アクション、およびコールアウト アクションという 3 つの方法をすべて保護します。

以下の節では、転送レベルのセキュリティのコンフィグレーションについて説明します。

注意·:· 転送レベルのセキュリティで保護されるのは通信そのものだけです。HTTPS または JMS プロトコルを使用して通信を暗号化しても、Web サービス クライアントと Oracle Service Bus プロキシ サービス間に、ルーター、メッセージ キュー、または別のプロキシ サービスなどの仲介がある場合、その仲介者は SOAP メッセージをテキストで取得します。仲介者がメッセージを 2 番目の受信者に送信すると、2 番目の受信者には元の送信者がだれなのかわかりません。予定外の仲介者が SOAP または JMS メッセージを参照または変更することを防止するには、転送レベルのセキュリティに加えてメッセージレベルのセキュリティをコンフィグレーションします。「Web サービスのメッセージレベルでのセキュリティのコンフィグレーション」を参照してください。

 


HTTPS の転送レベルでのセキュリティのコンフィグレーション

注意 : Oracle Service Bus の以前のリリースでは、HTTPS は HTTPS 転送を介して管理されていました。現在は、HTTPS は HTTP 転送に含まれます。
注意 : この節は、新しいコンフィグレーション モデルを反映するように更新されています。

HTTPS プロトコルは、通信を保護するために SSL を使用します。SSL を使用すると、通信の暗号化、メッセージの整合性の確保、および厳密なサーバとクライアント認証の要求を行うことができます。HTTPS を使用するには、WebLogic Server で SSL をコンフィグレーションする必要があります。「WebLogic Security フレームワークのコンフィグレーション : 主な手順」を参照してください。

以下の節では、HTTPS プロトコルに関する転送レベルのセキュリティのコンフィグレーションについて説明します。

HTTPS の認証レベル

HTTPS プロトコル経由で通信する各プロキシ サービスまたはビジネス サービスに対し、次のいずれかのレベルの認証を要求するようにサービスをコンフィグレーションできます。

着信 HTTPS セキュリティのコンフィグレーション : 主な手順

プロキシ サービスの着信転送レベルのセキュリティをコンフィグレーションするには

  1. 使用する HTTPS 認証レベルに応じて、SSL、認証プロバイダ、および ID アサーション プロバイダをサポートするように WebLogic Security フレームワークをコンポーネントしていることを確認します。
    • クライアント認証なし (匿名要求) の場合は、[クライアント認証] を [なし] に設定する。
    • 基本認証の場合は、[クライアント認証] を [基本] に設定する。『Oracle Service Bus の使い方』の「セキュリティ コンフィグレーション」にある「ユーザの追加」を参照してください。
    • SSL クライアント認証の場合は、[クライアント認証] を [クライアント認証] に設定し、WebLogic ID アサーション プロバイダと WebLogic 証明書パス プロバイダをコンフィグレーションする。
    • カスタム認証トークンの場合は、[クライアント認証] を [カスタム認証] に設定する。カスタム認証トークンは、ID アサーション プロバイダ用に以前にコンフィグレーションされ、HTTPS ヘッダに保持される任意のアクティブなトークン タイプになります。カスタム認証の概念については、「カスタム認証のコンフィグレーション」を参照してください。
    • 注意 : 最初に、「カスタム トークン用 ID アサーション プロバイダのコンフィグレーション」の手順に従って、WebLogic Server ID アサーション プロバイダのコンフィグレーション (または作成とコンフィグレーション) を行い、Oracle Service Bus Console の [セキュリティ コンフィグレーション] モジュールへのアクセスを許可するクライアントのユーザ名とパスワードを追加する必要があります。

      WebLogic Security フレームワークのコンフィグレーション : 主な手順」を参照してください。

  2. Oracle Service Bus Console でプロキシ サービスを作成するときに、[転送コンフィグレーション] ページで HTTP を選択します。
  3. [HTTP 転送コンフィグレーション] ページで [HTTPS] チェック ボックスをクリックします。
  4. HTTPS の認証レベル」の説明に従って、認証レベルを選択します。『Oracle Service Bus Console の使い方』のプロキシ サービスにあるプロキシ サービスの追加を参照することもできます。
  5. 『Oracle Service Bus Console の使い方』のプロキシ サービスにあるプロキシ サービスの追加の説明に従って、ディスパッチ ポリシー、要求エンコーディング、および応答エンコーディングを選択します
  6. 作成するサービスに操作が含まれる場合は、[操作選択コンフィグレーション] ページで選択してください。WS-I を適用するかどうかを決定し (SOAP 1.1 サービスの場合のみ)、このプロキシ サービスによって呼び出される操作の決定に使用される選択アルゴリズムを選択します。このオプションは、WSDL に基づいて定義された SOAP サービスまたは XML サービスでのみ使用できます。

発信 HTTPS セキュリティのコンフィグレーション : 主な手順

発信転送レベルのセキュリティでは、プロキシ サービスが、ビジネス サービスとの接続を開くクライアントです。

発信転送レベルのセキュリティをコンフィグレーションするには

  1. プロダクション環境 (開発環境またはテスト環境ではなく) での転送レベルのセキュリティをコンフィグレーションしている場合は、ホスト名検証が有効であることを確認します。『WebLogic Server のセキュリティ』の「SSL のコンフィグレーション」にある「ホスト名検証の使い方」を参照してください
  2. Oracle Service Bus Console でビジネス サービスを作成するときに、[転送コンフィグレーション] ページで HTTP を選択します。『Oracle Service Bus の使い方』のビジネス サービスにあるビジネス サービスの追加を参照してください。

    プロンプトに従って認証レベルを選択します。
  3. Oracle Service Bus でクライアントを認証しないようにプロキシ サービスをコンフィグレーションした場合は、認証レベルとして基本認証の一方向 SSL を選択することによって、クライアントを認証するようにエンタープライズ システムをコンフィグレーションします。

  4. URI によって、HTTP または HTTPS のどちらを使用するかが決まります。認証方式が、すべての URL を HTTPS にする必要があるクライアント証明書でない限り、HTTP ビジネス サービスでは HTTP と HTTPS の URL を組み合わせることができます。
  5. ビジネス サービスで HTTPS と基本認証を使用する場合は、ビジネス サービスによって要求されるユーザ名とパスワードを提供するサービス アカウントを作成します。
  6. ユーザ名とパスワードをサービス アカウントに直接追加したり、クライアントの要求により受信した資格をパススルーするようにサービス アカウントをコンフィグレーションしたりできます。または、クライアントのユーザ名を Oracle Service Bus ユーザにマップできます。Oracle Service Bus がクライアントを認証しないようにプロキシ サービスをコンフィグレーションした場合は、資格をパススルーするサービス アカウントを作成します。『Oracle Service Bus Console の使い方』の「サービス アカウント」を参照してください。

  7. ビジネス サービスがクライアント証明書認証を使用している場合は、次の操作を行います。
    1. プロキシ サービスがビジネス サービスでの SSL クライアント認証に使用するキーペアを提供する、サービス キー プロバイダを作成します。『Oracle Service Bus Console の使い方』の「サービス キー プロバイダ」を参照してください。
    2. このサービス キー プロバイダを指定するように、プロキシ サービスを作成するか、既存のプロキシ サービスを編集します。『Oracle Service Bus Console の使い方』のプロキシ サービスにあるプロキシ サービスの表示と変更を参照してください。

 


HTTP の転送レベルでのセキュリティのコンフィグレーション

HTTP プロトコルでは、クライアントとプロキシ サービスまたはビジネス サービス間の通信を暗号化しませんが、クライアントが要求でユーザ名とパスワードを送信する基本認証がサポートされます。HTTP では、カスタム トークン認証もサポートされます。

注意 : 厳密なネットワーク セキュリティをコンフィグレーションしていない場合は、パスワードがクリア テキストで送信されるため、プロダクション環境で HTTP での基本認証を使用しないことをお勧めします。代わりに、HTTPS で基本認証を使用してください。

以下の節では、HTTP プロトコルに関する転送レベルのセキュリティのコンフィグレーションについて説明します。

着信 HTTP セキュリティのコンフィグレーション : 主な手順

プロキシ サービスの着信転送レベルのセキュリティをコンフィグレーションするには

  1. Oracle Service Bus Console でプロキシ サービスを作成するときに、[転送コンフィグレーション] ページで HTTP を選択します。クライアント認証のオプションである [なし]、[基本]、または [カスタム認証] を選択します。カスタム認証を選択した場合は、トークンを保持する HTTP ヘッダとトークン タイプも指定する必要があります。
  2. 転送レベルのカスタム資格をコンフィグレーションする手順については、『Oracle Service Bus Console の使い方』のプロキシ サービスにあるプロキシ サービスの追加を参照してください。カスタム認証の概念については、「カスタム認証のコンフィグレーション」を参照してください。

    カスタム認証トークンは、ID アサーション プロバイダ用に以前にコンフィグレーションされ、HTTP ヘッダに保持される任意のアクティブなトークン タイプになります。

    注意 : カスタム認証を使用する場合は、「カスタム トークン用 ID アサーション プロバイダのコンフィグレーション」の手順に従って、まず WebLogic Server ID アサーション プロバイダのコンフィグレーション (または作成とコンフィグレーション) を行う必要があります。
    注意 : Oracle Service Bus でクライアントを認証 (基本認証またはカスタム認証) する場合は、クライアントのユーザ アカウントを作成する必要があります。「管理セキュリティのコンフィグレーション : 主な手順」を参照してください。
  3. プロキシ サービスのデフォルトの転送レベル アクセス制御ポリシーを変更します。このポリシーは、ユーザ、グループ、またはロールがプロキシ サービスにアクセスできる条件を指定します。『Oracle Service Bus Console の使い方』の「セキュリティ コンフィグレーション」にある「転送レベルのアクセス ポリシーの編集」を参照してください。

発信 HTTP セキュリティのコンフィグレーション : 主な手順

発信転送レベルのセキュリティでは、プロキシ サービスが、ビジネス サービスとの接続を開くクライアントです。

発信転送レベルのセキュリティをコンフィグレーションするには

  1. Oracle Service Bus Console でビジネス サービスを作成するときに、[転送コンフィグレーション] ページで HTTP を選択します。プロンプトが表示されたら、[基本認証が必要] を選択します。
  2. 『Oracle Service Bus の使い方』のビジネス サービスにあるビジネス サービスの追加を参照してください。

  3. ビジネス サービスが要求するユーザ名とパスワードを提供するサービス アカウントを作成します。『Oracle Service Bus Console の使い方』の「サービス アカウント」を参照してください。
  4. ユーザ名とパスワードをサービス アカウントに直接追加したり、クライアントの要求により受信した資格をパススルーするようにサービス アカウントをコンフィグレーションしたりできます。または、クライアントのユーザ名を Oracle Service Bus ユーザにマップできます。Oracle Service Bus がクライアントを認証しないようにプロキシ サービスをコンフィグレーションした場合は、資格をパススルーするサービス アカウントを作成します。『Oracle Service Bus Console の使い方』の「サービス アカウント」を参照してください。

  5. そのサービス アカウントを指定するように、プロキシ サービスを作成するか、既存のプロキシ サービスを編集します。

 


JMS の転送レベルでのセキュリティのコンフィグレーション

JMS の転送レベルのセキュリティで JMS メッセージングのエンド ツー エンドのセキュリティは実現されませんが、次の機能が提供されます。

以下の節では、JMS の転送レベルでのセキュリティのコンフィグレーションについて説明します。

着信 JMS の転送レベルでのセキュリティのコンフィグレーション : 主な手順

着信 JMS の転送レベルでのセキュリティをコンフィグレーションするには

  1. Oracle Service Bus Console で JMS プロキシ サービスを作成または編集するときに、[転送コンフィグレーション] ページの [詳細設定] で、[SSL を使用] チェック ボックスを選択します。『Oracle Service Bus Console の使い方』の「プロキシ サービス」を参照してください。
  2. Oracle Service Bus では、T3S プロトコルを使用するように JMS プロキシ サービスをコンフィグレーションします。

  3. JMS 管理者が JMS 接続プールへのアクセスを制限するアクセス制御ポリシーを作成している場合は、JMS サーバへの接続時に認証するようにプロキシ サービスをコンフィグレーションします。
    1. JMS サービスが要求するユーザ名とパスワードを提供するサービス アカウントを作成します。『Oracle Service Bus Console の使い方』の「サービス アカウント」を参照してください。
    2. プロキシ サービスの JMS サービス アカウントは、JMS オブジェクトへのアクセスだけでなく、JNDI ルックアップにも使用されます。

      サービス アカウントに直接ユーザ名とパスワードを追加する必要があります。JMS は、クライアントの要求により受信した資格をパススルーしたり、クライアントのユーザ名を Oracle Service Bus ユーザにマップしたりするサービス アカウントを使用できません。『Oracle Service Bus Console の使い方』の「サービス アカウント」を参照してください。

    3. Oracle Service Bus Console でプロキシ サービスを作成または編集するときに、[転送コンフィグレーション] ページの [詳細設定] で、[JMS サービス アカウント] の隣にある [参照] ボタンをクリックします。前の手順で作成したサービス アカウントを選択します。

発信 JMS の転送レベルでのセキュリティのコンフィグレーション : 主な手順

発信 JMS の転送レベルでのセキュリティをコンフィグレーションするには

  1. Oracle Service Bus Console で JMS ビジネス サービスを作成または編集するときに、[転送コンフィグレーション] ページの [詳細設定] で、[SSL を使用] チェック ボックスを選択します。『Oracle Service Bus の使い方』のビジネス サービスにあるビジネス サービスの追加を参照してください。
  2. Oracle Service Bus では、T3S プロトコルを使用するように JMS ビジネス サービスをコンフィグレーションします。

  3. JMS 管理者が JMS 接続プールへのアクセスを制限するアクセス制御ポリシーを作成している場合は、JMS サーバへの接続時に認証するようにビジネス サービスをコンフィグレーションします。
    1. JMS サービスが要求するユーザ名とパスワードを提供するサービス アカウントを作成します。『Oracle Service Bus Console の使い方』の「サービス アカウント」を参照してください。
    2. プロキシ サービスの JMS サービス アカウントは、JMS オブジェクトへのアクセスだけでなく、JNDI ルックアップにも使用されます。

      サービス アカウントに直接ユーザ名とパスワードを追加する必要があります。JMS は、クライアントの要求により受信した資格をパススルーしたり、クライアントのユーザ名を Oracle Service Bus ユーザにマップしたりするサービス アカウントを使用できません。『Oracle Service Bus Console の使い方』の「サービス アカウント」を参照してください。

    3. Oracle Service Bus Console でビジネス サービスを作成または編集するときに、[転送コンフィグレーション] ページの [詳細設定] で、[JMS サービス アカウント] の隣にある [参照] ボタンをクリックします。前の手順で作成したビジネス アカウントを選択します。
  4. [Pass Caller の Subject] チェック ボックスを選択すると、Oracle Service Bus はメッセージを送信する際、認証されたサブジェクトを渡すことができます。

 


SFTP 転送の転送レベルでのセキュリティのコンフィグレーション

SFTP 転送の使用で説明されているように、Oracle Service Bus は、着信および発信転送レベルのセキュリティで SFTP 転送をサポートしています。SFTP 転送では、Secure Shell (SSH) バージョン 2 を使用してファイルを転送します。

双方向認証の実行方法

SFTP 認証は双方向です。SFTP サーバと SFTP クライアント (Oracle Service Bus サービス) が、異なるメカニズムを介して互いを認証します。

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 サービス) を認証します。

known_hosts ファイルの使用

[転送コンフィグレーション] ページでどの認証方式を選択するかにかかわらず、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 ファイルの作成

  1. 希望するエディタを使用して、known_hosts テキスト ファイルを作成します。
  2. known_hosts の形式は以下のとおりです。

    Hostname,IP   algorithm  public-key

    HostnameIP、および 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 行で入力します。

  3. known_hosts ファイルを以下のディレクトリに移動します。
  4. <BEA_HOME>\user_projects\domains\osb_domain\osb\transports\sftp

    \transports\sftp ディレクトリは、自動的には作成されません。作成する必要があります。

SFTP 転送の認証プロセス

プロキシ サービスとビジネス サービスの両方の SFTP 認証プロセスについて、以下の一般原則が適用されます。

SFTP 認証プロセスは以下のとおりです。

着信 SFTP の転送レベルでのセキュリティのコンフィグレーション : 主な手順

プロキシ サービスの着信転送レベルのセキュリティをコンフィグレーションするには

  1. Oracle Service Bus プロキシ サービス システム上に known_hosts ファイルを作成します (「known_hosts ファイルの使用」の説明を参照してください)。
  2. known_hosts には、Oracle Service Bus プロキシ サービスが接続できるリモート SFTP サーバの情報が保持されます。具体的には、このファイルには、受け入れられるリモート サーバのホスト名、IP アドレス、および公開鍵が含まれます。

    SSH バージョン 2 は、この公開鍵を使用して接続を認証します。known_hosts ファイルに示されていない SFTP サーバは認証されません。

  3. Oracle Service Bus Console でプロキシ サービスを作成するときに、[転送コンフィグレーション] ページで SFTP を選択します。
  4. エンド ポイント URI を、sftp://hostname:port/directory の形式で指定します。
    • hostname は SFTP サーバのホスト名または IP アドレスです。
    • port は SFTP サーバがリスンするポートです。SFTP のデフォルト ポートは 22 です。
    • directory はファイルを定期的にポーリングする場所です。このディレクトリは、ユーザのホーム ディレクトリからの相対位置になります。
  5. [SFTP 転送コンフィグレーション] ページで、ユーザ名/パスワード、ホスト ベース、または公開鍵認証のいずれかを選択します。
  6. 認証の選択についての要約を以下に示します。詳細については、「SFTP 転送の使用」を参照してください。

    • ユーザ名/パスワード認証は、静的なサービス アカウントを (SFTP サーバのユーザ資格を使用して) この認証方式に関連付けることを指定します。サービス アカウントは、プロキシ サービスが SFTP サーバへの認証に使用するユーザ名およびパスワードを提供します。SFTP クライアントは、提供された資格を使用して認証されます。静的なサービス アカウント タイプのみがサポートされます。
    • ホスト ベース認証は、識別された、既知のホストからの接続のみが許可されることを指定します。この認証方式には、ユーザ名とサービス キー プロバイダが必要です。
    • SFTP サーバは、プロキシ サービスの公開鍵を使用してプロキシ サービスを認証します。

      注意 : Oracle Service Bus プロキシ サービス自体は、SFTP サーバからの資格の認証にサービス キー プロバイダを使用しません。known_hosts ファイルのみを使用して、SFTP サーバを認証します。

      プロキシ サービスの公開鍵は、サービス キープロバイダによって参照されるキーペアに存在します。サービス キー プロバイダをセットアップする場合は、このキーを抽出して、この公開鍵を使用するように SFTP サーバをコンフィグレーションする必要があります。

      たとえば、SFTP サーバが Linux 上にある場合は以下を実行する必要があります。

      • /etc/ssh/shosts.equiv ファイルを編集して、Oracle Service Bus ドメインを実行しているマシンのホスト名または IP アドレスを追加します。
      • /etc/ssh/ssh_known_hosts ファイルを編集して、Oracle Service Bus ドメインを実行しているマシンのホスト名または IP アドレスを追加し、その後にスペースと公開鍵を追加します。
      • ユーザ名は、ポーリングする SFTP サーバ上のディレクトリを判断するために使用されます。

    • 公開鍵は、この認証方式を使用するには、ユーザ名とサービス キー プロバイダが必要であることを指定します。すべてのユーザには独自の公開鍵があります。
    • SFTP サーバは、公開鍵を使用してプロキシ サービスを認証します。

      注意 : Oracle Service Bus プロキシ サービス自体は、SFTP サーバからの資格の認証にサービス キー プロバイダを使用しません。known_hosts ファイルのみを使用して、SFTP サーバを認証します。

      プロキシ サービスの公開鍵は、サービス キープロバイダによって参照されるキーペアに存在します。サービス キー プロバイダをセットアップする場合は、このキーを抽出して、この公開鍵を使用するように SFTP サーバをコンフィグレーションする必要があります。

      たとえば、Linux 上にある SFTP サーバの任意の ID にシステムへのアクセスを許可するには、公開鍵をそのシステムの $HOME/.ssh/authorized_keys ファイルに置きます。そのファイルに示されているすべてのキーがアクセスを許可されます。

      ユーザ名は、ポーリングする SFTP サーバ上のディレクトリを判断するために使用されます。また、ユーザ名は、SFTP サーバ上の公開鍵の場所を識別するためにも使用されます。

  7. リモート SFTP サーバに許可されると、プロキシ サービス (SFTP クライアント) は、SFTP サーバ上のリモート ディレクトリをポーリングし、リモート ディレクトリにある任意のファイルをダウンロードします。
  8. プロキシ サービスのコンフィグレーションにより、ポーリングするリモート ディレクトリ、ポーリングの頻度、およびダウンロードするファイル (メッセージ) に対する処理が決まります。

    ポーリングするディレクトリは絶対パスです。

発信 SFTP の転送レベルでのセキュリティのコンフィグレーション : 主な手順

ビジネス サービスの発信転送レベルのセキュリティをコンフィグレーションするには

  1. Oracle Service Bus ビジネス サービス システム上に known_hosts ファイルを作成します (「known_hosts ファイルの使用」の説明を参照してください)。
  2. known_hosts には、Oracle Service Bus ビジネス サービスが接続できるリモート SFTP サーバの情報が保持されます。具体的には、このファイルには、受け入れられるリモート サーバのホスト名、IP アドレス、および公開鍵が含まれます。

    SSH バージョン 2 は、この公開鍵を使用して接続を認証します。known_hosts ファイルに示されていない SFTP サーバは認証されません。

  3. Oracle Service Bus Console でビジネス サービスを作成するときに、[転送コンフィグレーション] ページで SFTP を選択します。
  4. エンド ポイント URI を、sftp://hostname:port/directory の形式で指定します。
    • hostname は SFTP サーバのホスト名または IP アドレスです。
    • port は SFTP サーバがリスンするポートです。SFTP のデフォルト ポートは 22 です。
    • directory はファイルをアップロードする場所です。このディレクトリは、ユーザのホーム ディレクトリからの相対位置になります。
  5. [SFTP 転送コンフィグレーション] ページで、ユーザ名/パスワード、ホスト ベース、または公開鍵認証のいずれかを選択します。
  6. 認証の選択についての要約を以下に示します。詳細については、「SFTP 転送の使用」を参照してください。

    • ユーザ名/パスワード認証は、静的なサービス アカウントを (SFTP サーバのユーザ資格を使用して) この認証方式に関連付けることを指定します。サービス アカウントは、ビジネス サービスが SFTP サーバへの認証に使用するユーザ名およびパスワードを提供します。SFTP クライアントは、提供された資格を使用して認証されます。静的なサービス アカウント タイプのみがサポートされます。
    • ホスト ベース認証は、識別された、既知のホストからの接続のみが許可されることを指定します。この認証方式には、ユーザ名とサービス キー プロバイダが必要です。
    • SFTP サーバは、ビジネス サービスの公開鍵を使用してビジネス サービスを認証します。

      注意 : Oracle Service Bus ビジネス サービス自体は、SFTP サーバからの資格の認証にサービス キー プロバイダを使用しません。known_hosts ファイルのみを使用して、SFTP サーバを認証します。

      ビジネス サービスの公開鍵は、サービス キープロバイダによって参照されるキーペアに存在します。サービス キー プロバイダをセットアップする場合は、このキーを抽出して、この公開鍵を使用するように SFTP サーバをコンフィグレーションする必要があります。

      たとえば、SFTP サーバが Linux 上にある場合は以下を実行する必要があります。

      • /etc/ssh/shosts.equiv ファイルを編集して、Oracle Service Bus ドメインを実行しているマシンのホスト名または IP アドレスを追加します。
      • /etc/ssh/ssh_known_hosts ファイルを編集して、Oracle Service Bus ドメインを実行しているマシンのホスト名または IP アドレスを追加し、その後にスペースと公開鍵を追加します。
      • ユーザ名は、SFTP サーバ上のアップロード ディレクトリを判断するために使用されます。

    • 公開鍵は、この認証方式を使用するには、ユーザ名とサービス キー プロバイダが必要であることを指定します。すべてのユーザには独自の公開鍵があります。
    • SFTP サーバは、公開鍵を使用してビジネス サービスを認証します。

      注意 : Oracle Service Bus ビジネス サービス自体は、SFTP サーバからの資格の認証にサービス キー プロバイダを使用しません。known_hosts ファイルのみを使用して、SFTP サーバを認証します。

      ビジネス サービスの公開鍵は、サービス キープロバイダによって参照されるキーペアに存在します。サービス キー プロバイダをセットアップする場合は、このキーを抽出して、この公開鍵を使用するように SFTP サーバをコンフィグレーションする必要があります。

      たとえば、Linux 上にある SFTP サーバの任意の ID にシステムへのアクセスを許可するには、公開鍵をそのシステムの $HOME/.ssh/authorized_keys ファイルに置きます。そのファイルに示されているすべてのキーがアクセスを許可されます。

      ユーザ名は、SFTP サーバ上のアップロード ディレクトリの判断と、SFTP サーバ上の公開鍵の場所の識別に使用されます。

  7. リモート SFTP サーバに許可されると、ビジネス サービス (SFTP クライアント ) は、SFTP サーバ上のリモート ディレクトリにファイルをアップロードします。
  8. ビジネス サービスのコンフィグレーションにより、ファイルをアップロードするリモート ディレクトリ、アップロードを再試行する頻度、およびアップロードされるファイルの名前に追加されるプレフィックスまたはサフィックスが決まります。

    アップロード ディレクトリは絶対パスであり、自動的に作成されます。

インポート時に保持される SFTP のセキュリティ属性

[セキュリティおよびポリシーのコンフィグレーションを保持] チェック ボックスがオンになっている場合、インポート時に以下のセキュリティ属性が保持されます。

SFTP の資格のライフサイクル

SFTP 転送は、ユーザ名/パスワードまたは公開鍵の資格が変更されるたびに、以前の資格を使用して作成されたすべてのアイドル状態の接続を破棄し、再接続を試みます。アクティブな接続については、SFTP 転送は、現在の操作が完了した後に接続を破棄します。

 


電子メール、FTP、およびファイルの転送レベルのセキュリティ

以下の節では、電子メール、FTP、およびファイルのプロトコル経由の通信で利用可能なセキュリティ対策について説明します。

電子メールおよび FTP の転送レベルのセキュリティ

電子メールと FTP はセキュアなプロトコルではありません。通常はセキュアではないチャネル経由で、簡単な認証をサポートしています。電子メールまたは FTP 転送では、電子メール サーバまたは FTP サーバへの接続に必要なユーザ名とパスワードを使用したセキュリティがサポートされています。

電子メールを保護するには、Oracle Service Bus Console で、サービス アカウントをユーザ名とパスワードのエリアスとして指定する必要があります。サービスは、このユーザ名とパスワードを使用して、SMTP サーバの認証を受けます。

FTP を保護するには、Oracle Service Bus Console で [外部ユーザ] を選択し、サービス アカウントをユーザ名とパスワードのエリアスとして指定する必要があります。サービスは、このユーザ名とパスワードを使用して、FTP サーバの認証を受けます。

電子メールと FTP 転送にセキュリティを追加する方法については、『Oracle Service Bus Console の使い方』のビジネス サービスにあるビジネス サービスの追加を参照してください

ファイル転送のセキュリティ

ファイル転送では、ファイルが存在するコンピュータへのユーザ ログインを使用したセキュリティがサポートされています。

SFTP 転送の転送レベルでのセキュリティのコンフィグレーション」で説明されているように、SFTP 転送は、FTP を保護する場合に推奨されるメカニズムです。

 


SB 転送の転送レベルでのセキュリティのコンフィグレーション

サービス バス (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 認証のコンフィグレーション

SB 転送で SAML ベースの認証を使用する場合は、以下のコンフィグレーション要件に従ってください。

 


WS 転送の転送レベルでのセキュリティのコンフィグレーション

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 サービスのメッセージングの定義

Web サービスの信頼性のあるメッセージングの概要」で説明されているように、WS-RM とは、ある 1 つのアプリケーション サーバで実行中のアプリケーションが、別のアプリケーション サーバで実行中の Web サービスを確実に呼び出せるフレームワークです。ここでは、双方のサーバで WS-ReliableMessaging 仕様が実装されていることが前提となっています。「信頼性のある」とは 2 つの Web サービス間でのメッセージの配信を保証できるということです。具体的には、仕様では、ソース エンドポイント (つまりクライアント Web サービス) から送り先エンドポイント (つまりオペレーションを確実に呼び出せる Web サービス) へ送信されるメッセージが、1 つまたは複数の配信保証に基づいて確実に配信されるか、そうでなければ必ずエラーが送出される、相互運用性を備えたプロトコルが記述されています。

WLS Console に表示される WS 転送リソース

WS プロキシ サービスは、WLS Console に表示されますが、WLS からポリシーを割り当てようとしても無視されます。

具体的には、図 4-1 に示すように、管理者は、WLS Console で [ホーム|セキュリティ レルムの概要|myrealm|レルム ロール] ページに移動して、WS プロキシ サービスのセキュリティ ポリシーを編集できるように見えます。

しかし、このポリシーは無効となり、実行時には評価されません。

図 4-1 WLS Console に表示される WS 転送リソース

EAR アプリケーションは、セッションをアクティブにしたときに、Oracle Service Bus によって自動生成され、デプロイされます。これは、WS プロキシ サービスごとに 1 つの EAR ファイルです。

Web サービスの信頼性のあるメッセージングをコンフィグレーションするための WS-Policy ファイルの使用

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 転送ではサポートされていません。

コンフィグレーション済みの WS-RM ポリシー ファイル

Oracle Service Bus には、独自の WS-Policy を作成しない場合に指定できる、2 つの簡単な WS-RM WS-Policy ファイルが含まれています。

あらかじめパッケージ化されているこれらのファイルは変更することができません。ファイル内の値がニーズに合わない場合は、独自の WS-Policy ファイルを作成する必要があります。

例として、完全な LongRunningReliability.xml ファイル (weblogic.jar から抽出) をコード リスト 4-1 に示します。

コード リスト 4-1 LongRunningReliability.xml ファイル
<?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>

アクティブ化の前に必要な RM WS-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 は、これらのモードを実装するコンフィグレーション済みのセキュリティ ポリシーと、そのポリシーを使用する状況を示しています。

表 4-1 WS 転送の認証マトリックス
HTTPS が必要
認証が必要
コンフィグレーション済みの転送セキュリティ ポリシー
はい
なし
Wssp1.2-Https.xml
はい
基本
Wssp1.2-HttpsBasic.xml
はい
クライアント証明書
Wssp1.2-HttpsClientCert.xml

WS プロキシ サービスは、WS-Policy に含まれる WSSP 1.2 に準拠した転送レベルのセキュリティ アサーションに従い、基本認証およびクライアント証明書 (双方向 SSL) 認証の両方をサポートします。

コード リスト 4-2 に示されている、パッケージ化された Wssp1.2-Https.xml ポリシーから抽出された HTTPS トークンおよび Basic256 アルゴリズムの例を参照してください。

WS-Policy で基本認証が指定されている場合、すべての HTTPS 要求 (WS プロキシ サービスへの RM プロトコル メッセージを含む) が有効なユーザ名およびパスワードを持っている必要があります。

コード リスト 4-2 Wssp1.2-Https.xml ファイル (一部)
:
<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>

プロキシ サービス認証は次のようにサポートされています。

インポート時のセキュリティ コンフィグレーションの保持

[セキュリティおよびポリシーのコンフィグレーションを保持] フラグが設定されている場合、WS 転送プロバイダは、以下のセキュリティ コンフィグレーションを保持します。

着信および発信 WS の転送レベルでのセキュリティのコンフィグレーション

WS 転送のセキュリティは、WSDL に含まれる、またはサービスに直接バインドされている WS-Policy を使用してコンフィグレーションします。

 


WebSphere メッセージ キュー転送の転送レベルでのセキュリティのコンフィグレーション

Oracle Service Bus は、WebSphere MQ で送受信できる、ネイティブなメッセージ キュー (MQ) 転送をサポートしています。この場合、MQ 転送は、MQ ライブラリを使用して MQ サーバに接続するクライアントです。

MQ 接続リソースを作成するときに、転送のセキュリティ関連のプロパティをコンフィグレーションします。このプロパティは、MQ プロキシ サービスまたはビジネス サービスによって使用されます。

注意 : 必ず、「環境への MQ クライアント ライブラリの追加」の説明に従って、お使いの環境に MQ クライアント ライブラリを追加してください。

MQ 接続リソースには、以下の 2 つのモードがあります。

バインディング モード

バインディング モードを使用して、Oracle Service Bus と同じマシンに存在する MQ キュー マネージャに接続します。このモードでは、サービスは、ネットワークを介して通信するのではなく、既存のキュー マネージャ API を直接呼び出します。このモードでは、ローカル キュー マネージャに接続するための高速パスが提供されます。

TCP モード

tcp モードは、MQ キュー マネージャが Oracle Service Bus と同じマシン上にない場合に使用します。

着信 MQ の転送レベルでのセキュリティのコンフィグレーション : 主な手順

プロキシ サービスの着信転送レベルのセキュリティをコンフィグレーションするには

  1. MQ 転送を使用するプロキシ サービスを作成する前に、使用する転送の MQ 接続リソースを作成します。以下のセキュリティ コンフィグレーション設定から選択します。
    • [SSL が必要]。HTTPS を使用してメッセージを送信する場合は、このチェックボックスを選択します。[双方向 SSL が必要] オプションが選択されていない場合、サーバサイドの SSL のみ (サーバがクライアントへの認証を行う) が有効になります。
    • [暗号セット]。このオプションは、[SSL が必要] チェックボックスが選択されている場合にのみ使用できます。SSL で使用される暗号スイート アルゴリズムを選択します。
    • 暗号スイートとは、キー交換アルゴリズム、対称暗号化アルゴリズム、およびセキュア ハッシュ アルゴリズムを含む SSL 暗号方式の一種です。暗号スイートは、通信の整合性を保護するために使用されます。

      暗号スイート アルゴリズムは、WebSphere MQ サーバと MQ 転送の間のメッセージ通信を暗号化および復号化する際に使用されます。

    • [双方向 SSL が必要]。このオプションは、[SSL が必要] チェックボックスが選択されている場合にのみ使用できます。クライアントサイドおよびサーバサイドの SSL 認証の使用を強制する場合は、このチェックボックスを選択します。
    • サービス キー プロバイダへの参照。[双方向 SSL が必要] を選択した場合は、クライアントサイド SSL の適切なキー マネージャを取得するために、サービス キー プロバイダへの参照を指定する必要があります。
    • サービス キー プロバイダのパス (プロジェクト/フォルダ) および名前を入力するか、[参照] をクリックし、[サービス キー プロバイダの選択] ページで選択します。

    • [静的なサービス アカウントへの参照]。ユーザ名/パスワード認証に必要です。静的なサービス アカウントのパス (プロジェクト/フォルダ) および名前を入力するか、[参照] をクリックして、サービス アカウントを選択します。
  2. Oracle Service Bus Console でプロキシ サービスを作成するときに、[転送コンフィグレーション] ページで mq を選択します。

発信 MQ の転送レベルでのセキュリティのコンフィグレーション : 主な手順

ビジネス サービスの発信転送レベルのセキュリティをコンフィグレーションするには

  1. MQ 転送を使用するプロキシ サービスを作成する前に、使用する転送の MQ 接続リソースを作成します。以下のセキュリティ コンフィグレーション設定から選択します。
    • [SSL が必要]。HTTPS を使用してメッセージを送信する場合は、このチェックボックスを選択します。[双方向 SSL が必要] オプションが選択されていない場合、サーバサイドの SSL のみ (サーバがクライアントへの認証を行う) が有効になります。
    • [暗号セット]。このオプションは、[SSL が必要] チェックボックスが選択されている場合にのみ使用できます。SSL で使用される暗号スイート アルゴリズムを選択します。
    • 暗号スイートとは、キー交換アルゴリズム、対称暗号化アルゴリズム、およびセキュア ハッシュ アルゴリズムを含む SSL 暗号方式の一種です。暗号スイートは、通信の整合性を保護するために使用されます。

      暗号スイート アルゴリズムは、WebSphere MQ サーバと MQ 転送の間のメッセージ通信を暗号化および復号化する際に使用されます。

    • [双方向 SSL が必要]。このオプションは、[SSL が必要] チェックボックスが選択されている場合にのみ使用できます。クライアントサイドおよびサーバサイドの SSL 認証の使用を強制する場合は、このチェックボックスを選択します。
    • サービス キー プロバイダへの参照。[双方向 SSL が必要] を選択した場合は、クライアントサイド SSL の適切なキー マネージャを取得するために、サービス キー プロバイダへの参照を指定する必要があります。
    • サービス キー プロバイダのパス (プロジェクト/フォルダ) および名前を入力するか、[参照] をクリックし、[サービス キー プロバイダの選択] ページで選択します。

    • [静的なサービス アカウントへの参照]。ユーザ名/パスワード認証に必要です。静的なサービス アカウントのパス (プロジェクト/フォルダ) および名前を入力するか、[参照] をクリックして、サービス アカウントを選択します。
  2. Oracle Service Bus Console でビジネス サービスを作成するときに、[転送コンフィグレーション] ページで 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 の使い方』の「プロキシ サービス」にあるメッセージ フローを参照してください。


  ページの先頭       前  次