Comments
Description
Transcript
Web Lotus Domino
Web クライアント用 Windows シングル・サインオン (SPNEGO) を既存の Lotus Domino 環境にデプロイする 要約 IBM Lotus Domino は、Web クライアント用 Windows シングル・サインオン (SPNEGO) が使用できるように設定することができます。この設定により、Active Directory ドメイン にログインした Web ユーザーは、パスワードを求められることなく、ブラウザーから Domino サーバー上のアプリケーションを開くことができます。この文書では、既存の Lotus Domino 環境への SPNEGO のデプロイメントに関する、最も一般的ないくつかの質 問にご回答します。 目次 • はじめに • 概念の全体像 • よくある質問 • サーバー混在環境での SPNEGO の設定 • 混在ソースから Web トラフィックを受け入れるサーバーでの SPNEGO の設 定 • 非 Windows ワークステーションでの SPNEGO の設定 • SPNEGO 対応 Domino サーバーでのセッションの有効期限 • ブラウザーへの必要な変更を組織全体にデプロイする方法 • 一般的な問題のトラブルシューティング • Lotus Notes/Domino InfoCenter へのリンク はじめに Lotus Domino 8.5.1 以 降 の Lotus Domino Web サ ー バ ー は 、 Simple and Protected GSS-API Negotiation Mechanism (SPNEGO) と、その基礎であり Active Directory によっ て提供される Kerberos ネットワーク認証セキュリティーを使用して、ブラウザー・クライ アントで認証のネゴシエーションが処理できるように構成できます。「Web クライアント 用の Windows シングル・サインオン」または「統合 Windows 認証」とも呼ばれるこの メカニズムにより、Active Directory ドメインにアクティブにログオンした Web ユーザー は、パスワードを求められることなく、ブラウザーから Domino サーバー上のアプリケー ションを開くことができます。 この文書では、Web クライアント用の Windows シングル・サインオン (SPNEGO) の既 存の Lotus Domino 環境へのデプロイメントに関し、最も一般的な質問のいくつかに回答 します。対象読者は、すでに Domino サーバーの準備、Windows サービスのセットアッ プ、ユーザー名マッピングの設定、および Web クライアント・ブラウザーの設定など基 本的な手順に習熟されているものとして説明を進めます。習熟されていない場合は、文書 の最後の「Lotus Notes/Domino InfoCenter へのリンク」にある、このサブジェクトに関する総合 的なオンライン文書の参照をお勧めします。 概念の全体像 既存の Lotus Domino 環境への SPNEGO のデプロイメントに関する質問に答える前に、 このタイプの認証メカニズムがどのように機能するのかを視覚化しておくと役に立ちます。 下のフロー図は、さまざまなコンポーネントの間で、どのようなやり取りが行われるかを 示したものです。 よくある質問 既存の Lotus Domino 環境への SPNEGO のデプロイメントに関する最もよくある質問と、 このインプリメンテーションのテスト中に発生する可能性がある特定の問題を調査する一 般的なトラブルシューティング手順について、以下に説明します。さらにご不明な点がご ざいましたら、 「Knowledge Base」および「Lotus Notes/Domino 8.5 Forum」を検索するか、IBM Lotus Support のLotus Web Requestからお問い合わせください。 サーバー混在環境での SPNEGO の設定 [質問]環境内では、複数の Domino サーバーが、UNIX (Red Hat、Solaris、AIX など) ま たは iSeries プラットフォーム上で実行されています。クレデンシャルの提供を求められ ずに、ユーザーがこれらのサーバーにアクセスできるようにするために、Web クライアン ト用の Windows シングル・サインオン (SPNEGO) を使用することは可能ですか。 Lotus Domino における SPNEGO プロトコル経由の Kerberos 認証の特性では、Active Directory ドメインのメンバーとして実行中の Windows プラットフォーム上の Lotus Domino 8.5.1 サーバーにユーザーが最初にアクセスする場合にのみ、Windows シングル・ サインオンを確立することができます。ただし、非 Windows サーバーが SPENGO を通 じて自動的にユーザーを認証することはできませんが、Windows Domino サーバー用に作 成された Web SSO 設定に参加することは可能です。つまり、Web SSO 設定文書を作成 し、その文書で「Windows シングル・サインオンの統合」を有効にすると、他の非 Windows Domino サーバーが同じ SSO 設定文書を使用でき、ユーザーがフォーム・ベースのログ インを通じて非 Windows Domino サーバーに直接認証しなければならない場合も、競合が 発生しません。 混合サーバー・ドメイン全体で Windows シングル・サインオン経由の自動認証を機能さ せるには、ユーザーが常に Windows Domino サーバーに最初にアクセスする必要がありま す。これによって、SPNEGO 対応の Windows Domino サーバーから有効な LTPAToken が ユーザーに発行され、ユーザーを非 Windows Domino サーバーへとリダイレクトできます。 リダイレクト先のサーバーが同じ SSO 設定を共有していると、発行された LTPAToken によって、ユーザーはクレデンシャルを求められずにそのサーバーにアクセスできます。 ユーザーが最初に非 Windows Domino サーバーへのアクセスを試みると、ユーザーは Web クライアント用の Windows シングル・サインオン経由では自動的に認証されません が、Lotus Domino の標準ログイン・フォームが表示され、認証用の有効なクレデンシャル を入力できます。 別の方法として、カスタム DSAPI フィルターを構築し、Kerberos 認証を開始できない非 Windows Domino サーバー上にデプロイする方法があります。DSAPI (Domino web server application programming interface) は、独自の拡張を Domino Web サーバーに記述するた めに使用できる C API で、これらの拡張 (つまり、フィルター) によって Web サーバー の動作をカスタマイズできます。このシナリオでは、DSAPI フィルターは、非 Windows Domino サーバーへの認証用の最初の HTTP 要求をインターセプトし、Windows シング ル・サインオンを提供できる別のサーバーにユーザーをリダイレクトします。Windows Domino サーバーが、この非 Windows Domino サーバーと同じ SSO 設定を共有している 場合、ユーザーはそれ以降 LTPA テクノロジーを通じてシングル・サインオンを確立でき ます。より分かりやすく、このタイプの DSAPI フィルターの期待されるフローを示すと、 次のようになります。 • ユーザーは、ブラウザーに非 Windows Domino サーバーの URL を入力します。 • Domino サーバーは、このユーザーが認証されていないと判断した場合、DSAPI フィ ルターを呼び出します。 • この DSAPI フィルターにより、Windows シングル・サインオン・サーバー上のデー タベース URL へとリダイレクトされます。 • Windows シングル・サインオン・サーバー上のデータベース URL へのアクセス時に、 サーバーは Windows シングル・サインオンによってユーザーを認証し、LTPA トーク ンをユーザーのブラウザーに送り返します。 • Windows シングル・サインオン・サーバー上のデータベース URL が、ユーザーが最 初に要求した URL へとリダイレクトされます。ユーザーは前のステップですでに LTPA トークンを取得しているため、ユーザー名とパスワードの入力を求められません。 以下の OpenNTF.org でサンプルの DSAPI フィルター (ソース・コードを含む) を入手で きます。このサンプルはニーズに応じてカスタマイズ可能で、上記のインプリメンテーシ ョンを実現できます。 http://www.openntf.org/projects/pmt.nsf/ProjectLookup/SSO%20for%20Web%20for%20non%20Windows %20Servers 重要なメモ: 上記のサンプルは、説明用の目的でのみ提供されています。これは現状のまま で提供され、明示的または暗黙的にどのような種類の保証もありません。Lotus サポート は、 カスタマイズあるいはサンプルの使用にともなって発生する可能性がある問題のトラブル シューティングをサポートすることはできません。 [質問]現在、8.5.1 にアップグレードできない Domino サーバーがいくつかあります。 Lotus Domino 7.x、8.0.x、または 8.5.0 サーバーで、Web クライアント用の Windows シ ングル・サインオン (SPNEGO) を使用することはできますか。 Web クライアント用の Windows シングル・サインオンは Lotus Domino 8.5.1 の新機能 であり、このリリースからのみ利用できます。自動 SPNEGO 認証メカニズムを使用する には、前のリリースの Domino サーバーをアップグレードする必要があります。 SPNEGO 対応 Windows サーバーと同じ SSO 設定に参加するどのサーバーもアップグ レードすることが強く推奨されていますが、8.5.1 Domino ディレクトリーで作成し、 「Windows シングル・サインオンの統合」を有効にした SSO 設定文書を、8.5.1 よりも 前の Domino サーバーで使用することは可能です。前述の非 Windows サーバーで示した シナリオのように、ユーザーが最初に 8.5.1 よりも前の Domino サーバーへのアクセスを 試みると、ユーザーは Web クライアント用の Windows シングル・サインオンを通じて 自動的には認証されませんが、代わりに、Lotus Domino の標準ログイン・フォームが表示 され、認証用の有効なクレデンシャルを入力できます。 混在ソースから Web トラフィックを受け入れるサーバーでの SPNEGO の設 定 [質問]同じ Domino サーバーにアクセスする内部のユーザーと外部のお客様がいます。こ のシナリオで、Web クライアント用の Windows シングル・サインオン (SPNEGO) を使 用するよう Lotus Domino を構成できますか。 Windows シングル・サインオンは、イントラネットではなくインターネット経由で接続す る Web クライアント、およびこの機能を使用するようセットアップされていない Web クライアントからは利用できません。クライアント・マシンとブラウザーは、SPNEGO 認 証が有効となるよう適切に設定されていて、Active Directory サーバーへのネットワーク・ アクセスが可能で、さらに Active Directory ドメインにアクティブにログオンしているこ とが必要です。通常、外部インターネット・ユーザーはこれら条件を満たさないため、そ のようなクライアントが、URL を介して Windows シングル・サインオンに参加している Lotus Domino サーバーへの接続を試みると、サーバーへのアクセスがブロックされるか (Firefox ユーザー)、別のログイン・プロンプトが表示される不便さが生じます (Internet Explorer ユーザー)。 1 つの Domino サーバーが両方のタイプのユーザーを処理している場合は、異なるソース からの要求をマッピングする個別の「インターネット・サイト」をセットアップすること で、この制限を回避できます。つまり、1 つはシングル・サインオンに参加するイントラ ネット Web クライアントが使用するサイトで、もう 1 つはシングル・サインオンに参加 しない外部 Web クライアントが使用するサイトです。それぞれのインターネット・サイ ト文書では、 「ホスト名またはこのサイトにマップされたアドレス」フィールドで異なるホ スト名を使用する必要があります。次に、Windows シングル・サインオンに参加するかど うかに応じて、サーバーへのアクセスに使用する適切な URL をユーザーに与えます。イン ターネット・サイト用に Domino サーバーを設定する方法の詳細については、「IBM Lotus Domino and Notes Information Center」の次の文書を参照してください。 サーバーのインターネット・サイトを有効にする インターネット・サイト文書を作成する Web サイトを運用する 非 Windows ワークステーションでの SPNEGO の設定 [質問]一部のユーザーが、非 Windows ワークステーション (Ubuntu、Mac OS など) から Web を介して Domino サーバーにアクセスしています。これらのユーザーが、Web クラ イアント用の Windows シングル・サインオン (SPNEGO) を使用して、クレデンシャル を求められずに Lotus Domino リソースにアクセスすることは可能ですか。 Web クライアント用の Windows シングル・サインオンは、SPNEGO プロトコルをサポ ートするブラウザーおよびプラットフォームでのみ可能です。クライアント・マシンとブ ラウザーは、SPNEGO 認証が有効となるよう適切に設定されていて、Active Directory サ ーバーへのネットワーク・アクセスが可能で、さらに Active Directory ドメインにアクテ ィブにログオンしていることが必要です。 非 Windows ワークステーションに対して Active Directory への認証を利用可能にするサ ード・パーティー製品がありますが、通常、これらのソリューションは LDAP プロトコル を通じてインプリメントされ、Kerberos Key Distribution Center (KDC) からの Kerberos サービス・チケットを要求しないため、SPNEGO をサポートできません。Domino サーバ ーへのアクセス時に、ブラウザーによって SPNEGO トークンが提供されない場合、この ワークステーション上では、Web クライアント用の Windows シングル・サインオンが機 能しません。これらのユーザーには、サーバーにアクセスするための代替 URL (たとえば、 外部インターネット・ユーザーが使用する代替 URL) を提供する必要があります。このタ イプの設定に関する関連情報については、前の質問を参照してください。 まとめると、Web クライアント用の Windows シングル・サインオンは、次のブラウザー でのみサポートされています。これらのブラウザーはテスト済みで、 Lotus Domino SPNEGO で正しく機能することが確認されています。 • Microsoft Internet Explorer バージョン 6.0 (Windows) • Microsoft Internet Explorer バージョン 7.0 (Windows) • Microsoft Internet Explorer バージョン 8.0 (Windows) • Mozilla Firefox バージョン 3.0.x (Windows) • Mozilla Firefox バージョン 3.5.x (Windows) SPNEGO を使用した Lotus Domino サーバーへの認証用にこれらのブラウザーを設定する方法の詳細に ついては、Lotus Notes/Domino InfoCenter の「Web クライアント・ブラウザーを Windows シングル・ サインオン用に設定する 」を参照するか、ブラウザー・ソフトウェア用のサポート組織にお問い合わせ ください。 SPNEGO 対応 Domino サーバーでのセッションの有効期限 [質問]Web SSO 文書で「Windows シングル・サインオンの統合」を有効にした場合、Web ユーザー用の「アイドル・タイムアウト」を設定できなくなります。SPNEGO 認証を有効 にすると、なぜこのフィールドが非表示になるのですか。 「アイドル・セッション・タイムアウト」オプションは、Lotus Domino 専用の Web SSO 設定にのみ有効です。ただし、Lotus Domino Web SSO 文書の「トークン終了」フィール ドを使用すると、Lotus Domino によって生成されたセッション Cookie (LTPAToken) の有 効期限を設定できます。この設定では、Lotus Domino によって生成されたセッション Cookie が、ユーザー・アクティビティーにかかわらず、どれだけの期間有効であるかが定 義されます。 LTPAToken の有効期限が切れる時点でユーザーがサーバーにアクセスしていると、通常は ユーザーに再認証が求められます。しかし、ユーザーが SPNEGO 対応の Windows Domino サーバーにアクセスしている場合は、Lotus Domino サーバーが自動的にブラウザ ーから新しい Kerberos トークンを要求し、Key Distribution Center との間で検証を行って 新しい LTPAToken を発行するため、この期限切れはユーザーに意識されることはありませ ん。ユーザーは、新しい Kerberos チケットの提供に失敗するか、チケットがすでに有効 でない (つまり、ユーザーがもはや Active Directory ドメインにログオンしていない) 場合 を除き、有効期限となっても再認証を求められず、Domino サーバーへのアクセスを中断さ れずに作業を続けられます。このため、ユーザーから見たタイムアウト期間は、事実上 KDC から発行される Kerberos チケットによって定義されます。Active Directory の管理者は、 ドメインの Kerberos ポリシーを定義することにより、Kerberos チケットの最大存続時間 を設定できます。 ブラウザーへの必要な変更を組織全体にデプロイする方法 [質問]ユーザーのワークステーションでどのような設定手順が必要か理解しましたが、ユ ーザーを介入させずに、これらの設定を組織全体に配布する方法はありますか。 Active Directory ベースのドメインでグループ・ポリシーを使用すると、Internet Explorer 用 の特定のセキュリティー設定を組織全体にデプロイできます。Active Directory には、 Mozilla Firefox ブラウザー用にこの設定を行うネイティブのメカニズムはありませんが、こ のニーズに対応するサード・パーティーのソリューションがいくつかあります。ドメイン 内でソフトウェアを配布する特定の設定方法については、トピックの範囲外なのでここで は説明しません。 一般的な問題のトラブルシューティング SPNEGO の問題を認証プロセスでの特定のステップに切り分ける必要があるときに、調査 すべきコンポーネントのチェックリストを以下に示します。より詳細に分析する場合は、 Windows シングル・サインオンの問題をトラブルシューティングするための総合ガイドと して、以下の Technote を使用してください。この Technote には、以下で説明する手順 よりも詳細な情報が含まれています。 IBM Lotus Support のサービス・リクエストからお 問い合わせいただく前に、この Technote を参照してください。 Troubleshooting Windows single sign-on for Web clients (SPNEGO) (参考)Web クライアント用の Windows シングルサインオンに関するトラブルシューティング (http://www-06.ibm.com/jp/domino04/lotus/support/faqs/faqs.nsf/all/733707) 重要な点として、SPNEGO のインプリメントで最もよくある失敗は、ブラウザー・クライアントの設定 です。その理由は、サイトが「ローカル・イントラネット・ゾーン」にある場合 (Internet Explorer)、サイ トが「信頼済みサイト」として定義されている場合 (Internet Explorer)、またはサイトが about:config の "network.negotiate-auth.trusted-uris" キーにリストされている場合 (Mozilla Firefox) を除き、デフォルト でほとんどのブラウザーが SPNEGO のネゴシエーション処理を拒否するからです。これは、信頼されて いない DNS ホスト名との Kerberos トークンの交換を防ぐことにより、man-in-the-middle 攻撃 (中間者 攻撃) からユーザーを保護するためです。Web クライアント用の Windows シングル・サインオンを正し くインプリメントできず、ブラウザー・クライアントが正しく設定されていることがわかっている場合は、 以下の手順を続行し、前述の Technote を参照してください。 ☑ まず、HTTP タスクが正しくロードされますか。HTTP のロード時に何らかの SSO エラーに遭遇す る場合は、SSO 設定文書を調べる必要があります。新規 SSO 文書を作成し、HTTP のロードを試みて いる特定の Domino サーバーだけを「参加するサーバー」フィールドで指定してください。 ☑ HTTP タスクおよび SSO 文書が正しくロードされる場合は、サポートされているブラウザーから、 Domino サ ー バ ー 上 に あ り 、 匿 名 ア ク セ ス を 許 可 す る リ ソ ー ス ( 例 : www.mydominoserver.com/homepage.nsf) へのアクセスを試みます。メモ: これらの各ステップでは、 「localhost」または「127.0.0.1」ではなく、Domino サーバーの完全修飾ドメイン名を使用する必要があ ります。これは、Active Directory ドメインでサービス・プリンシパル名 (SPN) を設定するときに使用し た FQDN と同じでなければなりません。 ☑ 上記のステップが成功しない場合は、サーバー文書でセッション認証を無効にします。HTTP タスク を再起動し、サーバーへのアクセスを再び試みます。SSO を無効にした後もサーバーにアクセスできない 場合、HTTP の問題は SPNEGO 特有のものではありません。他の標準的なトラブルシューティング技法 を調べるか、IBM Lotus Support のサービス・リクエストからお問い合わせください。 ☑ この時点まで成功している場合は、ローカル・サーバー上で同じブラウザーを使用して、データベー スの ACL で「Default」アクセスを許可するリソース (例: www.mydominoserver.com/names.nsf) へのア クセスを試みます。クレデンシャルを要求される、または「401 Unauthorized」を受け取るものの、ロー カル・サーバー上のブラウザーが正しく設定されていることがわかっている場合は、サーバーのサービス・ プリンシパル名 (SPN) が正しく割り当てられていない可能性があります。Lotus Notes/Domino InfoCenter のステップ「Windows サービスを Lotus Domino 用に設定する 」を参照してください。自動的に認証さ れる (ログイン・フォームでクレデンシャルの入力を求められない) 場合は、Lotus Domino と Active Directory ドメイン間の SPNEGO が正しく設定されています。この時点で、他のワークステーションか らセキュアなリソースへのアクセスで発生する問題は、そのワークステーションにおけるブラウザーの設 定に関するものか、Lotus Domino ユーザー名へのKerberos 名のマッピングでの問題のいずれかです。 ☑ これがブラウザーの設定の問題か名前のマッピングの問題かを確認するために、「ディスカッション - Notes & Web」テンプレート (discsw7.ntf) を使用して Domino サーバー上にテスト用のディスカッショ ン・データベースを作成してください。このデータベースの ACL で「Default」のアクセス権を少なくと も「作成者」に設定します。次に、ご使用になっているワークステーションから、Lotus Domino Web サ ーバー上のこのデータベースにアクセスを試みます。クレデンシャルを要求されるか、 「Error 401: この操 作を実行する権限がありません」を受け取る場合は、クライアント・ブラウザーが正しく設定されていま せん。Lotus Notes/Domino InfoCenter のステップ「Web クライアント・ブラウザーを Windows シング ル・サインオン用に設定する ☑ 」を参照してください。 このテスト用のディスカッション・データベースに、クレデンシャルを求められずに Web を介して アクセスできる場合は、新規メイン・トピックを作成します。新規文書の左上に、ユーザーの現在の Lotus Domino ID を表示する @Username フィールドがあります。このユーザー名が、期待される識別名と異 なる場合は、名前のマッピングに問題がある可能性があります。Lotus Notes/Domino InfoCenter のステッ プ「Web クライアント環境用の Windows シングル・サインオンにマッピングするユーザー名を設定する 」を参照してください。 上記のどのステップも問題の切り分けに役立たない場合は、前述の Technote を参照するか、IBM Lotus Support へお問い合わせください。この Technote に書かれているように、SPNEGO に関する問題のト ラブルシューティング時は、次のデバッグを有効にすると調査に役立ちます。 以下に示すのは、このデバッグを有効にした状態で、SPNEGO 経由の自動認証が成功したときに、Lotus Domino 8.5.1 サーバーから得られるコンソール出力の例です。このシナリオでは、ユーザー名は Domino ディレクトリーを通じて管理され、Kerberos ユーザー名はユーザーの Lotus Domino ユーザー文書の 「Active Directory (Kerberos) ログオン名」フィールドに格納されます。Domino サーバーの notes.ini で 「WIDE_SEARCH_FOR_KERBEROS_NAMES=1」が有効になっているため、このフィールドへの名前マ ッピングが行われます。 メモ: これは、名前マッピングで可能ないくつかの構成方法の 1 つに過ぎません。組織内でユーザー名の マッピングを設定する方法は、ユーザー名を主に Active Directory を通じて管理するか、Domino ディレ クトリーを通じて管理するかに応じて決められます。詳細については、Lotus Notes/Domino InfoCenter の ステップ「Web クライアント環境用の Windows シングル・サインオンにマッピングするユーザー名を設 定する 」を参照してください。