Open棟梁Project - マイクロソフト系技術情報 Wiki ...工事中... * 目次 [#kd1172d7] #contents *概要 [#jc8e8ef1] 認証基盤の選定や実装について纏めています。 *種類 [#o815c7c4] **HTTPの認証 [#gf2d8060] ***匿名アクセス [#eed67f54] -匿名アクセスを許可する。 -通常サービスの実行アカウントで実行される。 -(偽装をおこなえば)匿名アカウントで実行される。 ***基本認証 [#mb2c8e20] -ユーザー名とパスワードを入力するためのダイアログ ボックスが表示される。 -アカウント情報は暗号化されないBase64文字列でサーバに送られる。 -通常サービスの実行アカウントで実行される。 -(偽装をおこなえば)認証されたアカウントで実行される。 ***ダイジェスト認証 [#tda3ddf0] -ハッシング テクノロジーを使用し、解読不能な方法でユーザー情報を送信する。 -通常サービスの実行アカウントで実行される。 -(偽装をおこなえば)認証されたアカウントで実行される。 **Windwos認証 [#m4be745d] HTTPやSMBなどの通信ライブラリに組み込まれており、~ 実行アカウントを使用しオートネゴシエートで認証することが可能。 ***NTLM認証 [#zb3340de] -[[ミラーアカウント]]でも、[[Active Directory]]でも可能。 -(偽装をおこなえば)認証されたアカウントで実行される。 ***ケルベロス認証 [#o8a80b4b] -「[[Active Directory]]」が必要、インターネットに拡大できない。 -(偽装をおこなえば)認証されたアカウントで実行される。 **クッキー認証チケット型 [#la8f4c73] クッキー認証チケットを発行するタイプ -認証されたアカウントを偽装するにはカスタムの実装が必要。 ***統合認証基盤型 [#mf25a493] -SiteMinder、IceWallなどの実績のあるSSOをサポートする統合認証基盤 ***実装ルール型 [#f5c72a77] 各アプリケーションに認証クッキーの(発行と)認証の機能を実装する。~ (Webアプリケーション毎に認証Formを作成する(Forms認証)) **認証連携 [#z111c7bd] -OpenAM、[[ADFS>フェデレーション サービス (AD FS)]] などの実績のあるSSOをサポートする認証連携基盤 -異なるベンダのアクセス制御製品間の相互運用性を推進し、~ 企業間の独立したサービスをグローバルなSSOで連携させることが可能。 -認証されたアカウントを偽装するにはカスタムの実装が必要。 ***プロトコル [#sa6cf928] -クッキー認証チケットを使用しない。 --クッキーを第三者が不正使用してなりすましを許す可能性がある。 --クッキーはクッキードメインの中でしか有効ではない。 -標準化仕様 --[[SAML]] --[[WS-Federation]] --[[OpenID]] ***製品 [#ccf56f5a] -OpenAM -[[ADFS>フェデレーション サービス (AD FS)]] *選定 [#i8941f0c] **HTTPの認証 [#eb58ce03] HTTPの認証なのでWebサーバでサポートされる。 **Windwos認証 [#m0ad1078] Windows環境であれば。 -NTLM認証をサポートするクライアントも多い。 -SambaでLinux環境のケルベロス認証も可能。 --Samba4でのActive Directory構築 - OSSでLinuxサーバ構築~ http://www.oss-d.net/samba4/ad ***NTLM認証 [#zf1dd267] -[[ミラーアカウント]]でも、[[Active Directory]]でも可能。 -デスクトップへのログインと連動したSSO認証が可能。~ ただし、[[ミラーアカウント]]の場合は、アカウントの管理が面倒。 -ベースクライアント認証でのダブルホップが不可能。 -ADが無いので、別途DBなどを用意して追加の承認の機能を実装できる。 ***ケルベロス認証 [#a8d0341c] -「[[Active Directory]]」が存在する場合。 -デスクトップへのログインと連動したSSO認証が可能。 -ベースクライアント認証でのダブルホップが可能。 -ADが有るので、各アプリケーションにLDAPを使用した追加の承認の機能を実装できる。 **クッキー認証チケット型 [#q11063ab] -各アプリケーションに認証情報を使用した承認の機能を実装する。 ***統合認証基盤型 [#bcd2a481] -認証をISAPIレイヤで処理するので、基盤構築作業として対応でき、~ Webアプリケーション側に特別な作り込みは必要ないため、大きなメリットになる。 -ディレクトリ・サービスと連携している場合、~ 各アプリケーションにこの情報を使用した追加の承認の機能を実装できる。 ***実装ルール型 [#t68197e3] -フレームワークに実装するとすると、こちらの方式になるが。 --Java、.NETなど言語が混在になると、個別の部品を整備する必要があり面倒になる。 ---ASP.NETのForms認証 ---独自Frameworkの独自認証 **認証連携 [#tf6b40d2] *余談 [#zf3414e4] ASP.NETのForms認証では、 -クッキー認証チケットをクロスサイトで使用できる。 -ただし、クロスドメインでの引継は不可能。 クロスドメイン間のサイトで、テンポラリの認証情報をQueryString等で引き継いで、~ 連携先サイトで、別途Forms認証のクッキー認証チケットを発行すると言う方式の実績もありますが、~ 要件に合わないようなら、個別に「クッキー認証チケット型」の認証基盤の導入を検討した方が良さそうです。