セキュリティ ガイド

     前  次    目次     
ここから内容

認証での SAML の使用

Security Assertion Markup Language (SAML) は、オンライン ビジネス パートナ間で認証および認可情報を交換するためのフレームワークを定義します。Oracle Service Bus では、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

 


SAML 資格マッピングのコンフィグレーション : 主な手順

ビジネス サービスで SAML トークンが要求されるが、クライアントから提供されない場合は、クライアントの ID を SAML トークンにマップするようにプロキシ サービスをコンフィグレーションできます。

この方法では、ビジネス サービスが、SAML トークンを使用した認証を要求する WS-Policy ステートメントを持つ Web サービスであることが必要です。

SAML 資格マッピングをコンフィグレーションするには

  1. Oracle Service Bus およびビジネス サービスで表すシステム (メッセージ コンシューマ) 間の信頼関係をコンフィグレーションします。
  2. メッセージ コンシューマはリライイング パーティとして動作し、Oracle Service Bus との信頼関係を持つ必要があります。

    『WebLogic Server のセキュリティ』の「ドメイン間のセキュリティ サポートに関する重要事項」を参照してください。

  3. WebLogic SAML ID アサーション プロバイダ V2 と WebLogic SAML 資格マッピング プロバイダ V2 を各自のセキュリティ ドメインでコンフィグレーションします。『WebLogic Server のセキュリティ』の「SAML ID アサーション プロバイダのコンフィグレーション」と「SAML 資格マッピング プロバイダのコンフィグレーション」を参照してください
  4. 次のいずれかの方法を使用してクライアントを認証するようにプロキシ サービスをコンフィグレーションします。
    • HTTP または HTTPS 基本認証 (クライアントが要求内でユーザ名とパスワードを提供)
    • HTTPS クライアント証明書
    • メッセージレベルの認証 (サポートされるトークン プロファイルのいずれかを使用)
    • クライアント要求に WS-Security セキュリティ ヘッダが含まれる場合は、メッセージのプロキシ サービス側でこのヘッダを処理するようにプロキシ サービスをコンフィグレーションする必要があります。Oracle Service Bus では、すでに WS-Security ヘッダが含まれる SOAP エンベロープに SAML ヘッダ (または他の WS-Security ヘッダ) を追加したり、既存のセキュリティ ヘッダに SAML (または他の) セキュリティ トークンを追加したりすることはできません。

    • サードパーティ認証
  5. 発信要求の WS-Security ヘッダに SAML トークンを含めるようにプロキシ サービスをコンフィグレーションします。
  6. 注意 : 動的ルーティング用にプロキシ サービスをコンフィグレーションすると、メッセージ コンテキストによって要求の対象 URL が決定されます。アサーションが署名されている場合は、証明書をコンフィグレーションする必要があります。詳細については、『WebLogic Server のセキュリティ』の「SAML 資格マッピング プロバイダのコンフィグレーション」を参照してください。

プロキシ サービスは、発信要求を送信するときに、クライアントに代わって SAML アサーションを生成します。ビジネス サービスは、WS-Security ヘッダを処理するときに、SAML アサーションの検証、その SAML アサーションの ID に対するセキュリティ コンテキストの作成、およびこのセキュリティ コンテキストを使用した Web サービスの呼び出しを行います。

 


SAML パススルー ID の伝播のコンフィグレーション

クライアントがパススルー プロキシ サービスへの SAML トークンを提供する場合は、クライアントの SAML トークンをビジネス サービスに伝播できます。

この方法では、ビジネス サービスが、SAML トークンを使用した認証を要求する WS-Policy ステートメントを持つ Web サービスであることが必要です。

SAML パススルー ID の伝播をコンフィグレーションするには

  1. Oracle Service Bus とバックエンド サービス間の信頼関係をコンフィグレーションします。
  2. 『WebLogic Server のセキュリティ』の「ドメイン間のセキュリティ サポートに関する重要事項」を参照してください。

  3. バックエンド サービスが SAML のリライイング パーティとして動作します。
  4. WebLogic Server Administration Console オンライン ヘルプの「SAML リライイング パーティの作成」を参照してください

  5. パススルー プロキシ サービスをコンフィグレーションします。
  6. パススルー プロキシ サービスの作成 : 主な手順」を参照してください。

  7. SAML トークンを使用した認証を要求する WS-Policy ステートメントで SOAP-HTTP または SOAP-JMS ビジネス サービスをコンフィグレーションします。
  8. ビジネス サービスのメッセージレベルのセキュリティのコンフィグレーション : 主な手順」を参照してください。

 


プロキシ サービス要求での SAML トークンの認証

アクティブな仲介プロキシ サービスへの SAML トークンがクライアントから提供される場合は、クライアントの ID アサーションを行うようにプロキシ サービスをコンフィグレーションできます。

SAML トークンを使用してクライアントを認証するようにプロキシ サービスをコンフィグレーションするには

  1. クライアント ソフトウェアと Oracle Service Bus 間の信頼関係をコンフィグレーションします。
  2. Oracle Service Bus は、クライアントによって、またはクライアントの代わりに発行された SAML アサーションを信頼します。

    『WebLogic Server のセキュリティ』の「ドメイン間のセキュリティ サポートに関する重要事項」を参照してください。

  3. クライアントの SAML 認証局によって発行されたトークンを検証するように、WebLogic SAML ID アサーション プロバイダ V2 をコンフィグレーションします。『WebLogic Server のセキュリティ』の「SAML ID アサーション プロバイダのコンフィグレーション」を参照してください
  4. ID アサーション プロバイダのコンフィグレーション時は、次の要件に注意してください。

    • WS-Policy の確認方法が SAML アサーション側の SAML プロファイルと一致する必要がある。
    • アサーション側の対象 URL をプロキシの相対 URL として指定する (プロトコルとホスト情報は含めない)。
    • 署名されたアサーションの場合は、ID アサーション プロバイダ レジストリに証明書を追加する。
  5. WebLogic SAML 資格マッピング プロバイダ V2 を各自のセキュリティ ドメインでコンフィグレーションします。『WebLogic Server のセキュリティ』の「SAML 資格マッピング プロバイダのコンフィグレーション」を参照してください。
  6. HTTP、HTTPS、または JMS プロトコル経由で通信するアクティブな仲介プロキシ サービスを作成します。プロキシ サービスは、認証を要求し、SAML トークンを受け取る WS-Policy ステートメントを持つ Web サービスであることが必要です。
  7. 「ローカルな」転送のタイプで通信するプロキシ サービスは、SAML トークン プロファイルを使用して認証を行うことはできません。

 


サービス バス (SB) 転送を使用した SAML 認証のコンフィグレーション

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

 


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

質問 : プロキシ サービス転送 ID を送り先のビジネス サービスに伝播しようとすると、必ず、「Unable to add security token for identity」というエラーが表示されます。これはどういう意味ですか。

回答 : このエラーにはさまざまな原因があります。通常、これは次のいずれかの問題を意味します。

質問 : SAML holder-of-key を使用して、プロキシ サービス転送 ID を送り先のビジネス サービスに伝播しようとすると、必ず、「Failure to add signature」というエラーが表示されます。これはどういう意味ですか。

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

質問 : SAML ID トークンを受信するアクティブな仲介プロキシ サービスをコンフィグレーションしようとすると、必ず、The SAML token is not valid というエラーが表示されます。どのように修正すればよいですか。

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


  ページの先頭       前  次