ナビゲーションをスキップ

ユーザーズ ガイド

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

着信メッセージおよび発信メッセージの保護

この章では、BEA AquaLogic Service Bus を使用してメッセージを保護するために必要な情報を示します。AquaLogic Service Bus では、WebLogic Server 9.1 の実証済み WebLogic Security フレームワークを利用しています。セキュリティについて完全に理解するには、BEA WebLogic Server セキュリティのドキュメントを読んでからこの章を読むことをお勧めします。

この章の対象読者は、アプリケーション設計者、セキュリティ開発者、アプリケーション開発者、サーバ管理者、およびアプリケーション管理者です。これらの役割については、『WebLogic Security について』の「対象読者」を参照してください。

AquaLogic Service Bus のコンフィグレーションは AquaLogic Service Bus Console で行います。この方法については、『AquaLogic Service Bus Console の使い方』を参照してください。

この章では、以下のトピックについて説明します。

 


AquaLogic Service Bus セキュリティに関する FAQ

AquaLogic Service Bus にはどのようなセキュリティ機能がありますか。

AquaLogic Service Bus はメッセージングを仲介します。そこで、AquaLogic Service Bus のセキュリティ機能では、メッセージの機密性と整合性の保証 (Web サービス セキュリティによるメッセージレベルのセキュリティ)、WebLogic Server、サービス クライアント、およびビジネス サービスの間の接続の保護 (転送レベルのセキュリティ)、認証と認可 (アクセス制御) が行われます。

AquaLogic Service Bus と WebLogic Server のセキュリティにはどのような関係がありますか。

AquaLogic Service Bus では WebLogic Security フレームワークを利用しています。このフレームワークの詳細については、『WebLogic Security について』の「WebLogic Security サービスのアーキテクチャ」で「WebLogic Security フレームワーク」を参照してください。AquaLogic Service Bus でセキュリティをコンフィグレーションする前に、「WebLogic Server の前提条件」の説明に従って、WebLogic Server で WebLogic Server セキュリティ レルムやその他のサーバのコンフィグレーション (SSL など) を行う必要があります。

転送レベルのセキュリティとは何ですか。

転送レベルのセキュリティは、メッセージの転送に使用する接続を保護する転送プロトコルを指します。転送レベルのセキュリティの例として、HTTPS (HTTP over SSL) があります。SSL のセキュリティはポイント ツー ポイントですが、メッセージの経路に仲介者がいるとメッセージが保護されません。詳細については、「転送レベルのセキュリティ」を参照してください。

Web サービス セキュリティとは何ですか。

Web サービス セキュリティ (WS-Security) は OASIS 標準の 1 つです。SOAP メッセージにメッセージレベルのセキュリティを組み込むための相互運用可能なメカニズムを定義しています。WS-Security は、メッセージの整合性と機密性をサポートします。また、SOAP エンベロープにセキュリティ トークンを含める拡張モデルや、SOAP エンベロープ内からセキュリティ トークンを参照するモデルも定義しています。WS-Security トークン プロファイルは、コアの WS-Security 仕様内での特定のトークン タイプの使用方法を指定しています。メッセージの整合性は XML デジタル署名を使用することで確保され、メッセージの機密性は XML 暗号化を使用するとこで確保されます。WS-Security では、SOAP メッセージのどの部分をデジタル署名または暗号化するかを指定できます。AquaLogic Service Bus は、HTTP、HTTPS、および一方向 JMS による WS-Security をサポートします。WS-Security の詳細については、以下の URL にある「Web Service Security: SOAP Message Security 1.0 (WS-Security 2004)」を参照してください。

http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf

AquaLogic Service Bus でサポートされている WS-Security のバージョンは何ですか。

AquaLogic Service Bus では、Web Services Security 1.0 がサポートされます。

AquaLogic Service Bus ではどの WS-Security トークン プロファイルがサポートされますか。

AquaLogic Service Bus では、以下のプロファイルがサポートされます。

Web Services Security: Username Token Profile 1.0 (http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0.pdf)

Web Services Security X.509 Token Profile 1.0 (http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0.pdf)

Web Services Security SAML Token Profile 1.0 (http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0.pdf)

Web サービス ポリシーとは何ですか。

Web サービス ポリシー フレームワーク (WS-Policy) は、Web サービスのポリシーを記述して通信するための汎用モデルとその構文を提供します。WS-Policy は、さまざまなサービスの要件、環境設定、および機能を記述するための一連の基本構成要素を定義しています。これは、他の Web サービス仕様によって使用および拡張できます。詳細については、「Web サービス ポリシー」を参照してください。

Web サービス ポリシーのアサーションとは何ですか。

Web Services Policy Assertions Language (WS-PolicyAssertions) は、セキュリティ ポリシー内で指定できる一連の共通メッセージ ポリシー アサーションを指定しています。この仕様は、WS-Policy で使用する一般的なメッセージング関連のアサーションを定義しています。個別の仕様で、セキュリティ アサーションと信頼性の高いメッセージング アサーションについて、ドメイン固有のアサーションの構文とセマンティクスを記述します。

AquaLogic Service Bus でサポートされている WS-Policy のバージョンは何ですか。

AquaLogic Service Bus でメッセージレベルのセキュリティをコンフィグレーションするために WS-Policy で使用するポリシー アサーションは、Web Services Security Policy Language (WS-SecurityPolicy) 仕様の 2002 年 12 月 18 日バージョンに記述されたアサーションに基づいています。これは、AquaLogic Service Bus のアサーションの構文や用途は、仕様と厳密に同じというわけではありませんが、仕様に記述されているアサーションと意味の上では同様であるということです。AquaLogic Service Bus 2.1 のアサーションは、仕様の最新版 (2005 年 7 月 13 日) をベースにしていません。AquaLogic Service Bus で使用されているポリシー アサーションは、WebLogic Server 9.0 および 9.1 の Web サービスで使用されているポリシー アサーションと完全に互換性があります。

アクセス制御ポリシーと Web サービス ポリシーは同じものですか。

いいえ。アクセス制御ポリシーは、特定のリソース (プロキシ サービス、Web アプリケーション、EJB など) へのアクセスの要求の承認および拒否を決定するブール式です。通常、アクセス制御ポリシーは要求側のロールに基づいています。WS-Policy は、Web サービス定義 (WSDL) を補完する、Web サービスについてのメタデータです。WS-Policy は、「すべての要求はクライアントのデジタル署名が必要である」などの、すべてのサービス クライアントが満たすべき要件を表すために使用できます。

Web サービス セキュリティのパススルーとは何ですか。

WS-Security パススルー シナリオでは、クライアントが要求メッセージまたは応答メッセージに WS-Security を適用します。プロキシ サービスは、セキュリティ ヘッダを処理しません。保護された要求メッセージをそのままビジネス サービスに渡します。AquaLogic Service Bus はメッセージに WS-Security を適用せずに、ヘッダの値に基づいてメッセージをルーティングします。ビジネス サービスは、メッセージを受け取った後にセキュリティ ヘッダを処理し、要求に応答します。ビジネス サービスには、WS-Policy セキュリティ ステートメントがコンフィグレーションされている必要があります。保護された応答メッセージがそのままクライアントに渡されます。たとえば、クライアントはメッセージを暗号化および署名して、プロキシ サービスに送信します。プロキシ サービスはメッセージの復号化やデジタル署名の検証を行わず、単にメッセージをビジネス サービスにルーティングします。ビジネス サービスは、メッセージを復号化し、デジタル署名を検証してから、要求を処理します。応答パスでも同様です。このようなプロキシは受動的仲介者とも呼ばれます。

Web サービス セキュリティの能動的仲介者とは何ですか。

能動的仲介者のシナリオでは、クライアントが要求メッセージと応答メッセージに WS-Security を適用します。プロキシ サービスが、セキュリティ ヘッダを処理して WS-Security ポリシーを適用します。たとえば、クライアントがメッセージを暗号化および署名してプロキシ サービスに送信し、プロキシ サービスがメッセージを復号化してデジタル署名を検証してから、メッセージをルーティングします。プロキシ サービスは、応答をクライアントに返信する前に、メッセージに署名して暗号化します。クライアントは、メッセージを復号化してプロキシのデジタル署名を検証します。

発信 Web サービス セキュリティとは何ですか。

発信 WS-Security は、AquaLogic Service Bus プロキシ サービスとビジネス サービスの間のセキュリティを表します。ビジネス アプリケーションとプロキシ サービスの間の要求と応答の両方が含まれます。詳細については、「発信 Web サービス セキュリティについて」を参照してください。

SAML とは何ですか。

SAML (Security Assertion Markup Language) は、OASIS 標準ベースの拡張可能な XML フレームワークです。認証および認可情報を交換することによって、最新のネットワーク環境でのシングル サインオンを可能にします。

AquaLogic Service Bus でサポートされている SAML のバージョンは何ですか。

AquaLogic Service Bus では SAML 1.1 がサポートされています。

AquaLogic Service Bus ではどのような WebLogic セキュリティ プロバイダがサポートされますか。

AquaLogic Service Bus では、WebLogic 認証プロバイダ、ID アサーション プロバイダ、認可プロバイダ、ロール マッピング プロバイダ、資格マッピング プロバイダ、証明書検索および検証 (CLV) プロバイダなど、WebLogic Server に付属のセキュリティ プロバイダがサポートされます。さらに、AquaLogic Service Bus 2.1 では、WebLogic SAML ID アサーション プロバイダ V2 および WebLogic SAML 資格マッピング プロバイダ V2 のサポートが追加されています。

AquaLogic Service Bus 2.1 では、新しい WebLogic XACML 認可プロバイダがサポートされています。デフォルトでは、AquaLogic Service Bus 2.1 ドメインには、WebLogic XACML 認可プロバイダのみが含まれていますが、必要に応じて、XACML プロバイダをこのリリースでサポートされている WebLogic デフォルト認可プロバイダに置換できます。XACML プロバイダの使用をお勧めします。詳細については、『WebLogic Security について』の「WebLogic Security サービスのアーキテクチャ」で「WebLogic セキュリティ プロバイダ」を参照してください。

用意されている認可プロバイダにはどのようなものがありますか。

AquaLogic Service Bus には、XACML 認可プロバイダと WebLogic 認可プロバイダの両方が含まれています。デフォルトでは、新規作成したドメインのセキュリティ レルムには XACML 認可プロバイダが含まれています。XACML 認可プロバイダは、XACML (eXtensible Access Control Markup Language) を使用します。

重要 : 独自のポリシー言語を使用する、DefaultAuthorizer という名前の WebLogic 認可プロバイダは、デフォルトの認可プロバイダではなくなりました。

サードパーティ セキュリティ プロバイダは AquaLogic Service Bus でサポートされますか。

AquaLogic Service Bus 2.1 では、Netegrity、Oracle-Oblix、RSA などのサードパーティ セキュリティ プロバイダはテストされていないため、動作が確認されていません。ただし、AquaLogic Service Bus セキュリティ アーキテクチャでは、サードパーティの認証、認可、およびロール マッピング プロバイダの使用がサポートされています。AquaLogic Service Bus 2.1 でのサードパーティ セキュリティ プロバイダのサポートについては、BEA カスタマ サポートにお問い合わせください。

証明書検索および検証フレームワークとは何ですか。

証明書検索および検証 (CLV) プロパイダは、証明書のパスを完成させて X509 証明書チェーンを検証します。CLV プロバイダには次の 2 種類があります。

CertPath Builder - Web サービスまたはアプリケーション コードから証明書、証明書チェーン、または証明書の参照情報 (チェーンの最後の証明書または証明書のサブジェクト DN) を受け取ります。このプロバイダは、チェーンの証明書を検索して検証します。

CertPath Validator — SSL プロトコル、Web サービス、またはアプリケーション コードから証明書チェーンを受け取り、失効チェックなどの追加検証を行います。

少なくとも CertPath Builder と CertPath Validator を 1 つずつ、セキュリティ レルムにコンフィグレーションする必要があります。1 つのセキュリティ レルムに複数の CertPath Validator をコンフィグレーションすることができます。複数のプロバイダをコンフィグレーションした場合、証明書または証明書チェーンは、すべての CertPath Validator の検証をパスしないと有効になりません。WebLogic Server では、WebLogic CertPath プロバイダと証明書レジストリで CLV プロバイダの機能を使用できます。詳細については、『WebLogic Security について』の「WebLogic Security サービスのアーキテクチャ」で「証明書の検索と検証のプロセス」を参照してください。

AquaLogic Service Bus では、プロキシ サービスでの ID の伝播はサポートされますか。

はい。AquaLogic Service Bus は、「Web Service Security: SAML Token Profile 1.0」の仕様に準拠する SAML 1.1 アサーションを生成することで、ID の伝播をサポートしています (http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0.pdf)。これは、プロキシがルーティングする先のビジネス サービスで SAML holder-of-key または sender-vouches の WS-Policy を設定することで実行されます。

プロキシ サービスへの着信メッセージに転送レベルの認証とメッセージレベルの認証の両方が存在する場合、どちらの ID が伝播されますか。

転送レベルの認証とメッセージレベルの認証の両方が存在する場合、メッセージレベルのサブジェクト ID が伝播されます。

SAML アサーションのサブジェクト ID の形式はカスタマイズ可能ですか。

デフォルトでは、発信 SAML トークン内のサブジェクト ID は、着信ユーザ名と同じです。サブジェクト ID の形式は、カスタムの SAML 名前マッパー プロバイダを記述することでカスタマイズできます。詳細については、『WebLogic Server のセキュリティ』の「SAML 資格マッピング プロバイダのコンフィグレーション」を参照してください。

シングル サインオンは AquaLogic Service Bus でサポートされますか。

厳密に言えば、AquaLogic Service Bus メッセージング シナリオでは、シングル サインオン (SSO) はさまざまな理由で使用できません。まず、AquaLogic Service Bus はステートレスであるため、セッションの概念や複数のパーティ間での会話がありません。次に、AquaLogic Service Bus のクライアントは、通常は他のエンタープライズ ソフトウェア アプリケーションであり、Web ブラウザを使用するユーザではありません。そのため、このようなクライアントが要求ごとにユーザ名とパスワードなどの資格情報を送信する必要があっても、通信が SSL や WS-Security などの方法で保護される限り、許容されます。ただし、AquaLogic Service Bus Console と WebLogic Server Administration Console の間の SSO はサポートされています。詳細については、『WebLogic Security について』の「セキュリティの基礎概念」で「シングル サインオン (SSO)」を参照してください。

セキュリティ エラーはモニタされますか。

WS-Security エラーのみが、AquaLogic Service Bus モニタ フレームワークによってモニタされます。SSL ハンドシェーク エラー、転送レベルの認証、転送レベルのアクセス制御などの転送レベルのセキュリティ エラーは、このリリースではモニタされません。詳細については、「サービスのモニタの詳細」を参照してください。ただし、監査プロバイダをコンフィグレーションして、転送レベルの認証と認可を監査することができます。

MBean のセキュリティをコンフィグレーションできますか。

WebLogic Server では MBean のアクセス制御が行われます。AquaLogic Service Bus 2.1 では、WebLogic Server 管理者ロールのクライアントのみが AquaLogic Service Bus MBean を呼び出すことができます。このリリースでは MBean のアクセス制御をコンフィグレーションできません。

 


AquaLogic Service Bus セキュリティについて

AquaLogic Service Bus では、WebLogic Security フレームワークを使用して、より高度なセキュリティ サービスを構成します。これには、認証、ID アサーション、認可、ロール マッピング、監査、および資格マッピングなどが含まれます。

AquaLogic Service Bus セキュリティは AquaLogic Service Bus Console でコンフィグレーションします (図 3-1 を参照)。このコンソールには事前定義済みのルールが用意されており、メッセージの保護、セキュアな転送プロトコルの使用、ユーザ、グループ、ロールの管理、および資格の表示や追加を簡単に行うことができます。AquaLogic Service Bus セキュリティをコンフィグレーションする前に、WebLogic Server セキュリティのいくつかの項目をコンフィグレーションする必要があります (「WebLogic Server の前提条件」を参照)。

図 3-1 AquaLogic Service Bus Console

AquaLogic Service Bus Console


 

AquaLogic Service Bus Console にアクセスする方法については、『AquaLogic Service Bus Console の使い方』の「はじめに」で「BEA AquaLogic Service Bus Console の起動」を参照してください。

 


WebLogic Server の前提条件

AquaLogic Service Bus では WebLogic Security フレームワークを利用しています。AquaLogic Service Bus のすべてのセキュリティ機能を最大限に活用するには、AquaLogic Service Bus でセキュリティをコンフィグレーションする前に、WebLogic Server でいくつかのセキュリティ コンフィグレーションを行う必要があります。WebLogic Server でコンフィグレーションする内容は、ビジネスの要件に応じて異なります。WebLogic Server のコンフィグレーションには、WebLogic Server Administration Console を使用します。詳細については、『WebLogic Server のセキュリティ』を参照してください。

この節の内容は以下のとおりです。

AquaLogic Service Bus ドメインの保護の主な手順

AquaLogic Service Bus ドメインに WebLogic セキュリティをコンフィグレーションする主な手順は以下のとおりです。

WebLogic Server Administration Console

AquaLogic Service Bus ドメインの保護の詳細とオプション

次に、プロバイダの詳細と、「AquaLogic Service Bus ドメインの保護の主な手順」に示したプロバイダ以外に、AquaLogic Service Bus でセキュリティをコンフィグレーションする前に必要に応じて WebLogic Server でコンフィグレーションできるセキュリティ プロバイダを示します。これらの変更は WebLogic Server Administration Console で行います。

 


転送レベルのセキュリティ

転送レベルのセキュリティによって接続が安全であることが保証されます。クライアント アプリケーションと AquaLogic Service Bus プロキシ サービスの間、および AquaLogic Service Bus とビジネス サービスの間の転送セキュリティをコンフィグレーションできます。

以下のタイプの転送セキュリティがサポートされます。

HTTPS 転送レベルのセキュリティ

AquaLogic Service Bus は、HTTPS プロキシ サービスと HTTPS ビジネス サービスをサポートします。HTTPS プロキシ サービスは、HTTPS プロトコルでクライアント要求を受信します。同じ HTTPS 接続で、クライアントへの応答を送信します。このドキュメントでは、これを着信 HTTPS と呼びます。

プロキシ サービスは、メッセージを HTTPS プロトコルで HTTPS ビジネス サービスにルーティングします。この場合、プロキシ サービスは HTTPS クライアントとして動作し、ビジネス サービスへの HTTPS 接続を開きます。同じ HTTPS 接続で、ビジネス サービスからの応答を受信します。このドキュメントでは、これを発信 HTTPS と呼びます。

注意 : AquaLogic Service Bus は、SSL ネットワーク チャネルを 1 つだけサポートします。これは、デフォルトは WebLogic Server (SSL) セキュア ネットワーク チャネルと呼ばれます。

以下の節で、着信と発信のシナリオについて説明します。

着信 HTTPS 転送レベルのセキュリティ

着信転送レベルのセキュリティは、クライアント アプリケーションと AquaLogic Service Bus プロキシ サービスの間の接続に適用されます。

AquaLogic Service Bus Console を使用してプロキシ サービスをコンフィグレーションするときに、プロキシ エンドポイントの転送レベルのセキュリティをコンフィグレーションします。この方法については、『AquaLogic Service Bus Console の使い方』の「プロキシ サービス」を参照してください。

AquaLogic Service Bus Console では、以下のセキュリティ レベルの HTTPS プロキシ エンドポイントをコンフィグレーションできます。

なし - 着信 HTTPS

BASIC 認証も CLIENT CERT 認証も指定せずに HTTPS を指定した場合、一方向 SSL でメッセージが保護されます。一方向 SSL では、クライアントが接続を開始し、WebLogic Server がクライアントに証明書を送信します。つまり、クライアントが WebLogic Server を認証することになります。WebLogic Server で SSL 証明書をコンフィグレーションする方法については、「WebLogic Server の前提条件」を参照してください。

基本 - 着信 HTTPS

BASIC 認証を指定して HTTPS を指定した場合、暗号化されたチャネルを使用して認証が行われるため、パスワードが保護されます。一方向 SSL 接続が確立されると、クライアントはユーザ名とパスワードを使用して WebLogic Server を認証します。WebLogic Server のセキュリティ レルムにコンフィグレーションされている認証プロバイダを使用してユーザ名とパスワードを検証することにより、信頼が確立されます。クライアントは、HTTP 要求ヘッダでユーザ名とパスワードを送信する必要があります。

警告 : HTTPS プロキシ サービスのエンドポイントを作成すると、最初の転送アクセス制御ポリシーでは、すべての要求に対するアクセスが許可されます。BASIC 認証を強制するには、エンドポイントの転送認可ポリシーを定義する必要があります。

警告にあるように、着信エンドポイントの転送認可ポリシー (セキュリティ ポリシー) がエンドポイント URL に関連付けられていない場合は認証が行われません。サーバは、ヘッダにユーザ名とパスワードがない HTTPS 要求を受け付け、ユーザ名とパスワードをクライアントに要求することもありません。さらに、クライアントが BASIC 認証のユーザ名とパスワードのヘッダを要求に含めた場合も、認証は行われません。サーバは無効なユーザ名または無効なパスワードを持つ要求を受け付けます。プロキシ サービス エンドポイントに対して転送認可ポリシーをコンフィグレーションした後に、クライアント側で正しい認証が行われるようになり、このアクセス制御ポリシーがサーバに適用されます。セキュリティ ポリシーの詳細については、「プロキシ サービスのアクセス制御のコンフィグレーション」を参照してください。

クライアント証明書 - 着信 HTTPS

クライアント証明書認証によって最高レベルの転送セキュリティが実現します。クライアントによる WebLogic Server 認証に加えて、SSL ハンドシェーク時に WebLogic Server によるクライアント アプリケーションの認証も行われます。これは双方向 SSL とも呼ばれます。SSL の詳細については、『WebLogic Security について』の「セキュリティの基礎概念」で「セキュア ソケット レイヤ (SSL)」を参照してください。

このドキュメントの目的から外れるため着信 HTTPS の CLIENT CERT 認証の詳細については説明しませんが、この認証の基本は SSL エンジンによるクライアント証明書の検証です。検証では、クライアントのプライベート キーの確認 (SSL プロトコル使用)、クライアント証明書から信頼キーストアの信頼性のある CA (認証局) への信頼チェーンの確立、証明書の有効期限の確認などが行われます。SSL ハンドシェーク時に証明書の検索と検証のフレームワークを呼び出すように WebLogic Server SSL をコンフィグレーションすると、さらに別の検証を実行できます。証明書の信頼が確立されると、証明書が ID アサーション プロバイダに渡されてクライアント ID が抽出されます。

ID アサーション プロバイダも WebLogic Security フレームワークのコンポーネントの 1 つです。ID アサーション プロバイダをコンフィグレーションして、クライアント ID として使用する証明書のフィールド (通常は証明書の SubjectDistinguishedName の CN (一般名) または E (電子メール)) を抽出できます。証明書からフィールドが抽出された後、抽出されたクライアント ID は認証プロバイダの登録ユーザと比較されます。クライアント ID がユーザと一致すると、そのユーザが属するすべてのグループが認証プロバイダによって収集されます。最終的に、クライアント ID を保持する 1 つのプリンシパルとユーザが属する各グループ用の 1 つのプリンシパルを持つ署名された Java Authentication and Authorization Service (JAAS) サブジェクトが返されます。

注意 : サーバに [クライアント証明書を要求 (強制しない)] で双方向 SSL をコンフィグレーションしており、プロキシ サービスに転送レベルのアクセス制御ポリシーを割り当てていない場合は、プロキシ サービスは HTTPS を介した要求を「クライアント証明書なしで」受け入れます。プロキシ サービスに転送レベルのアクセス制御ポリシーを割り当てる必要があります。

ID アサーション プロバイダの詳細については、『WebLogic Security について』の「セキュリティの基礎概念」を参照してください。

発信 HTTPS 転送レベルのセキュリティ

発信転送のセキュリティは、AquaLogic Service Bus のプロキシ サービスとビジネス サービスの間の接続に適用されます。

発信エンドポイントの転送レベルのセキュリティは、[転送コンフィグレーション] ページでビジネス サービスを作成または編集するときにコンフィグレーションします。この方法については、『AquaLogic Service Bus Console の使い方』の「ビジネス サービス」を参照してください。

AquaLogic Service Bus Console では、以下のセキュリティ レベルの HTTPS 発信エンドポイントをコンフィグレーションできます。

なし、基本、およびクライアント証明書の認証では、SSL ハンドシェーク時にリモート サーバ証明書が検証されます。ホスト名検証が有効な場合、サーバ証明書の SubjectDistinguishedName がビジネス サービス URL に対して検証されます。詳細については、『WebLogic Security について』の「セキュリティの基礎概念」で「セキュア ソケット レイヤ (SSL)」の下にある「ホスト名検証」を参照してください。

注意 : プロダクション環境ではホスト名検証を有効にする必要があります。

なし - 発信 HTTPS

BASIC 認証も CLIENT CERT 認証も指定せずに HTTPS を指定した場合、一方向 SSL でメッセージが保護されます。一方向 SSL では、プロキシ サービスは接続を開始しますが、ビジネス サービスに対する認証は行いません。

基本 - 発信 HTTPS

BASIC 認証を指定して HTTPS を指定した場合、暗号化されたチャネルを使用して認証が行われるため、パスワードが保護されます。一方向 SSL 接続が確立されると、プロキシ サービスはユーザ名とパスワードを使用してビジネス サービスに対する認証を行います。プロキシ サービスは、ビジネス サービスに定義されたサービス アカウントに関連付けられているユーザ名とパスワードを使用します。ビジネス サービスの [HTTPS 転送コンフィグレーション] ページでサービス アカウントを指定し、[セキュリティ コンフィグレーション] モジュールの [資格] セクションでユーザ名とパスワードをサービス アカウントと関連付けます。資格とサービス アカウントの詳細については、「資格」を参照してください。

クライアント証明書 - 発信 HTTPS

クライアント証明書認証によって最高レベルの転送セキュリティが実現します。この場合、双方向 SSL が確立されます。プロキシ サービスは、SSL ハンドシェーク時に SSL 証明書を使用してビジネス サービスに対する認証を行います。SSL プライベート キーとそれに対応する証明書 (プロキシ サービスがビジネス サービスに対する認証に使用する証明書) は、プロキシ サービスに定義されているプロキシ サービス プロバイダから取得します。つまり、CLIENT CERT 認証を指定する前に、プロキシ サービス プロバイダをコンフィグレーションし、SSL クライアント キー ペアをそのプロキシ サービス プロバイダと関連付ける必要があります。詳細については、「プロキシ サービス プロバイダ」を参照してください。

HTTP 転送レベルのセキュリティ

AquaLogic Service Bus Console では、着信エンドポイントおよび発信エンドポイントの BASIC 認証を要求するように AquaLogic Service Bus をコンフィグレーションできます。着信 BASIC 認証では、クライアントがユーザ名とパスワードを使用して WebLogic Server を認証します。発信 BASIC 認証では、プロキシ サービスがユーザ名とパスワードを使用してビジネス サービスに対する認証を行います。HTTPS 転送レベルのセキュリティとは異なり、HTTP 使用時はビジネス サービスがプロキシ サービスに対する認証を行うことはありません。

警告 : AquaLogic Service Bus Console では HTTP 接続に BASIC 認証を指定できますが、パスワードがクリア テキストで送信されるため推奨されていません。HTTPS では暗号化されたチャネルが提供されるため、パスワードは HTTPS で送信するのが安全です。

HTTP 発信エンドポイントの BASIC 認証を使用する場合、サービス アカウントを指定する必要があります。このサービス アカウントにより、AquaLogic Service Bus からビジネス サービスへの接続に使用されるユーザ名とパスワードがマップされます。詳細については、「サービス アカウント」を参照してください。

また、HTTP 着信エンドポイントの BASIC 認証を使用する場合、転送認可ポリシーをプロキシ サービス URI と関連付ける必要があります。詳細については、「基本 - 着信 HTTPS」を参照してください。

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

この節では、JMS、電子メール、FTP、およびファイル転送の保護について説明します。

JMS 転送レベルのセキュリティ

プロキシ サービスへの着信メッセージとプロキシ サービスからの発信メッセージに対して JMS 転送セキュリティを使用するように AquaLogic Service Bus をコンフィグレーションできます。JMS サーバへの接続は T3S プロトコル (T3 over SSL) を使用して保護することができます。JMS メッセージングのエンド ツー エンドのセキュリティは実現されませんが、次の機能が提供されます。

T3 プロトコルについては、『WebLogic RMI プログラマーズ ガイド』の「WebLogic RMI での T3 プロトコルの使い方」を参照してください。

着信 JMS 転送レベルのセキュリティ

前述のように、着信転送では、JMS サーバへの接続に使用するプロトコルとして T3S プロトコルを指定できます。指定するには、プロキシ サービスの作成時または編集時、[JMS 転送コンフィグレーション] ページの [SSL を使用] チェック ボックスをチェックします。この方法については、『AquaLogic Service Bus Console の使い方』の「プロキシ サービス」を参照してください。

JMS 管理者が JMS 接続プールへのアクセスを制限されている場合は、次の手順に従って、JMS サーバへの接続時に認証が行われるようにプロキシ サービスをコンフィグレーションする必要があります。

  1. JMS サーバにユーザ名とパスワードを指定するために、AquaLogic Service Bus Console の [プロジェクト エクスプローラ] モジュールで (JMS) サービス アカウントを作成します。
  2. プロキシ サービスの作成時または編集時、[JMS 転送コンフィグレーション] ページで JMS サービス アカウントを指定します。
  3. [セキュリティ コンフィグレーション] モジュールの [資格] セクションを使用して、JMS サービス アカウントのユーザ名とパスワードを指定します。JMS サーバがリモート WebLogic Server ドメインにある場合、ドメイン間の信頼を確立する必要があります。

サービス アカウントのコンフィグレーション方法については、『AquaLogic Service Bus Console の使い方』の「サービス アカウント」を参照してください。

発信 JMS 転送レベルのセキュリティ

発信メッセージでは、JMS サーバへの接続に使用するプロトコルとして T3S プロトコルを指定できます。指定するには、ビジネス サービスの作成時または編集時、[JMS 転送コンフィグレーション] ページの [SSL を使用] チェック ボックスをチェックします。この方法の詳細については、『AquaLogic Service Bus Console の使い方』の「ビジネス サービス」を参照してください。

AquaLogic Service Bus では、JMS 接続プールおよび JMS 送り先 (キューまたはトピック) の JNDI エントリの両方に対するアクセス制御がサポートされています。これら 2 つのリソースのアクセス制御ポリシーはそれぞれ個別にコンフィグレーションできます。JMS 接続プールに対するアクセス制御がコンフィグレーションされている場合、AquaLogic Service Bus は JMS サーバへの接続を確立するときに認証を行う必要があります。JNDI エントリに対するアクセス制御がコンフィグレーションされている場合、AquaLogic Service Bus は JNDI ルックアップ中に認証を行う必要があります。これらのリソースにアクセスするときに認証で使用するサービス アカウントを指定する必要があります。

AquaLogic Service Bus は、ローカル JMS サーバまたは外部 JMS サーバと通信できます。

WebLogic JMS サーバおよび JNDI エントリに対してアクセス制御をコンフィグレーションする方法については、『WebLogic JMS のコンフィグレーションと管理』の「JMS システム リソースのコンフィグレーション」および『WebLogic リソースのセキュリティ』を参照してください。

JMS サーバへの接続を確立するときに認証を行うように AquaLogic Service Bus をコンフィグレーションするには、以下の手順を実行します。

  1. JMS サーバにユーザ名とパスワードを指定するために、AquaLogic Service Bus Console の [プロジェクト エクスプローラ] モジュールで JMS サーバのサービス アカウントを作成します。
  2. [セキュリティ コンフィグレーション] モジュールの [資格] セクションを使用して、JMS サービス アカウントのユーザ名とパスワードを指定します。
  3. 図 3-3 に示すように、ビジネス サービスの作成時または編集時、[JMS 転送コンフィグレーション] ページでこのサービス アカウントを JMS サービス アカウントとして指定します。

JMS キューまたはトピックの JNDI エントリのルックアップ中に認証を行うように AquaLogic Service Bus をコンフィグレーションするには、以下の手順を実行します。

  1. JNDI エントリ用のユーザ名とパスワードを指定するために、AquaLogic Service Bus Console の [プロジェクト エクスプローラ] モジュールで JNDI エントリのサービス アカウントを作成します。
  2. [セキュリティ コンフィグレーション] モジュールの [資格] セクションを使用して、JNDI サービス アカウントのユーザ名とパスワードを指定します。
  3. 以下の図に示すように、ビジネス サービスの作成時または編集時、[JMS 転送コンフィグレーション] ページでこのサービス アカウントを JNDI サービス アカウントとして指定します。
  4. 図 3-3 [JMS 転送コンフィグレーション] ページ

    [JMS 転送コンフィグレーション] ページ


     

サービス アカウントのコンフィグレーション方法の詳細については、『AquaLogic Service Bus Console の使い方』の「サービス アカウント」を参照してください。

警告 : サービス アカウントを発信 JMS 転送での認証に使用している場合、そのサービス アカウントに対する (つまり、ポリシーに対する) 変更がサーバ上で有効になるまで、最長で 60 秒かかることがあります。

警告 : デフォルトでは、WebLogic Server JMS は各送り先の ACL を 60 秒間隔でチェックします。このデフォルト時間を変更するか、JMS リソースに対して sendreceive、および getEnumeration アクションが実行されるたびに JMS リソースのセキュリティ チェックが行われるように設定できます。これを行うには、weblogic.jms.securityCheckInterval 属性を設定します。この属性の値を 0 に設定すると、JMS リソースに対して send、receive、および getEnumeration アクションが実行されるたびに、JMS リソースのセキュリティ チェックが行われます。

警告 : アプリケーションの保護の詳細については、『プロダクション環境の保護』の「プロダクション環境のセキュリティの確保」を参照してください。

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

電子メールまたは FTP 転送では、電子メール サーバまたは FTP サーバへの接続に必要なユーザ名とパスワードを使用したセキュリティがサポートされています。

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

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

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

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

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

メッセージ フローおよびサービス コールアウト アクションでの転送レベルのセキュリティ

転送レベルのセキュリティは、以下のプロキシ サービス パイプライン内部から使用できます。

 


メッセージレベルのセキュリティ (Web サービス セキュリティ)

この節の内容は以下のとおりです。

Web サービス セキュリティについて

Web サービス セキュリティ (WS-Security) は OASIS 標準の 1 つです。SOAP メッセージにメッセージレベルのセキュリティを組み込むための相互運用可能なメカニズムを定義しています。WS-Security は、メッセージの整合性と機密性をサポートします。また、SOAP エンベロープにセキュリティ トークンを含める拡張モデルや、SOAP エンベロープ内からセキュリティ トークンを参照するモデルも定義しています。WS-Security トークン プロファイルは、コアの WS-Security 仕様内での特定のトークン タイプの使用方法を指定しています。メッセージの整合性は、XML デジタル署名を使用することで確保されます。メッセージの機密性は、XML 暗号化を使用するとこで確保されます。WS-Security では、SOAP メッセージのどの部分をデジタル署名または暗号化するかを指定できます。AquaLogic Service Bus は、HTTP、HTTPS、および一方向 JMS による W サービス セキュリティをサポートします。AquaLogic Service Bus は、WS-Security バージョン 1.0 をサポートしています。WS-Security の詳細については、以下の URL にある「Web Service Security: SOAP Message Security 1.0 (WS-Security 2004)」を参照してください。

http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf

AquaLogic Service Bus では、以下の WS-Security トークン プロファイルがサポートされます。

メッセージレベルのセキュリティには、転送レベルのセキュリティにはない柔軟性があります。送信過程に 1 つまたは複数の仲介者がいる場合でも、SOAP メッセージを保護できます。セキュリティ対策がメッセージに組み込まれているため、ポイント ツー ポイントでもエンド ツー エンドでもメッセージを保護できます。メッセージのどの部分を署名または暗号化するかを指定する機能は、AquaLogic Service Bus でメッセージをルーティングする場合に便利な機能です。メッセージレベルのセキュリティにより、メッセージの経路全体にわたって必要な部分の情報を保護し、機密性を確保できます。

メッセージレベルのセキュリティは、Web Service Policy (WS-Policy) の指定に従ったセキュリティ ポリシー ステートメントを使用してコンフィグレーションします。WS-Policy ステートメントは、ビジネス サービスまたはプロキシ サービスにバインドされます。ポリシーをサービスにバインドするメカニズムを WS-PolicyAttachment と呼びます。このメカニズムには、WSDL ドキュメントにポリシー参照を追加することでポリシーをバインドする方法が記述されています。これらのポリシー参照は、WSDL ドキュメントに含まれるポリシーを参照する場合と、外部ポリシーへの URL の参照である場合があります。WSDL には、インラインまたは外部のポリシー添付を含む別の WSDL をインポートできます。WS-Policy の詳細については、「Web サービス ポリシー」を参照してください。

Web Services Security (WS-Security) をメッセージに適用すると、新しい SOAP ヘッダがメッセージ エンベロープに追加されます。新しいヘッダには、XML-DSIG デジタル署名、セキュリティ トークン、およびその他の構成要素が含まれています。これらのセキュリティ トークンには以下の用途があります。

受信側では、セキュアなエンベロープが消費されると暗号化操作が逆の順番で行われ、セキュリティ ヘッダが削除されます。次に、メッセージがポリシーに準拠しているかどうかが検証されます。たとえば、必要なメッセージ部分が署名または暗号化 (またはその両方) されているかどうか、また必要なトークンが必要なクレームと共に存在するかどうかが受信側で確認されます。

着信 Web サービス セキュリティ

この節の内容は以下のとおりです。

着信 Web サービス セキュリティについて

着信 WS-Security は、クライアント アプリケーションと AquaLogic Service Bus プロキシ サービスの間のメッセージに適用されます。クライアント アプリケーションと AquaLogic Service Bus の間の要求と応答の両方に適用されます。

前述のように、WS-Policy ステートメントを使用して着信メッセージレベルのセキュリティの詳細を指定します。WS-Policy ステートメントは、WSDL 内部にインラインで埋め込まれるか、または WSDL から参照されます。AquaLogic Service Bus には、「能動的仲介者」および「パススルー」という 2 種類の着信メッセージ セキュリティが用意されています。

注意 : SOAP-JMS の場合、WS-Security がサポートされているのは一方向のメッセージのみです。双方向 (要求/応答) のメッセージングではサポートされていません。

クライアント要求とプロキシ サービス応答

クライアントがプロキシ サービスに対して要求を行い、プロキシ サービスが要求に応答する場合、以下の 2 つのセキュリティ シナリオを使用できます。

警告 : 着信応答メッセージの暗号化 : プロキシ サービスの応答ポリシーで暗号化が指定されている場合、クライアントは要求で証明書をプロキシ サービスに送信する必要があります。プロキシ サービスは、クライアントの公開鍵を使用して応答を暗号化します。クライアント証明書は、プロキシ サービスの暗号化証明書とは異なる必要があります。クライアントを、プロキシ サービスと同じ暗号化資格を使用するようにコンフィグレーションすることはできません。

WS-Security のパススルー シナリオのコンフィグレーション方法

以下に、WS-Security のパススルー シナリオをコンフィグレーションする基本手順を示します。一部の手順は省略可能です。

  1. WS-Security 対応のビジネス サービスの WSDL を AquaLogic Service Bus WSDL リポジトリにインポートします。この WSDL には、Web サービス セキュリティ ポリシーが添付されている必要があります。ポリシーが WSDL 内に埋め込まれている場合や、WSDL に外部ポリシーへの参照が含まれている場合があります。
  2. WSDL に外部ポリシーへの参照が含まれる場合、参照されているポリシーを AquaLogic Service Bus WS-Policy リポジトリにインポートして WSDL の依存関係を解決します。詳細については、『AquaLogic Service Bus Console の使い方』の「WSDL」で「未解決の WSDL 参照の解決」を参照してください。
  3. 操作の要求ポリシーで暗号化が要求されている場合、暗号化証明書がポリシーに埋め込まれていることを確認する必要があります。埋め込まれていない場合、この WSDL からビジネス サービスを作成する際にエラー メッセージが表示されます。
  4. ビジネス サービスを作成する際、操作の要求ポリシーに、サポートされるトークン タイプの 1 つであるユーザ名トークンを使用した ID アサーションが指定されている場合、サービス アカウントを定義し、このサービス アカウントにユーザ名とパスワードを割り当てて、[サービス アカウント] フィールドで、Web サービス セキュリティ ユーザ名トークンにこのサービス アカウントを指定する必要があります。これらの操作方法については、『AquaLogic Service Bus Console の使い方』の「サービス アカウント」および「ビジネス サービス」を参照してください。
  5. 手順 4 でインポートした WSDL からビジネス サービスを作成します。この方法については、『AquaLogic Service Bus Console の使い方』の「ビジネス サービス」を参照してください。
  6. 前の手順で作成したビジネス サービスへルーティングするプロキシ サービスを作成します。通常、このプロキシ サービスは、ビジネス サービスと同じ WSDL から作成します。[Web サービス セキュリティ コンフィグレーション] ページで、[WS-Security ヘッダの処理] チェック ボックスが選択されていないことを確認します。詳細については、『AquaLogic Service Bus Console の使い方』の「プロシキ サービス」を参照してください。
  7. 要求の SOAP 本体が暗号化されている場合に呼び出される操作に基づくルーティングを行うには、プロキシ サービスの操作選択アルゴリズムとして、SOAP 本体のアルゴリズム以外を指定する必要があります。署名または暗号化されている WS-Security ヘッダまたは SOAP エンベロープのいずれの部分も、プロキシ サービスのパイプライン内のアクションによって変更されないようにします。デジタル署名されているクリアテキストのメッセージ部分を変更すると、ほとんどの場合そのデジタル署名は壊れ、後で検証できません。

能動的仲介者として WS-Security プロキシ サービスをコンフィグレーションする方法

以下に、Web サービス セキュリティのパススルー シナリオをコンフィグレーションする基本手順を示します。一部の手順は省略可能です。

  1. WS-Security 対応のプロキシ サービスの WSDL を AquaLogic Service Bus WSDL リポジトリにインポートします。この WSDL には、WS-Security ポリシーが添付されている必要があります。ポリシーが WSDL 内に埋め込まれている場合や、WSDL に外部ポリシーへの参照が含まれている場合があります。
  2. WSDL に外部ポリシーへの参照が含まれる場合、参照されているポリシーを AquaLogic Service Bus WS-Policy リポジトリにインポートして WSDL の依存関係を解決します。詳細については、『AquaLogic Service Bus Console の使い方』の「WSDL」で「未解決の WSDL 参照の解決」を参照してください。
  3. 操作の要求ポリシーで暗号化が要求されている場合、Confidentiality アサーションが抽象的なアサーションであることを確認する必要があります (つまり、証明書がポリシーに埋め込まれていてはなりません)。埋め込まれていない場合、この WSDL からプロキシ サービスを作成する際にエラー メッセージが表示されます。プロキシ サービス プロバイダをコンフィグレーションし、プロキシ サービス プロバイダに暗号化資格を割り当てる必要があります。この方法については、『AquaLogic Service Bus Console の使い方』の「セキュリティ コンフィグレーション」で「資格の追加」を参照してください。
  4. 操作の応答ポリシーでデジタル署名が要求されている場合、プロキシ サービス プロバイダをコンフィグレーションし、プロキシ サービス プロバイダにデジタル署名資格を割り当てる必要があります。この方法については、『AquaLogic Service Bus Console の使い方』の「セキュリティ コンフィグレーション」で「資格の追加」を参照してください。
  5. 操作の要求ポリシーでデジタル署名が要求されている場合、承認されたクライアント署名検証証明書を WebLogic Server 証明書レジストリに登録する必要があります。WebLogic Server 証明書レジストリは、WebLogic 証明書検索および検証フレームワークに含まれる証明書レジストリです (「証明書検索および検証フレームワークとは何ですか。」を参照)。メッセージの署名の証明書は、証明書レジストリを基に検証されます。この方法については、『WebLogic Server のセキュリティ』の「WebLogic セキュリティ プロバイダのコンフィグレーション」で「資格検索および検証フレームワークのコンフィグレーション」を参照してください。
  6. 操作の要求ポリシーで、パスワード ダイジェストを使用する WS-Security ユーザ名/パスワード トークンの認証が要求されている場合、パスワード ダイジェストを有効にする必要があります。詳細については、「WebLogic Server の前提条件」の「ドメイン全体の Web サービス セキュリティ コンフィグレーション」、「パスワード ダイジェスト」、および「ダイジェスト認証」を参照してください。
  7. 操作の要求ポリシーで WS-Security X.509 証明書トークンの認証が要求されている場合、WebLogic Server Administration Console で __SERVICE_BUS_INBOUND_WEB_SERVICE_SECURITY_MBEAN__ という名前の WebserviceSecurityMBeanUseX509ForIdentity プロパティを有効にする必要があります。詳細については、「WebLogic Server の前提条件」の「ドメイン全体の Web サービス セキュリティ コンフィグレーション」を参照してください。
  8. 手順 1 でインポートした WSDL からプロキシ サービスを作成します。プロキシ サービス プロバイダをコンフィグレーションした場合、AquaLogic Service Bus Console の全般的なコンフィグレーション ページで、そのサービス プロバイダを指定します。[Web サービス セキュリティ コンフィグレーション] ページで、[WS-Security ヘッダの処理] チェック ボックスをチェックします。詳細については、『AquaLogic Service Bus Console の使い方』の「プロシキ サービス」を参照してください。
  9. 操作の要求ポリシーで SAML トークンの使用が指定されている場合、このプロキシ サービスに SAML アサーティング パーティをコンフィグレーションする必要があります。詳細については、「SAML WS-Security トークンによる着信認証」を参照してください。

