連載 ディレクトリサービスの仕組みと活用
第4回 Webでのシングルサインオンの利用
梁瀬介次
2000/10/3
|
今回は前回まででセットアップしたシングルサインオン環境を、実際にWebブラウザからのログインやマルチサーバからの利用で活用してみましょう。
■WebサーバとLDAPディレクトリ
LDAPディレクトリ側の設定は終わりましたが、今度はアプリケーションサーバ側でLDAPディレクトリを参照するための設定を行う必要があります。ここではWebサーバの設定を行うことにします。
下の図はWebサーバがLDAPディレクトリを参照して、ログインを承認する様子です。
![]() |
通常、Webサーバは独自のユーザー管理システムを持っています。例えば、UserDBと呼ばれるUNIXのpasswdファイルのようなレコード型ファイルであったり、ロータス ドミノのドミノディレクトリのように専用のデータベースであったり、Oracleのシステムテーブルであるなど、構造はさまざまです。
LDAPディレクトリで認証を行う機能とは、そうしたアプリケーション依存の認証システム以外に、共通して「外部の」LDAPディレクトリを使用する機能が付加されていることを指します。そのため、LDAPディレクトリでは認証に必要な情報を標準化しています。
下のリスト1は、LDAPディレクトリが保持するユーザー情報のフィールド(正式にはアトリビュートと呼ばれます)の一部です。
|
|
| リスト1 LDAPディレクトリが保持するユーザー情報フィールドの例 |
DN(Distinguished Name)は1ユーザー(正確には1エントリ)の名前だと考えてください。前回述べたように、X.500ディレクトリ規格に沿った名前の付け方になっています。userCertificateというのがユーザーX.509証明書の格納先です。このDNが示す「ユーザー」が、Webブラウザアクセス時に示されるはずの証明書の持ち主ということになります。前回述べたユーザーマッピングはLDAPアクセスからはこのように確認することができます。
■Webサーバの設定
では、WebサーバからLDAPディレクトリを参照するように設定してみましょう。
まずはロータス ドミノでの設定です。話がややこしくなっているかもしれませんが、ここではあくまでドミノをWebサーバとしてのみ使用するものと考えてください。前回のように、ドミノをCA(認証機関)やLDAPサーバとして使用していることもあるかもしれませんが、ここでは考えないこととします。
ドミノでは「ディレクトリアシスタンス」という機能で、外部LDAPディレクトリを認証に用いることが可能です。「da50.ntfテンプレート」でDBを作成します。ノーツクライアントからこのDBを開き、次のように設定します。
![]() |
| 画面1 ディレクトリアシスタントの「基本情報タブ」設定画面(画面をクリックすると拡大表示します) |
![]() |
| 画面2 ディレクトリアシスタントの「規則タブ」設定画面(画面をクリックすると拡大表示します) |
![]() |
| 画面3 ディレクトリアシスタントの「LDAPタブ」設定画面(画面をクリックすると拡大表示します) |
詳しくはマニュアルにもありますが、まず「ドメインタイプ」として「LDAP」を選択します。「規則」にはそのLDAPディレクトリにどのような情報が登録されているかを指定します。これはディレクトリツリー構造(DIT:Directory Information Tree)をo(Organization)、ou(Organization Unit)、c(Country)といった要素別に指定します。通常はすべて「*(アスタリスク)」でも構いません。また、「証明書を信用」を「はい」としておきます。
「LDAP設定」→「ホスト名」にはLDAPサーバ名を入力します。「認証」の「ユーザー」「パスワード」はLDAPサーバにログインして検索する必要がある場合に設定します。入力しなければAnonymous(匿名)ユーザーとして検索することになります。Anonymousユーザーでは必要な情報が検索できないこともあります。そうした場合には管理者ユーザーでログインするようにします。
「検索するベース」は「検索場所」「Base DN」などとも呼ばれるLDAP検索では必要な指定です。検索を開始するLDAPディレクトリツリーを指定します。例えば「cn=Taro Yamada. o=ABC-Syouji, c=JP」といったユーザーが登録されている場合では、このエントリは「o=ABC-Syouji, c=JP」という場所の下に格納されていることになります。そこでこの検索ベースとして「o=ABC-Syouji, c=JP」を指定します。これを指定しないと検索できない、つまり認証を確認できないこともありますので注意してください。
「チャネルの暗号化」はできる限り「SSL」を選択します。選択するには当然LDAPディレクトリサーバでSSLが使用できなくてはなりません。「SSL」とすることで、ドミノサーバからの検索がすべて暗号化され、ネットワーク盗聴などによる情報漏洩のリスクが避けられます。
この設定文書を保存して、次にドミノディレクトリの「サーバー文書」に、先ほど作成したディレクトリアシスタンスDB名を設定し、サーバを再起動します。
![]() |
| 画面4 ドミノディレクトリ「サーバー文書」の設定 |
以上で設定は終了ですが、もちろん、ドミノWebサーバでSSLが利用できるようにしておいて下さい。「クライアント認証」を行えるようにもしておきます。
![]() |
| 画面5 「サーバー文書」SSLの設定 |
同様の設定はiPlanet(Netscape)Enterprise Serverでも行えます。要領や考え方はドミノと同じです。管理サーバへWebブラウザからアクセスし、「Global Settings」を選択します。「Configure Directory Service」でLDAPサーバの「Host Name」「Base DN」(検索を開始するベース)「Bind DN」(検索時にログインするユーザー名)などを設定します。「OK」ボタンで反映します。
![]() |
| 画面6 iPlanet(Netscape)Enterprise ServerでのLDAPサーバ設定(画面をクリックすると拡大表示します) |
同じく、SSLを利用できるようにし、「Restrict Access」(アクセス制限 ACL)の設定でコンテンツへのアクセスにクライアント認証とLDAPへの確認が必要とするようにします。
| 【コラム】 アクセスコントロール |
| Webサーバでのユーザー認証により、ユーザーが特定のコンテンツを参照したり、書き込んだり、あるいは禁止したりといったセキュリティ機能が利用できるようになります。こうした機能を「アクセスコントロール」と呼びます。または日本語では「認可」と呼ばれることもあります。 「アクセスコントロール」は通常、個々のWebサーバ製品の固有の機能です。ユーザー情報は共通化することはできても、実際の設定方法は製品ごとに異なり、サーバ単位でコンテンツに設定しなければなりません。 しかし、ここまで設定をこなしてきた方なら、「LDAPディレクトリのような仕組みで統一化や一元管理はできないか」と考えるのも自然でしょう。 ところが、現在のLDAP対応製品では残念ながらそうした機能は提供されていません。統一的なアクセスコントロール手法は、実は現在も標準化作業中なのです。IETFで、ようやく今年になり標準ドラフトがまとまりました。今後、各社で対応が論議され、実際の製品に反映されるにはおそらくまだ1〜2年はかかるでしょう。 どうしても今すぐにアクセスコントロールの一元化を行いたい場合には、Webサーバのプラグインとして導入することで、ユーザーのアクセスできる範囲を制限できるソフトなどもありますので、これらを利用するのも手です。 |
■Webブラウザからの利用
ではいよいよ、Webブラウザから実際にWebサーバへアクセスしてみましょう。
操作自体は特別なことはありません。まずドミノWebサーバへアクセスしてみます。アクセスはSSLで行うことになります。アクセス時に、使用する証明書を選択する場合もあります。
![]() |
| 画面7 IE5での証明書の選択(画面をクリックすると拡大表示します) |
IE(Internet Explorer)では、Windowsログオン時にユーザー名/パスワードを設定していれば聞いてくることはありませんが、Netscapeの場合には、最初に一度だけ証明書ストアのパスワードを尋ねられます。
普通にサーバにアクセスできれば成功です。テストのためにperlのCGIプログラムで表示してみました。$REMOTE_USER変数などを出力してみると、正しくユーザー名が表示されているのが分かります。
![]() |
| 画面8 ユーザー名が正しく表示されたことを確認(画面をクリックすると拡大表示します) |
ほかのWebサーバへURLを切り替えても、同一のユーザー(同一のクライアント証明書)で認証できるようになります。
| 【コラム】 BASIC認証でシングルサインオン? |
| いわゆるX.509証明書を用いた認証以外に、Webブラウザからは「BASIC認証」と呼ばれる認証方法も使用可能です。普段インターネットなどでは最も多く用いられている、だれもが経験したことがある方法でしょう。ただしユーザー名とパスワードがそのままネットワークに流れてしまうことと、パスワードを推測されてしまうとだれでも簡単に「なりすまし」が可能なため、セキュリティ保持の観点からはX.509認証に比べると劣るとされます。 実は、LDAPディレクトリもBASIC認証のためのパスワードを保持できるのですが、シングルサインオンを行うのは難しいのです。これは、Webサーバ側はLDAPディレクトリによってユーザー名/パスワードを共通化できるものの、Webブラウザは異なるサーバにログインする際には必ずユーザー名/パスワードを尋ねる仕様になっていることが多いためです。こうした仕様がないと不用意に別のサーバにユーザーのパスワード情報を流してしまう恐れがあるからです。 そのため、BASIC認証でシングルサインオンを行おうとすると、どうしてもクッキー(Cookie)やJavaScriptを駆使することになります。BASIC認証自体は高度なセキュリティを要求されるネットワークには必ずしも向いているとは言えませんが、インターネット全体での利用を考えると利用したい場合もあるかもしれません。 ところが、IE5や最近新しく発表されたNetscape6では「オートコンプリード」や「パスワードマネージャー」と呼ばれる機能があります。最初に一度でもログインすれば、その次からは自動的にそのサーバに合わせたユーザー名/パスワードを使用してくれるという機能です。 完全なものではありませんが、見かけ上のシングルサインオン程度には利用できそうです。 |
|
| 「Master of IP Network総合インデックス」 |
ホワイトペーパー(TechTargetジャパン)
- どこまで出る? LTEの通信速度 (2010/3/17)
光ファイバに匹敵する通信速度を実現すると期待されているLTE。ホントにそんなに出るの? という疑問に答えます - インターネット世界の地図 (2010/2/23)
荷物の届け先まではどの道を通っていけばいいのでしょう? それを決める「経路選択」の仕組みを説明します - Androidアプリはビジネスになるのか (2010/2/12)
「iPhoneアプリの次はAndroid?!」NECビッグローブのAndroidアプリ販売サイト「andronavi」を通して、その可能性に迫る - 知られざるLTEのネットワーク構成 (2010/1/13)
LTEのネットワーク構成やプロトコルスタックを詳解。それぞれどんな役割を果たしているかを解説します
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
| 「いつかは壊れるサーバ」そんな故障に 迅速で安価に手軽に対応する方法とは? New! |
| 「特権ユーザー」の事件を防げ! 万能権限を持つユーザーの管理方法とは? New! |
| 仮想環境の構築とデータ保護の特効薬?! 実績と信頼性の高いパッケージで安心運用 |
| 仮想環境のバックアップもこれまでどおり 「まるごと取ってまるごと戻す」簡単運用 |
| おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |
| その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |
| 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |
| 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | TomcatやJBossなどAPサーバ環境に関する 情報を集約! “業務”用APサーバ大百科 New! |
| ◆ | 一気に解説! 最新のクラスタストレージ 「RAIDを超えたストレージ基準」……など New! |
| ◆ | クラウド的ユーザー体験の変化は脅威か? 仮想化技術を使いこなす運用管理術を紹介 New! |

| ◆ | 上司や部下、部署内メンバーとの情報共有 を“ガラッ”と変えるコラボツールとは? New! |
| ◆ | おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| ◆ | 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |

| ◆ | Twitterのアカウントはなぜ突破された? メールによる新手の攻撃手法とその対策 |
| ◆ | もう仮想化のお試しフェイズは終わりだ! Hyper-V 2.0が基幹システムも仮想化 |
| ◆ | 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |

| ◆ | クライアント企業から求められる人材 ⇒IT技術と経営戦略を併せ持つ「戦略家」 |
| ◆ | .NET編集長が実践する「技術情報検索術」 サンプル・コードを簡単に探す“技”は? |
| ◆ | 業務効率と情報セキュリティ対策を両立! 手間なく確実に機密情報を守る方法とは? |

| ◆ | 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |

| ◆ | 【CTC事例】約30の基幹システムを統合! 膨大なバッジジョブを制御した方法は? |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |
| ◆ | その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |















