• 検索結果がありません。

クロスドメイン・シングル・サインオン・ソリューショ ンン

ドキュメント内 am51_webservers_guide.ps (ページ 183-192)

Tivoli Access Manager Plug-in for Web Servers がセキュア・ドメインに保護を提供 するようにインプリメントされている場合、リソースに対するシングル・サインオ ンのソリューションを提供することが多くの場合必要となります。 この章では、異 なるプラグイン保護ドメイン (e-Community シングル・サインオンおよびクロスド メイン・シングル・サインオン (CDSSO)) の間でシングル・サインオンを実行する 2 つの方法について説明します。どちらのソリューションでもトラステッド・トー クンを使用して、異なるドメイン間でユーザーに認証情報を渡します。

どちらのソリューションを選択するかは、どれぐらい柔軟性が必要かによって異な

ります。 e-Community シングル・サインオンでは、異なるドメインでシングル・サ

インオン・プロセスを調整する中央サーバーを使用します。CDSSO では、中央認証 サーバーは存在せずに、より柔軟性を提供する自動化されたリダイレクトもありま せん。

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

v 『クロスドメイン・シングル・サインオン (CDSSO)』

v 165ページの『e-Community シングル・サインオン』

クロスドメイン・シングル・サインオン (CDSSO)

Tivoli Access Manager クロスドメイン・シングル・サインオン (CDSSO) では、複 数のセキュア・ドメイン間でユーザー信任状を転送するためのメカニズムを提供し ます。CDSSO は複数のセキュア・ドメインの統合を許可することによって、スケー ラブルなネットワーク体系という目標の達成をサポートします。たとえば、2 つ以 上の固有のドメイン (それぞれが独自のユーザーとオブジェクト・スペースを持つ) を含む、大規模な企業エクストラネットをセットアップすることができます。

CDSSO により、シングル・サインオンを使用したドメイン間でのユーザーの移動が

可能になります。 CDSSO 認証メカニズムは、マスター認証サーバー (Master Authentication Server: MAS) に依存しません ( 165ページの『e-Community シング ル・サインオン』を参照)。

CDSSO を使用すると、ユーザーが他のドメイン内にあるリソースを要求すると、

CDSSO メカニズムは、暗号化されたユーザー ID トークンを 1 番目のドメインか

ら 2 番目のドメインに転送します。これにより、2 番目のドメインは 1 番目のド メインで認証済みのユーザー ID を持つことになり、そのユーザーは別のログイン を強制されることがありません。

CDSSO ドメインは、DNS ドメインに基づいています。 同じ DNS ドメイン内のす

べてのサーバーは、同一の対称鍵を共有します。別の DNS ドメイン (別の Tivoli

Access Manager ドメイン内の場合もあるし、そうでない場合もある) にあるサーバ

ーで CDSSO を実行するには、別の鍵が必要です。

CDSSO の認証プロセス・フロー

以下に CDSSO プロセス・フローについて図を示して説明します。複数のドメイン

に参加したいユーザーはいずれも、主ドメイン (ここでは domainA) 内に有効なユ ーザー・アカウントを持ち、参加リモート・ドメインのそれぞれにある有効なアカ ウントにマップできる識別を持っていなければなりません。ユーザーは、ユーザー のアカウントがある最初のセキュア・ドメイン (A) に対して最初に認証を行わなけ れば、CDSSO 機能を起動することはできません。

1. ユーザーは、ドメイン A の Web ページ上のカスタム・リンクを介してドメイ ン B 内のリソースにアクセスする要求を行います。

2. リンクに、pdwpi.conf 構成ファイルの [cdsso] スタンザ内の uri パラメータ ーで指定された特別の CDSSO 表現を含めます。デフォルト値は pkmscdsso で す。

/pkmscdsso?destination-URL たとえば、次のとおりです。

/pkmscdsso?https://www.domainB.com/index.html

この要求は、まずドメイン A の中のプラグイン・サーバーにより処理されま す。プラグイン・サーバーは、ユーザーの Tivoli Access Manager 識別 (ショー ト・ネーム)、現行ドメイン (″A″)、追加のユーザー情報、およびタイム・スタン プが入った認証トークンを作成します。

追加のユーザー情報 (拡張属性) は、カスタマイズされた CDMF 共用ライブラ リー (cdmf_get_usr_attributes) を呼び出すことにより、取得できます。この ライブラリーは、ユーザー・マッピング・プロセス中にドメイン B で使用でき るユーザー属性を提供します。

プラグイン Triple-DES は、cdsso_key_gen ユーティリティーにより生成され る対称鍵を使って、このトークン・データを暗号化します。この鍵ファイルは、

ドメイン A とドメイン B の両方のプラグイン拡張 Web サーバーで共用され、

それらのサーバーの pdwebpi.conf 構成ファイルの [cdsso-domain-keys] スタ ンザに保管されます。

8. CDSSO プロセス・フロー:

トークンには、トークンの存続時間を定義する構成可能なタイム・スタンプ

(authtoken-lifetime) が入っています。タイム・スタンプは、正しく構成されて

いればリプレイ・アタックを防ぐことができます。

3. ドメイン A のプラグイン・サーバーは、要求と暗号化されたトークンをブラウ ザーにリダイレクトしてから、ドメイン B のプラグイン・サーバーにリダイレ クトします (HTTP リダイレクト)。

4. ドメイン B のプラグイン・サーバーは、同じ鍵ファイルのバージョンを使用し て復号し、参照しているドメインから取得したトークンを検証します。

ここで、ドメイン B のプラグイン・サーバーは、CDSSO 認証メカニズム・ラ イブラリーに呼び出されます。次にこの CDSSO ライブラリーは、実際のユーザ ー・マッピング (cdmf_map_usr) を行うカスタマイズされた CDMF ライブラ リーから呼び出されます。

CDMF ライブラリーは、ユーザーの識別と拡張属性情報を CDSSO ライブラリ ーに戻します。 CDSSO ライブラリーは、この情報を使用して信任状を作成しま す。

5. ドメイン B の許可サービスは、ユーザーの信任状と、要求されたオブジェクト に関連した ACL 許可に基づいて、保護オブジェクトへのアクセスを許可するか 拒否します。

CDSSO 認証を使用可能および使用不可にする

すべての認証方式の使用は、pdwebpi.conf 構成ファイルの [common-modules] ス タンザで定義します。 CDSSO 認証を使用可能にするには、cdsso という語を認証 パラメーターに割り当てます。

[common-modules]

authentication = cdsso

CDSSO 認証を使用している場合、CDSSO 許可後処理にもプラグインを構成する必

要があります。pdwebpi.conf 構成ファイルの [common-modules] スタンザに、パ ラメーター post-authzn を以下のように追加します。

[common-modules]

authentication = cdsso post-authzn = cdsso

pdwebpi.conf 構成ファイルの [modules] スタンザは、使用可能なすべての認証メ カニズムと、それに関連した共用ライブラリー名を定義します。以下のフォーム認 証用のエントリーが存在していることを確認してください。

[modules]

cdsso = pdwpi-cdsso-module

認証トークン・データの暗号化

プラグインは、cdsso_key_gen ユーティリティーで生成された鍵を使用して、ト ークン内の認証データを暗号化しなければなりません。各参加ドメイン内の各プラ グイン拡張サーバーで鍵ファイルを共用することにより、この鍵を「同期化」する 必要があります。各ドメイン内の各参加プラグイン・サーバーは、同じ鍵を使用す る必要があります。

cdsso_key_gen ユーティリティーでは、実行時に鍵ファイルのロケーション (絶対 パス名) を指定する必要があります

UNIX: # cdsso_key_gen absolute-pathname

Windows: MSDOS> cdsso_key_gen absolute-pathname

各ドメイン内の各参加プラグイン・サーバーの pdwebpi.conf 構成ファイルの [cdsso-domain-keys] スタンザに、この鍵ファイルの場所を入力してください。

[cdsso-domain-keys] スタンザの名前は、[modules] スタンザに定義されている pdwpi-cdsso-module の名前から取られます。その名前は、

[cdsso-module-name-domain-keys] の形式です。ドメインの鍵は、

[cdsso-module-name-domain-keys:virtual-host-name] スタンザを作成して、それぞれ の仮想ホストごとに指定できます。エントリーの形式には、以下のようにドメイン 名と鍵ファイルの場所が含まれます。

[cdsso-domain-keys]

domain-name = keyfile-location ドメイン A 構成の例:

[cdsso-domain-keys]

www.domainB.com = pathname/A-B.key ドメイン B 構成の例:

[cdsso-domaina-keys]

www.domainA.com = pathname/A-B.key

上記の例は、1 つのマシン (たとえば、プラグイン A) で A-B.key ファイルが生成 され、そのファイルが手動で (そして安全に) もう一方のマシン (たとえば、プラグ イン B) にコピーされます。

トークン・タイム・スタンプの構成

トークンには、認証トークンの存続時間を定義する構成可能なタイム・スタンプが 入っています。タイム・スタンプの有効期限が切れると、そのトークンは無効であ ると判断され、使用されなくなります。トークンが盗まれてその存続期間内にリプ レイされないように十分短い値を設定することで、タイム・スタンプはリプレイ・

アタックの防止に使用されます。

トークン存続時間の値は、pdwebpi.conf 構成ファイルの [cdsso] スタンザ内にあ る authtoken-lifetime パラメーターで設定します。値は、秒単位で表されます。デ フォルト値は 180 秒です。

[cdsso]

authtoken-lifetime =180

この値は、仮想ホスト単位でオーバーライドできます。参加ドメイン間のクロッ ク・スキューを考慮しなければなりません。

認証トークンへの信任状属性の組み込み

プラグイン構成ファイルの [cdsso-token-attributes] スタンザに指定することによ り、CDSSO トークンに信任状属性を組み込むことができます。組み込まれる属性 は、ピアツーピアまたはドメインごとに指定できます。このスタンザにリストされ

ている信任状属性は、デフォルトの SSO トークンの create ライブラリーと

consume ライブラリーが使用中である場合にのみ関連します。CDSSO「保証」トー

クンに信任状属性が必要ない場合、このスタンザを空のままにできます。

このスタンザのデフォルト名は [modules] スタンザに定義されている pdwpi-cdsso-module のモジュール名から取られます。その名前は、

[cdsso_module_name-token-attributes] の形式です。

[cdsso-token-attributes] スタンザの値は、すべての仮想ホストのデフォルトであ り、[cdsso_module_name-token-attributes:virtual_host] スタンザを作成することによ り仮想ホスト単位でオーバーライドすることができます。

エントリーの形式は domain_name = pattern1, pattern2, ... pattern n です。

ターゲットのホストまたはドメインに指定されたパターンと一致する信任状の属性 は、そのターゲットのホストまたはドメイン用に構成された CDSSO 「保証」トー クンに組み込まれます。各属性の単一値だけが使用され、ストリング値だけがサポ ートされます。それ以外のタイプの信任状属性値は、無視されます。パターンは、

パターン・マッチング文字 ( 241ページの『付録 E. 正規表現で許可されている特殊 文字』を参照) を使用して指定できます。

たとえば、次のとおりです。

[cdsso-token-attributes]

ibm.com = attrprefix_*, *name*

tivoli.com = *_attrsuffix, some_exact_attribute

属性のデフォルトのセットは、このスタンザ内の <default> エントリーを使用して 構成できます。そうした属性のデフォルトのセットは、特定のターゲット・ホスト に一致するエントリーがほかにない場合に使用されます。<default> エントリーが 存在しない場合、デフォルトでは、属性は組み込まれません。

CDSSO 認証トークンからの信任状属性の受け入れまたはリジェクト

[cdsso-incoming-attributes] スタンザ内に値を指定することにより、着信する

CDSSO 認証トークンから、受け入れる信任状属性とリジェクトする信任状属性を指

定できます。発信する属性の構成とは異なり、着信する属性は、ピア単位またはド メイン単位で構成することはできません。1 セットの属性パターンだけが構成可能 であり、そのパターンは、ソースに関係なく着信するトークンに適用されます。こ の処理は、デフォルトの SSO トークンの create ライブラリーと consume ライブラ リーが使用中の場合にのみ実行されます。このスタンザのデフォルト名は

[modules] スタンザに定義されている pdwpi-cdsso-module のモジュール名から取ら れます。 その名前は、[cdsso_module_name-incoming-attributes] の形式です。 こ のスタンザ内の値は、すべての仮想ホストのデフォルト値です。ただし、この値 は、[cdsso_module_name-incoming-attributes:virtual_host] スタンザを構成すること によって仮想ホスト単位でオーバーライドすることができます。

このスタンザのエントリーの形式は以下のとおりです。

attribute_pattern = preserve|refresh

refresh エントリーと一致する CDSSO トークンの属性は、CDMF ライブラリーが

ドキュメント内 am51_webservers_guide.ps (ページ 183-192)