発信 Web サービス セキュリティ

この節の内容は以下のとおりです。

発信 Web サービス セキュリティについて

発信 WS-Security は、AquaLogic Service Bus プロキシ サービスとビジネス サービスの間のセキュリティを表します。ビジネス アプリケーションとプロキシ サービスの間の要求と応答の両方が含まれます。発信 WS-Security は、SOAP-HTTP または SOAP-JMS のビジネス サービスにのみ適用されます。ビジネス サービスの WSDL から (インラインまたは参照として) 添付された WS-Policy ステートメントを使用して、発信のメッセージレベルのセキュリティの詳細を指定します。

注意 : SOAP-JMS の場合、WS-Security がサポートされているのは一方向のメッセージのみです。双方向 (要求/応答) のメッセージングではサポートされていません。

警告 : バックエンド応答メッセージの暗号化 : ビジネス サービスの応答ポリシーで暗号化が指定されている場合、プロキシ サービスは要求で暗号化証明書をビジネス サービスに送信する必要があります。ビジネス サービスは、プロキシ サービスの公開鍵を使用して応答を暗号化します。プロキシ サービスの暗号化資格は、ビジネス サービスの暗号化資格とは異なる必要があります。

発信 Web サービス セキュリティのコンフィグレーション方法

この節では、発信 Web サービス セキュリティ シナリオをコンフィグレーションする基本手順を示します。一部の手順は省略可能です。

  1. WS-Policy ステートメントが (インラインまたは参照として) 添付された WSDL をビジネス サービスからインポートします。セキュリティ ポリシーが参照の場合は、参照を解決しておく必要があります。WSDL 参照の解決については、『AquaLogic Service Bus Console の使い方』の「WSDL」で「未解決の WSDL 参照の解決」を参照してください。
  2. WSDL をテンプレートとして使用して、AquaLogic Service Bus にビジネス サービスを定義します。ビジネス サービスの WS-Policy でユーザ名トークン認証が要求される場合、サービス アカウントを指定し、サービス アカウントにユーザ名とパスワードを割り当てる必要があります。このビジネス サービスにルーティングされるプロキシ サービスは、このサービス アカウントから WS-Security ユーザ名トークン認証のユーザ名とパスワードを取得します。
  3. ビジネス サービスの要求操作ポリシーでデジタル署名が指定されている場合、プロキシ サービス プロバイダをコンフィグレーションし、プロキシ サービス プロバイダにデジタル署名資格を割り当てる必要があります。
  4. ビジネス サービスの応答操作ポリシーで暗号化が指定されている (つまり、ビジネス サービスがプロキシの暗号化公開鍵で応答を暗号化する) 場合、プロキシ サービス プロバイダをコンフィグレーションし、プロキシ サービス プロバイダに暗号化資格を割り当てる必要があります。
  5. ビジネス サービスの要求操作ポリシーで ID アサーションが指定され、サポートされるトークンの 1 つが X.509 トークンである場合、プロキシ サービス プロバイダをコンフィグレーションし、プロキシ サービス プロバイダに WS-Security X.509 トークン資格を割り当てる必要があることがあります。これが必須であるか省略可能であるかは、ID ポリシーによって決まります。X.509 トークンが、サポートされている唯一のトークン タイプである場合、X.509 資格は必須です。ポリシーで X.509 トークン以外のトークン タイプも許容されている場合、プロキシ コンフィグレーションが少なくともその要件の 1 つを満たす必要があります。
  6. 操作の要求ポリシーで、パスワード ダイジェストを使用する WS-Security ユーザ名/パスワード トークンの認証が要求されている場合、パスワード ダイジェストを有効にする必要があります。詳細については、「WebLogic Server の前提条件」の「ドメイン全体の Web サービス セキュリティ コンフィグレーション」、「パスワード ダイジェスト」、および「ダイジェスト認証」を参照してください。
  7. プロキシ サービスで、ルート ノードと、ビジネス サービスに対する操作をコンフィグレーションします。
  8. WS-Policy で SAML アサーションの使用が指定されている場合、WebLogic SAML 資格マッピング プロバイダ V2 アサーティング パーティもコンフィグレーションする必要があります。詳細については、「SAML 資格マッピング」を参照してください。

注意 : ビジネス サービスの WS-Policy でメッセージの暗号化が要求される場合、暗号化証明書を持つビジネス サービスのポリシーが WSDL のインラインに埋め込まれている必要があります。さらに、AquaLogic Service Bus Console でビジネス サービスを定義するときに、この WSDL を参照する必要があります。ビジネス サービスが WebLogic Server 9.0 または 9.1 Web サービスであるか、AquaLogic Service Bus プロキシ サービスである場合、ブラウザに <service-url>?WSDL を指定すると WSDL を取得できます。WebLogic Server は、自動的に Web サービス ポリシーを WSDL のインラインに埋め込みます。また、ポリシーで要求の暗号化が指定されている場合は、暗号化証明書は自動的に WSDL に埋め込まれます。コード リスト 3-1 は、インライン ポリシーを持ち、暗号化証明書が埋め込まれた WSDL の例を示します。特に、ポリシー内の KeyInfo 要素と SecurityTokenReference に注目してください。BinarySecurityToken 要素の値は、base-64 でエンコードされた暗号化証明書です (この例では値が切り捨てられています)。証明書が PEM 形式の場合、PEM ファイル (PEM プレフィックスおよびサフィックスなし) のコンテンツは、証明書の base-64 エンコード表現です。暗号化証明書が JDK キーストアに格納されている場合、簡単に PEM ファイルにエクスポートできます。

コード リスト 3-1 インライン ポリシーを持ち、暗号化証明書が埋め込まれた WSDL の例

<definitions name="WssServiceDefinitions"
  targetNamespace="http://com.bea.alsb/tests/wss"
  xmlns="http://schemas.xmlsoap.org/wsdl/"
  xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
  xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
  ...
  >

  <wsp:UsingPolicy xmlns:n1="http://schemas.xmlsoap.org/wsdl/" n1:Required="true"/>

  <wsp:Policy wsu:Id="Encrypt.xml">
    <wssp:Confidentiality xmlns:wssp="http://www.bea.com/wls90/security/policy">
      <wssp:KeyWrappingAlgorithm URI="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
      <wssp:Target>
        <wssp:EncryptionAlgorithm URI="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/>
        <wssp:MessageParts Dialect="http://schemas.xmlsoap.org/2002/12/wsse#part">wsp:Body()</wssp:MessageParts>
      </wssp:Target>
      <wssp:KeyInfo>
        <wssp:SecurityToken TokenType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>
        <wssp:SecurityTokenReference>
          <wssp:Embedded>
            <wsse:BinarySecurityToken
                EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
                ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"
                xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
MIICfjCCAeegAwIBAgIQV/PDyj3...
            </wsse:BinarySecurityToken>
          </wssp:Embedded>
        </wssp:SecurityTokenReference>
      </wssp:KeyInfo>
    </wssp:Confidentiality>
  </wsp:Policy>

  <binding name="WssServiceSoapBinding" type="tns:WssService">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="getPurchaseOrder">
      <soap:operation soapAction="" style="document"/>
      <input>
        <soap:body parts="parameters" use="literal"/>
        <wsp:Policy>
          <wsp:PolicyReference URI="#Encrypt.xml"/>
        </wsp:Policy>
      </input>
      <output>
          <soap:body parts="parameters" use="literal"/>
        </output>
      </operation>
    </binding>

    ...

</definitions>

パイプラインでの発信 WS-Security の無効化

メッセージ コンテキストの security 要素の doOutBoundWSS プロパティは、発信 WS-Security を制御します。doOutboundWss が true の場合、プロキシ サービスは、ターゲット サービスの WS-Policy に従って発信メッセージに WS-Security を適用します (つまり、署名、暗号化、セキュリティ トークンの追加などを行います)。doOutboundWss が false の場合、プロキシ サービスは発信メッセージに WS-Security を適用しません。

WS-Security パススルー シナリオでは、プロキシ サービスは、クライアントによって WS-Security が適用された要求を受け取りますが、WS-Security ペイロードを処理しません。プロキシ サービスはこの要求をバックエンド サービスにルーティングするだけです。これは受動的仲介者のシナリオとも呼ばれます。プロキシ サービスが受動的仲介者である場合、保護された着信メッセージは AquaLogic Service Bus メッセージ フローで署名/暗号化されたままになります。したがって、発信時にメッセージを再署名または再暗号化する必要がありません。

ルート ノードは、ルーティングまたはパブリッシュ時にルーティングの送り先を設定するときにこのプロパティを自動的に初期化します。doOutboundWss のデフォルト値は、プロキシおよびターゲット サービスの両方の WS-Security コンフィグレーションに応じて次のように異なります。

doOutboundWss 要素の値は、ルーティング (またはパブリッシュ) の発信要求アクションでは変更できます。

 


Web サービス ポリシー

この節の内容は以下のとおりです。

Web サービス ポリシーについて

Web サービス ポリシー (WS-Policy) は、XML ベースの拡張フレームワークです。Web サービスのコンフィグレーションにドメイン固有のアサーションを拡張し、Web サービスの要件、期待される条件、および機能を指定します。AquaLogic Service Bus では、WS-Policy のセキュリティ ポリシー ステートメントを使用して、ビジネス サービスおよびプロキシ サービスのメッセージレベルのセキュリティをコンフィグレーションします。詳細については、『WebLogic Web サービス プログラマーズ ガイド』の「セキュリティのコンフィグレーション」を参照してください。

注意 : AquaLogic Service Bus でメッセージレベルのセキュリティをコンフィグレーションするために WS-Policy で使用するポリシー アサーションは、Web Services Security Policy Language (WS-SecurityPolicy) 仕様の 2002 年 12 月 18 日バージョンに記述されたアサーションに基づいています。これは、AquaLogic Service Bus のアサーションの構文や用途は、仕様と厳密に同じというわけではありませんが、仕様に記述されているアサーションと意味の上では同様であるということです。このリリースの AquaLogic Service Bus のアサーションは、仕様の最新版 (2005 年 7 月 13 日) をベースにしていません。AquaLogic Service Bus で使用されているポリシー アサーションは、WebLogic Server 9.0 および 9.1 の Web サービスで使用されているポリシー アサーションと完全に互換性があります。

WS-Policy ステートメントを使用すると、署名、暗号化、およびセキュリティ アルゴリズムと認証メカニズムの適用により、メッセージの整合性および機密性を確保し、メッセージ送信元の認証を確実に行うことができます。WS-Policy ステートメントには、セキュリティと、信頼性の高いメッセージング アサーションとの両方を含めることができます。現在のところ、AquaLogic Service Bus ではセキュリティ アサーションのみをサポートしており、信頼性の高いメッセージング アサーションはサポートしていません。

