ラベル Kerberos の投稿を表示しています。 すべての投稿を表示
ラベル Kerberos の投稿を表示しています。 すべての投稿を表示

2015年3月7日土曜日

[告知]Japan SharePoint Group勉強会でお話します

なんだか久しぶりの大阪でのイベントです。

SharePoint MVPの山崎さんにお誘いいただき、少々お話をすることになりました。 
と、言っても特にSharePointについてネタがあるわけではないので、Web Application Proxy(WAP:旧AD FS Proxy)とAzure WAPについて話をしようかな、と。

WAPの使い方ってOffice365をインターネット経由で使う時に、Active Directory Federation Services(AD FS)にアクセスするための単純なリバースプロキシ、という認識の方も多いと思うのですが、個人的にその真の価値はws-federation / ws-trustで使われるSAMLトークンをWindows統合認証で使われるKerberosトークンに変換するところにあると考えています。

例えば、オンプレにWindows統合認証で組まれた古いSharePointがあり、そのポータル上には同じくWindows統合認証で組まれたClassic ASPのIISアプリがあって、という環境において、スマホをはじめとする非ドメイン端末からアクセスすると、認証ダイアログが山の様に出てきて、というような問題が起きるわけです。
そんな場合、本来であればアプリケーションを利用環境に合わせて修正していくのが筋なんでしょうが、そんなに簡単に修正・移行できるわけではないので、一時的なワークアラウンドとしてWAPを間に挟み、社外や非ドメイン端末はAD FSでフォーム認証し、発行されたSAMLトークンをWAPがKerberosトークンに変換してWindows統合認証を行う、ということも可能になるわけです。

そのあたりを少しデモも交えつつ紹介できればなぁ、、と。

以下が申込みサイトです。
 Japan SharePoint Group 勉強会 #18
 http://jpsps.com/event/20150314/

3/14(土)に大阪ですが、お暇な方はどうぞ。

2012年11月21日水曜日

Kerberos 認証の設定を確認する


Forefront Identity Manager 2010 (FIM 2010)に限らず Microsoft の製品群は Active Directory を使った Kerberos 認証を多用しています。
こいつです↓(違

図:ケルベロス(笑)

これは、いわゆる「ダブルホップ」と言われる認証の委任を行うことが多いためです。
※もちろん他の理由もありますが。

ダブルホップを知らない方に向けたおさらいですが、Windows ネットワークの世界での認証は一般に NTLM 認証と Kerberos 認証が利用されます。そして、Windows サーバで構成される Web システムといえば、IIS -> SQL Server での2層構造が主流です。
※ブラウザから IIS へアクセスし、IIS が SQL Server へアクセスするという形でホップが2重になっていることからダブルホップと呼ばれます。

この時、NTLM 認証を使っているとクライアントの資格情報を2段階目のホップ(IIS -> SQL Server)へ引き継ぐ(委任)ことが出来ないため、IIS のアプリケーションプールに指定したアカウントを使って SQL Server へアクセスすることになります。アプリケーションプールに指定したユーザアカウントが SQL Server に対して正しくアクセスできる状況であればこの構成でも問題はありませんが、本来はアクセスしてきたユーザの個人アカウントの権限に基づいて SQL Server にアクセスさせたいところです。

図:NTLM 認証フロー

そこで、SharePoint や FIM 2010 をはじめとする Windows で構成された Web システムでは Kerberos 認証を利用します。Kerberos 認証ではユーザの資格情報を委任することが可能となるため、元々のユーザの資格情報を引き継いでバックエンドのサービスへアクセスできます。

図:Kerberos 認証フロー

尚、ダイアグラム内に出てくる SPN(Service Principal Name)については国井さんの blog の以下のエントリを参照してください。
 Service Principal Name (SPN) について
 
と、ここまでは前段なのですが、SPN や Kerberos の設定って往々にして間違えやすいのと間違っていても場合によっては気が付きにくい、という特性があるので、実際のユーザアクセスの中でちゃんと Kerberos 認証が利用できているのか?を確認する必要があります。

そんな時に有用なのが
 Kerberos Authentication Tester
 http://blog.michelbarneveld.nl/michel/archive/2009/12/05/kerberos-authentication-tester.aspx
です。

簡単に言うと Web リクエストの中で使われた認証方式や Kerberos 認証で使われた SPN などの情報を出力してくれるツールです。

起動して、Url の欄に FIM Portal のアドレスを入れて [Test] をクリックしてみます。
上手く Kerberos 認証を使うように設定できていれば、Authentication type に Kerberos と表示されるはずです。


また、details のリンクをクリックすると更に細かい情報も表示されます。

SharePoint や FIM 2010 を構築した後にとりあえずこのようなツールを使って確認してみると良いと思います。
また、最近は象クラスタの人からも Kerberos が人気なようなので改めて Kerberos 自体のおさらいをしてみるのも良いかも知れません。