WS-Policy ステートメントは XML ドキュメントであり、WSDL ではインラインに埋め込むことも参照することもできます。WSDL には、インラインまたは参照でポリシーが添付された別の WSDL をインポートできます。異なる WSDL 構成要素に 1 つまたは複数の WS-Policy ステートメントを関連付けることができます。これについては、この章で後述します。

AquaLogic Service Bus では、WS-Policy に以下のネームスペースの wsu:Id 属性が必要です。

http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd 

この属性の値は、同じ AquaLogic Service Bus リポジトリ内にあるすべての WS-Policy ステートメントについてユニークである必要があります。WS-Policy スキーマでは、この属性は省略可能とされています。

コード リスト 3-2 は、SOAP 本体の暗号化を指定する、セキュリティ ポリシー アサーションを持つ WS-Policy を示します。

コード リスト 3-2 WS-Policy の例

<wsp:Policy
   xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
   xmlns:wssp="http://www.bea.com/wls90/security/policy"
   xmlns:wsu=
   "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
   wsu:Id="encryptWithX509Token">

   <wssp:Confidentiality>
      <wssp:KeyWrappingAlgorithm URI="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
      <wssp:Target>
         <wssp:EncryptionAlgorithm URI="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/>
         <wssp:MessageParts>wsp:GetBody(.)</wssp:MessageParts>
      </wssp:Target>
      <wssp:KeyInfo>
         <wssp:SecurityToken TokenType=
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>
      </wssp:KeyInfo>
   </wssp:Confidentiality>
</wsp:Policy>

AquaLogic Service Bus Console での WS-Policy の使用については、『AquaLogic Service Bus Console の使い方』の「WS-Policy」および「未解決の WSDL 参照の解決」を参照してください。

Web サービス ポリシーの添付

WS-Policy の添付では、ポリシーを Web サービスに割り当てるメカニズムを定義します。WebLogic Server 9.0 とそれに続く AquaLogic Service Bus では、WSDL ポリシーの添付が実装されます。ポリシー ステートメントを WSDL ドキュメントのインラインに埋め込むには、<wsp:Policy> 要素を <wsdl:definition> 要素の子として追加します。インライン ポリシーの参照には XML フラグメント識別子が使用されます。

参照 WS-Policy ステートメントを Web サービスと関連付けるには、以下の 1 つまたは複数のポリシー URI 属性またはポリシー参照要素を WSDL 要素に追加します (この種類は WSDL スキーマに応じて異なります)。

PolicyURIs または PolicyReference を使用して、1 つまたは複数のポリシーを参照できます。WSDL ドキュメントのローカル ポリシー (フラグメント URI) または外部ポリシーを参照できます。

WS-Policy の添付では、<wsp:UsingPolicy/> 要素も定義します。この要素は、WSDL にポリシー添付がある場合は常に <wsdl:definitions> 要素の子として存在する必要があります。プロキシ サービスとビジネス サービスでポリシー添付が確実に処理されるように、この要素を必須の拡張 (wsdl:required="true") として WSDL 内にマークすることができます。

警告 : WSDL に UsingPolicy タグがないと、AquaLogic Service Bus では WSDL にあるすべての WS-Policy が無視されます。

コード リスト 3-3 は、2 つのインライン ポリシーを持つ WSDL を示します。インライン ポリシー policy1 は、フラグメント識別子を使用した policyURIs 構文によって portType SampledoFoo 操作の入力部分から参照されます。もう 1 つのインライン ポリシー policy2 は、ネストされた PolicyReference 構文によってバインディング SampleBindingdoFoo 操作から参照されます。

コード リスト 3-3 インライン ポリシーへのポリシー参照を持つ WSDL

<definitions
   ...
   xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
   <wsp:UsingPolicy
      wsdl:Required="true"
      xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/>
<wsp:Policy wsu:Id="policy1">...</wsp:Policy>
<wsp:Policy wsu:Id="policy2">...</wsp:Policy>
...
   <portType name="Sample">
      <operation name="doFoo" parameterOrder="data">
         <input message="tns:foo" wsp:PolicyURIs="#policy1"/>
         <output message="tns:fooResponse"/>
      </operation>
   </portType>
   <binding name="SampleBinding" type="tns:Sample">
      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
      <operation name="doFoo">
         <wsp:Policy>
            <wsp:PolicyReference URI="#policy2"/>
         </wsp:Policy>
         <soap:operation
            soapAction="http://com.bea.samples/sample/doFoo" style="document"/>
         <input>
            <soap:body namespace="http://com.bea.samples/sample" use="literal"/>
         </input>
         <output>
            <soap:body namespace="http://com.bea.samples/sample" use="literal"/>
         </output>
      </operation>
   </binding>
   ...
</definitions>

有効ポリシー

WS-Policy ステートメントは、さまざまなポリシー サブジェクトと関連付けることができます。ポリシー サブジェクトは、サービス、エンドポイント、操作、メッセージなどのエンティティであり、これにポリシーを関連付けることができます。ポリシー スコープは、ポリシーが適用されるポリシー サブジェクトの集合です。たとえば、wsdl:binding/wsdl:operation/wsdl:input に添付されたポリシーが適用されるポリシー スコープは、入力メッセージ、操作、エンドポイント、およびサービスです。

特定のポリシー サブジェクトの有効ポリシーは、スコープにそのポリシー サブジェクトを含むすべてのポリシーを結合したものになります。つまり、ポリシー スコープは、ポリシーが適用されるポリシー サブジェクトの集合です。たとえば、バインディング操作の入力メッセージの有効ポリシーは、以下のポリシーを結合したものになります。

注意 : バインディングからプロキシ サービスを定義した場合、サービスまたはポートに添付された WS-Policy はすべて無視されます。

以下の図に示すように、WS-Policy ステートメントを使用してビジネス サービスまたはプロキシ サービスをコンフィグレーションした場合、AquaLogic Service Bus Console に有効ポリシーが表示されます (読み込み専用)。

図 3-4 有効ポリシー

有効ポリシー


 

用意されている WS-Policy ステートメント

WebLogic Server には、3 つの WS-Policy ステートメントが用意されています。ほとんどの場合、これらのポリシーを組み合わせれば、要件を満たすポリシーを作成できます。ただし、独自の WS-Policy を作成して AquaLogic Service Bus にインポートし、WSDL から参照することもできます。

用意されているポリシーを使用するには、policyURIs="policy:Auth.xml" のように URI を使用して任意の WSDL からポリシーを参照します。WebLogic Server には以下のポリシーが含まれています。

用意されているポリシーは BEA_HOME/weblogic90/server/lib/weblogic.jar にあります。BEA_HOME は BEA Products のインストール ディレクトリです。これらのポリシーの詳細については、『WebLogic Web サービス プログラマーズ ガイド』の「セキュリティのコンフィグレーション」で「メッセージレベルのセキュリティ コンフィグレーションでの WS-Policy ファイルの使用」を参照してください。

コード リスト 3-4 は、用意されている 2 つのポリシーへの参照を持つ WSDL を示します。

コード リスト 3-4 用意されているポリシーへのポリシー参照を持つ WSDL

<definitions
   ...
   xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
   <wsp:UsingPolicy
      wsdl:Required="true"
      xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/>
   ...
   <portType name="Sample">
      <operation name="doFoo" parameterOrder="data">
         <input message="tns:foo" wsp:PolicyURIs="#policy1"/>
         <output message="tns:fooResponse"/>
      </operation>
   </portType>
   <binding name="SampleBinding" type="tns:Sample">
      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
      <operation name="doFoo">
         <wsp:Policy>
            <wsp:PolicyReference URI="policy:Sign"/>
            <wsp:PolicyReference URI="policy:Auth"/>
         </wsp:Policy>
         ...
      </operation>
      </binding>
   ...
</definitions>

 


SAML のサポート

AquaLogic Service Bus では、オンラインのビジネス パートナ間で情報を交換するためのフレームワークを定義する Security Assertion Markup Language (SAML) がサポートされています。SAML の概要については、次の URL にある OASIS 技術概要を参照してください。

http://www.oasis-open.org/committees/download.php/6837/sstc-saml-tech-overview-1.1-cd.pdf

SAML 仕様の完全なドキュメント セットは、次の URL にあります。

http://www.oasis-open.org/committees/download.php/3400/oasis-sstc-saml-1.1-pdf-xsd.zip

この節の内容は以下のとおりです。

ID の伝播

AquaLogic Service Bus は、実装技術として SAML を使用し、ID の伝播をサポートします。ID の伝播により、AquaLogic Service Bus クライアントの ID を、プロキシ サービスがルーティングする先のビジネス サービスへ運ぶセキュアな通路が規定されます。ID は、SOAP メッセージに含まれる WS-Security セキュリティ ヘッダ内の SAML トークンによって伝播されます。次の図は、ID の伝播をグラフィカルに表現しています。

図 3-5 ID の伝播

ID の伝播


 

パススルーでの ID の伝播

クライアント要求に、クライアントをバックエンド サービスに対して認証する SAML トークンが含まれています。メッセージは、AquaLogic Service Bus プロキシ サービスによってルーティングされます。ただし、プロキシ サービスでの WS-Security 処理は無効です。

このようなタイプの ID の伝播は、以下を前提にしています。

SAML 資格マッピング

クライアントは、サポートされている認証メカニズムの 1 つによって AquaLogic Service Bus に対する認証を行い、プロキシ サービスはクライアント ID をバックエンド サービスへ伝播します。AquaLogic Service Bus はアサーティング パーティとして動作します。以下の認証メカニズムが使用される可能性があります。

発信要求で、プロキシ サービスは、バックエンド サービスへのメッセージ内の WS-Security ヘッダに SAML トークンを含めることで、クライアントの代わりに SAML アサーションを生成します。バックエンド サービスは、リライイング パーティとして動作し、AquaLogic Service Bus との信頼関係が必要です。バックエンド サービスは、WS-Security ヘッダを処理する際に、SAML アサーションを検証します。SAML アサーションの ID に対してセキュリティ コンテキストが作成され、Web サービスはこのセキュリティ コンテキストで呼び出されます。

注意 : ターゲット URL は通常、ビジネス サービスの最初のアドレスの絶対 URL です。ただし、プロキシ サービスが動的ルーティングを行う場合、$outboundURI 要素を指定することで、ターゲット URL はメッセージ コンテキストで指定された動的アドレスになります。アサーションに署名する場合、証明書をコンフィグレーションする必要があります。詳細については、『WebLogic Server のセキュリティ』の「SAML 資格マッピング プロバイダのコンフィグレーション」を参照してください。

注意 : クライアント要求に WS-Security セキュリティ ヘッダが含まれる場合、プロキシ サービスはメッセージの着信側でこのヘッダを処理する必要があります。これは、WebLogic Server WS-Security ランタイムが、1 つの SOAP エンベロープ内に複数の WS-Security ヘッダがあるケースや既存のセキュリティ ヘッダへのセキュリティ トークンの追加をサポートしないためです。

このようなタイプの ID の伝播は、以下を前提にしています。

SAML WS-Security トークンによる着信認証

クライアント要求は、WS-Security SAML トークン プロファイルを使用してプロキシ サービスに対してクライアントを認証します。クライアント要求は WS-Security ヘッダに SAML トークンを含め、プロキシ サービスは、要求のセキュリティ ヘッダを処理する際にクライアント ID のアサーションを行います。このシナリオは、能動的仲介者のシナリオです。この点で、パススルーでの ID の伝播とは異なります。

このようなタイプの ID の伝播は、以下を前提にしています。

能動的仲介プロキシ サービスに SAML を指定する WS-Policy がある場合、WebLogic Server Administration Console を使用して、SAML アサーティング パーティに WebLogic SAML ID アサーション プロバイダ V2 をコンフィグレーションします。WS-Policy からの確認メソッドは、SAML アサーティング パーティの SAML プロファイルと一致する必要があります。詳細については、『WebLogic Server のセキュリティ』の「SAML ID アサーション プロバイダのコンフィグレーション」を参照してください。アサーティング パーティのターゲット URL は、プロキシの相対 URL であり、プロトコルとホストの情報は含まれません。アサーションに署名する場合は、証明書を ID アサーション プロバイダのレジストリに追加します。

SAML Web サービス セキュリティのトラブルシューティング

質問 : 着信転送 ID を送り先のビジネス サービスに伝播しようとしていますが、何度試しても「Unable to add security token for identity」というエラーが発生します。これはどういう意味ですか。

回答 : このエラーの原因はさまざまです。通常は、以下のいずれかの問題によります。

質問 : SAML holder-of-key を使用して着信転送 ID を送り先のビジネス サービスに伝播しようとしていますが、何度試しても「Failure to add signature」というエラーが発生します。これはどういう意味ですか。

回答 : このエラーの原因はさまざまですが、一般的にはビジネス サービスのプロキシ サービス プロバイダに資格がコンフィグレーションされていないことがあげられます。AquaLogic Service Bus は、発信 holder-of-key アサーションを生成するときに、通常はメッセージ コンテンツに対するデジタル署名も生成します。これによって、受信側で、メッセージが特定のユーザから送信されていることを検証するだけでなく、メッセージが改ざんされていないことも検証できます。署名を生成するには、ビジネス サービスに、デジタル署名資格のあるプロキシ サービス プロバイダが関連付けられている必要があります。資格のコンフィグレーションの詳細については、『AquaLogic Service Bus Console の使い方』の「セキュリティ コンフィグレーション」で「資格の追加」を参照してください。

質問 : SAML ID トークンを受信する能動的仲介プロキシ サービスをコンフィグレーションしようとしていますが、何度試しても「The SAML token is not valid」というエラーが発生します。このエラーはどのように修正できますか。

回答 : これは通常、プロキシに、SAML ID アサーション プロバイダまたは SAML ID アサーション プロバイダ アサーティング パーティがコンフィグレーションされていないことが原因です。プロキシ サービスが能動的仲介モードで SAML アサーションを受け取るには、SAML ID アサーション プロバイダがコンフィグレーションされている必要があります。詳細については、『WebLogic Server のセキュリティ』の「SAML ID アサーション プロバイダのコンフィグレーション」を参照してください。

 


アクセス制御

この節の内容は以下のとおりです。

アクセス制御について

アクセス制御によって、AquaLogic Service Bus のリソースにアクセスするユーザを決定します。AquaLogic Service Bus では、WebLogic Server のセキュリティ レルムに基づいてリソースを保護します。各セキュリティ レルムは、コンフィグレーションされたセキュリティ プロバイダ、ユーザ、グループ、セキュリティ ロール、および (アクセス制御) セキュリティ ポリシーの集合から成ります。ユーザがレルムに属するリソースにアクセスするには、セキュリティ ロールが割り当てられており、そのレルムに定義されている必要があります。ユーザが AquaLogic Service Bus リソースへのアクセスを試みると、WebLogic Server が関連するセキュリティ レルムとセキュリティ ポリシーをチェックして、ユーザに割り当てられているセキュリティ ロールを確認し、ユーザを認証および認可します。

注意 : AquaLogic Service Bus Console でセキュリティ ポリシーの定義またはセキュリティ ロールの編集を行うことができるのは、WebLogic Server 管理者だけです。

AquaLogic Service Bus Console および MBean へのアクセスは、組み込みのロールベース アクセス制御セキュリティ ポリシーで保護します。これらのセキュリティ ポリシーは WS-Policy ステートメントではありません。このリリースでは MBean のアクセス制御をコンフィグレーションできません。メッセージ フローを制御する場合も、プロキシ サービスに対してセキュリティ ポリシーをコンフィグレーションします。詳細については、「プロキシ サービスのアクセス制御のコンフィグレーション」を参照してください。

AquaLogic Service Bus Console には、ユーザ、グループ、およびセキュリティ ロールを表示およびコンフィグレーションするための [セキュリティ コンフィグレーション] モジュールが含まれています。また、AquaLogic Service Bus Console では資格の表示とコンフィグレーションもできます。セキュリティ ポリシーは WebLogic Server Administration Console でコンフィグレーションします。

警告 : AquaLogic Service Bus Console の [セキュリティ コンフィグレーション] モジュール内で変更を行う前に、コンフィグレーションをアクティブにする必要があります。セッションをアクティブ化する方法については、『AquaLogic Service Bus Console の使い方』の「Change Center の使用」を参照してください。

ユーザ

ユーザは、セキュリティ レルムで認証可能なエンティティです。ユーザになれるのは、アプリケーションのエンドユーザなどの人、クライアント アプリケーションなどのソフトウェア エンティティ、または WebLogic Server の他のインスタンスです。認証の結果として、ユーザには ID つまりプリンシパルが割り当てられます。各ユーザに、セキュリティ レルム内でユニークな ID が与えられます。ユーザは、セキュリティ ロールに関連付けられたグループに入れることも、セキュリティ ロールに直接関連付けることもできます。

グループ

ユーザをグループ化すると、簡単に管理できます。グループは論理的に整理されたユーザの集合であり、一般に何らかの共通点を持ちます。多数のユーザを個別に管理するよりも、グループを管理する方が効率的です。たとえば、管理者はユーザをグループに所属させ、グループにセキュリティ ロールを割り当ててから、そのセキュリティ ロールをセキュリティ ポリシーを介して WebLogic リソースに関連付けることで、複数のユーザのパーミッションを一度に指定できます。すべてのユーザ名とグループ名はセキュリティ レルム内でユニークでなければなりません。

AquaLogic Service Bus には、表 3-1 に示すように、事前定義済みのグループがあります。

表 3-1 AquaLogic Service Bus のグループ

プロパティ

説明

IntegrationAdministrators

すべての AquaLogic Service Bus リソースに対するあらゆるアクセス権を持つが、ユーザ、グループ、ロール、資格、アクセス制御ポリシーの作成、編集、または削除はできない。

IntegrationDeployers

すべての AquaLogic Service Bus リソースに対するあらゆるアクセス権を持つが、ユーザ、グループ、ロール、資格、アクセス制御ポリシーの作成、編集、または削除はできない。

IntegrationMonitors

すべての AquaLogic Service Bus リソースに対する読み込みアクセス権がある。

IntegrationOperators

このグループの特権は次のとおり。

  • すべての AquaLogic Service Bus リソースに対する読み込みアクセス権がある。

  • アラート ルールを作成、表示、編集、および削除できるアクセス権がある。

  • セッションを管理するためのアクセス権がある (セッションの作成、コミット、破棄、および取り消しを含む)。

Administrators

すべての AquaLogic Service Bus オブジェクトおよび機能に対するあらゆるアクセス権がある。

Deployers

すべてのオブジェクトに対する読み込みアクセス権がある。リソース、サービス、プロキシ サービス プロバイダ、またはプロジェクトを作成、削除、編集、インポート、エクスポートできる。

Monitors

すべてのオブジェクトに対する読み込みアクセス権がある。任意のリソース、サービス、プロキシ サービス プロバイダ、またはプロジェクトをエクスポートできる。

Operators

すべてのオブジェクトを読み込み、エクスポートできるアクセス権がある。アラートのコンフィグレーション、メトリック コレクションの有効/無効の切り替え、およびサービスの停止と再開ができる。


 

セキュリティ ロール

前述のように、AquaLogic Service Bus では、WebLogic Security フレームワークを使用したロールベースの認可がサポートされています。認可では、リソースに対して特定のアクションを実行するためのパーミッションと権利がエンティティに与えられます。ロールベースの認可の場合、リソースにアクセスする権限のあるロールはセキュリティ ポリシーで定義されます。

グループは管理者が割り当てる静的な ID ですが、セキュリティ ロール内のメンバシップはユーザ名、グループ メンバシップ、時刻などに基づき動的に計算されます。この点がグループとセキュリティ ロールの違いです。セキュリティ ロールは個々のユーザまたはグループに付与できます。

AquaLogic Service Bus には、表 3-2 に示すように、特定の管理特権とモニタ特権に関連付けられているロールが組み込まれています。

表 3-2 AquaLogic Service Bus のセキュリティ ロール

タイプ

名前

説明

IA

Integration Administrator

すべての AquaLogic Service Bus リソースに対するあらゆるアクセス権を持つが、ユーザ、グループ、ロール、資格、アクセス制御ポリシーの作成、編集、または削除はできない。

ID

Integration Deployer

すべての AquaLogic Service Bus リソースに対するあらゆるアクセス権を持つが、ユーザ、グループ、ロール、資格、アクセス制御ポリシーの作成、編集、または削除はできない。

IM

Integration Monitor

すべての AquaLogic Service Bus リソースに対する読み込みアクセス権がある。

IO

Integration Operator

このグループの特権は次のとおり。

  • すべての AquaLogic Service Bus リソースに対する読み込みアクセス権がある。

  • アラート ルールを作成、表示、編集、および削除できるアクセス権がある。

  • セッションを管理するためのアクセス権がある (セッションの作成、コミット、破棄、および取り消しを含む)。


 

ユーザおよびグループのコンフィグレーション方法については、『AquaLogic Service Bus Console の使い方』の「セキュリティ コンフィグレーション」を参照してください。

セキュリティ ロールの詳細については、『WebLogic リソースのセキュリティ』の「ユーザ、グループ、セキュリティ ロール」を参照してください。

AquaLogic Service Bus Console でのロールベースのアクセス権

表 3-4 に、各種ロールのユーザが Console モジュールで実行できるアクションの一覧を示します。

表 3-3 AquaLogic Service Bus のロールとタイプ

ロール

タイプ

Integration Administrator

IA

Integration Deployer

ID

Integration Monitor

IM

Integration Operator

IO


 

注意 : この表の「ロール タイプ」カラムにあるチェック マーク () は、そのアクションの実行パーミッションがあることを示しています。

この表の [セキュリティ コンフィグレーション] のセクションで、ユーザ、グループ、ロールの作成、編集、削除と、資格およびアクセス制御ポリシーの作成、編集、表示、削除にチェック マークがありません。これは、これらの機能を使用できるのが WLS の Administrators のみであるためです。WLS の Administrator ロールは、IntegrationAdministrator ロールとは異なります。

表 3-4 AquaLogic Service Bus Console でのロールベースのアクセス権

Console のモジュール 

アクション

ロール タイプ

IA

IO

IM

ID

モニタのダッシュボード






サービス

統計の表示

アラート

アラートの表示

メッセージ レポート

メッセージ レポートの表示







レポート






メッセージ レポート

メッセージ レポートの表示







リソース ブラウザ






サービス






ビジネス サービスの定義

サービスの作成




サービスの表示


サービスの編集




サービスの削除



プロキシ サービスの定義

プロキシ サービスの作成




プロキシ サービスの表示


プロキシ サービスの編集




プロキシ サービスの削除



アラート ルール

アラート ルールの作成



アラート ルールの表示


アラート ルールの編集



アラート ルールの削除


操作コンフィグレーション

表示


作成/更新/削除


WS-Policy

WS-Policy の作成




WS-Policy の表示


WS-Policy の編集




WS-Policy の削除



WSDL

WSDL の作成




WSDL の表示


WSDL の編集




WSDL の削除



XML スキーマ

XML スキーマの作成




XML スキーマの表示


XML スキーマの編集




XML スキーマの削除



XQuery トランスフォーメーション

XQuery の作成




XQuery の表示


XQuery の編集




XQuery の削除



XSLT

XSLT の作成




XSLT の表示


XSLT の編集




XSLT の削除



MFL

MFL の作成




MFL の表示


MFL の編集




MFL の削除



プロキシ サービス プロバイダ

プロキシ サービス プロバイダの作成




プロキシ サービス プロバイダの表示


プロキシ サービス プロバイダの編集




プロキシ サービス プロバイダの削除









プロジェクト エクスプローラ






プロジェクト

プロジェクトの作成




プロジェクトの表示


プロジェクトの編集




プロジェクトの削除



フォルダ

フォルダの作成




フォルダの表示


フォルダの編集




フォルダの削除









セキュリティ コンフィグレーション






ユーザ

ユーザの作成






ユーザの表示


ユーザの編集






ユーザの削除





グループ

グループの作成






グループの表示


グループの編集






グループの削除





ロール

ロールの作成






ロールの表示


ロールの編集






ロールの削除





資格

資格の作成






資格の表示






資格の編集






資格の削除





アクセス制御

ポリシーの作成






ポリシーの表示






ポリシーの編集






ポリシーの削除











システムの管理






コンフィグレーション リポジトリ

リソースのインポート




リソースのエクスポート

グローバル設定

状態の表示


状態の編集


トレース コンフィグレーション

トレースの表示


トレースの編集


UDDI

UDDI コンフィグレーション




UDDI からインポート




UDDI にパブリッシュ









Change Center






セッションの管理

セッションの開始



セッションの表示



タスクの取り消し



セッションの破棄



セッションのコミット



 

資格

AquaLogic Service Bus がクライアントおよびビジネス サービスと安全に対話するために必要な資格を指定して、AquaLogic Service Bus をコンフィグレーションできます。AquaLogic Service Bus の資格は WebLogic Security フレームワークを基盤に構築されています。資格を設定するには、AquaLogic Service Bus Console の [セキュリティ コンフィグレーション] モジュールの [資格] セクションを使用します。Console を使用して資格をコンフィグレーションする方法については、『AquaLogic Service Bus Console の使い方』の「セキュリティ コンフィグレーション」を参照してください。AquaLogic Service Bus では以下の資格がサポートされています。

この節の内容は以下のとおりです。

サービス アカウント

サービス アカウントとは、ユーザ名とパスワードのエリアス リソースです。AquaLogic Service Bus では、ビジネス サービスやサーバに接続するときに、サービス アカウントを使用して認証が行われます。たとえば、ビジネス サービスの FTP 転送レベルのセキュリティをコンフィグレーションするときには、FTP サーバの認証を受けるためにユーザ名とパスワードを提示する必要がある場合があります。

サービス アカウントは、ビジネス サービスの転送プロトコルをコンフィグレーションするときに使用します。発信 Web サービス セキュリティ ユーザ名トークン認証にも使用されます。ビジネス サービスをコンフィグレーションする前に、サービス アカウントを定義する必要があります。複数の目的に対して同じサービス アカウントを使用できます。サービス アカウントを定義したら、AquaLogic Service Bus Console の [セキュリティ コンフィグレーション] モジュールの [資格] セクションを使用して、サービス アカウントに関連するユーザ名とパスワードを指定できます。詳細については、「資格のコンフィグレーション」を参照してください。

サービス アカウントの作成方法については、『AquaLogic Service Bus Console の使い方』の「サービス アカウント」を参照してください。

プロキシ サービス プロバイダ

セキュリティ シナリオによっては、PKI キーペア資格を使用する必要があります。キーペア資格は、プライベート キーと証明書のペアです。証明書には、プライベート キーに対応する公開鍵が含まれます。プロキシ サービスが PKI キーペアを使用する必要がある場合は、必ずプロキシにプロキシ サービスを割り当てる必要があります。プロキシ サービス プロバイダを使用する前に、セキュリティ レルムに PKI 資格マッパーをコンフィグレーションする必要があります。PKI 資格マッピング プロバイダは、ALSB 2.1 ドメインにあらかじめコンフィグレーションされていません。詳細については、『WebLogic Server のセキュリティ』の「WebLogic セキュリティ プロバイダのコンフィグレーション」で「PKI 資格マッピング プロバイダのコンフィグレーション」を参照してください。

警告 : PKI 資格マッパーなどのセキュリティ プロバイダを追加または削除した後、セキュリティの変更を有効にするには、サーバを再起動する必要があります。

プロキシ サービスは、必要に応じてプロキシ サービス プロバイダから PKI 資格を取得します。たとえば、クライアント証明書認証を使用して HTTPS 接続を開く場合、プロキシ サービスはプロキシ サービス プロバイダから SSL クライアント キー ペアを取得します。複数のプロキシ サービスが同じプロキシ サービス プロバイダを使用することもできます。用途ごとに異なる PKI キーペア資格をプロキシ サービス プロバイダに割り当てることができます。プロキシ サービス プロバイダは、以下の用途のために資格を提供します。

プロキシ サービスのセキュリティをコンフィグレーションする前に、まずプロキシ サービス プロバイダを作成する必要があります。作成すると、プロキシ サービスのコンフィグレーション時にプロキシ サービス プロバイダを指定できるようになります。AquaLogic Service Bus Console でプロキシ サービスをアクティブにしたら、[セキュリティ コンフィグレーション] モジュールの [資格] セクションを使用して PKI 資格をプロキシ サービス プロバイダと関連付けることができます。詳細については、「資格のコンフィグレーション」を参照してください。

プロキシ サービス プロバイダの作成方法については、『AquaLogic Service Bus Console の使い方』の「プロキシ サービス プロバイダ」を参照してください。資格マッピング プロバイダについては、『WebLogic Security について』の「セキュリティ プロバイダ」と、「WebLogic Server の前提条件」を参照してください。

資格のコンフィグレーション

資格はセキュリティ プロバイダに保持され、AquaLogic Service Bus のセッションによって制御されるリポジトリには保持されません。つまり資格は、関連するサービス アカウントまたはプロキシ サービス プロバイダが作成されたセッションに依存しません。以下のガイドラインに従ってください。

この節で説明した手順の実行方法については、『AquaLogic Service Bus Console の使い方』の「サービス アカウント」、「プロキシ サービス プロバイダ」、および「Change Center の使用」を参照してください。

プロキシ サービスのアクセス制御のコンフィグレーション

HTTP と HTTPS プロキシ サービスに転送レベルのアクセス制御をコンフィグレーションできます。WS-Security の能動的仲介プロキシ サービスには、メッセージレベルのアクセス制御もコンフィグレーションできます。アクセス制御をコンフィグレーションするには、プロキシ サービスに転送レベルまたはメッセージレベルのいずれかで (または両方で) アクセス制御ポリシーを割り当てる必要があります。

すべてのプロキシ サービスのデフォルトの転送レベルおよびメッセージレベルのアクセス制御ポリシーでは、すべての要求へのアクセスが許可されます。プロキシ サービスにアクセス制御ポリシーを割り当てて、プロキシ サービスを保護する必要があります。

注意 : JMS、FTP、電子メール、またはファイル転送のプロキシ サービスでは、アクセス制御はサポートされません。これらのプロトコルには、基になるリソースを保護するための、プロトコルに依存しないメカニズムがあります。

アクセス制御ポリシーは、WebLogic リソースと、1 つまたは複数のユーザ、グループ、またはセキュリティ ロールの間の関係を表します。セキュリティ ポリシーは、権限のないアクセスから WebLogic リソースを保護します。アクセス制御ポリシーは、特定のリソースに割り当てられてたブール式です。リソースへのアクセスが試行されると、式が評価されます。式は、ロール (オペレータ) とアクセス時間 (午前 8 時から午後 5 時) など、ブール演算子で結合された 1 つまたは複数の条件で構成されます。アクセス制御ポリシーの詳細については、『WebLogic Security について』の「セキュリティの基礎概念」および『WebLogic リソースのセキュリティ』の「セキュリティ ポリシーの構成要素 : ポリシー条件、式、および文」を参照してください。

AquaLogic Service Bus Console で、転送レベルとメッセージレベルのアクセス制御ポリシーをコンフィグレーションします。また、WebLogic Server Administration Console で、WebLogic リソースにアクセス制御ポリシーを割り当てることができます。詳細については、『WebLogic リソースのセキュリティ』の「セキュリティ ポリシー」および WebLogic Server の『Administration Console オンライン ヘルプ』の「セキュリティ ポリシーの管理」を参照してください。

アクセス制御ポリシーは認可プロバイダに保持され、AquaLogic Service Bus のセッションによって制御されるリポジトリには保持されません。そのため、プロキシ サービスのアクセス制御ポリシーは、対応するプロキシ サービスが作成されたセッションに依存しません。プロキシ サービスを変更する場合、以下のガイドラインに従ってください。

プロキシ サービスを削除する場合は、以下の手順を実行します。

  1. セッションを作成していない場合は作成します。
  2. プロキシ URL に割り当てられている転送セキュリティ ポリシーをすべて削除します。
  3. プロキシおよびその操作に割り当てられているサービス セキュリティ ポリシーをすべて削除します。
  4. プロキシ サービスを削除します。
  5. セッションをアクティブ化します。

プロキシ サービスを移動または名前変更する場合は、以下の手順を実行します。

  1. セッションを作成していない場合は作成します。
  2. プロキシ サービスおよびその操作に割り当てられているサービス セキュリティ ポリシーをすべて削除します。
  3. プロキシ サービスを移動または名前変更します。
  4. セッションをアクティブにします。プロキシ サービスが移動または名前変更されます。
  5. 名前変更または移動したプロキシ サービスを指定し、手順 2 で削除したサービス セキュリティ ポリシーを再度割り当てます。

プロキシ サービス URL を変更する場合は、以下の手順を実行します。

  1. セッションを作成していない場合は作成します。
  2. プロキシ サービスの URL に割り当てられている転送セキュリティ ポリシーをすべて削除します。
  3. プロキシ サービスの URL を編集します。
  4. セッションをアクティブにします。
  5. 手順 2 で削除した転送セキュリティ ポリシーを再度割り当てます。

プロキシ サービスの操作を名前変更する場合は、以下の手順を実行します。

  1. セッションを作成していない場合は作成します。
  2. 名前変更する操作に割り当てられているサービス セキュリティ ポリシーをすべて削除します。
  3. 操作名を変更します。
  4. セッションをアクティブにします。
  5. 手順 2 で削除したサービス セキュリティ ポリシーを新しい操作に再度割り当てます。

 


プロダクション環境用の AquaLogic Service Bus のセキュリティ

AquaLogic Service Bus インストールをプロダクション用に準備する場合、セキュリティ要件に特に注意する必要があります。ここでは、必要な作業のいくつかを簡単に説明します。

 

ナビゲーション バーのスキップ  ページの先頭 前 次