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

2011年2月20日日曜日

クレームの発行状態を確認する

AD FS2.0やAppFabric ACSを使った外部認証を有効にしたアプリケーションを開発しているとちゃんとセキュリティトークンが発行されているのか、トークンの中のクレームに何が入っているのかの確認をしたくなります。
もちろんfiddlerを使って実際のHTTPのやり取りの中からPOSTされるSAMLトークンをキャプチャしてSAML 2.0 Debuggerでデコードする、というのもやり方としてはありなのですが、いかんせん生のXMLを見ていく必要がありますし何より手順として少々面倒です。

ということで、私が使っているのがSecurity Token Visualizer Control(STVC)です。PDC等のカンファレンスでVittorioさんが使っているのを見たことがある方もいらっしゃると思いますが、彼がcodeplexに公開しているSAML2.0のトークンを解析して表示してくれるコントロールです。

公開URL:
http://archive.msdn.microsoft.com/TokenVisualizerCtrl

最新版:
SecurityTokenVisualizerControl PDC09 WIF RTM


■環境の構築
※WIF SDKやVisual Studio、IISのアプリケーションプールの設定が正しくされている前提です。

・アーカイブを展開する
では、さっそく使ってみましょう。上記URLからダウンロードしたファイルを実行するとアーカイブの展開および環境のチェック、デプロイが行われるのですが最新版がPDC09とあるように少々古い環境なので最近の環境ではそのままでは使えず、セットアップ過程におけるDependency Checkerでこけてしまいます。これは前提となる環境がVisual Studio 2008だったりするせいなので、アーカイブの展開が終わったらさっさとキャンセルボタンを押してセットアップは省略してしまいましょう。
すると、展開先のフォルダ以下にアーカイブが展開され、「code\Microsoft.Samples.DPE.Identity.Controls\bin\Debug」以下にSecurityTokenVisualizerControl.dllが出来ています。
もちろん同梱されているプロジェクトをVisual Studio 2010でビルドしなおしてdllを再作成してもOKですが、面倒なのでこのdllをそのまま使ってしまいます。

・作成するプロジェクト内でSTVCを利用する
この辺りはVisual Studioを使い慣れている方には当たり前なのでしょうが、上記で解凍したコントロール(dll)をプロジェクトで使えるようにするためにコントロールを参照する必要があります。

ツールボックスを表示して、コントロールの参照から解凍したdllを参照します。
すると、ツールボックス内にSTVCのアイコンが出てきますので、プロジェクトのWebページ上にドラッグ&ドロップします。これでコントロールの配置は完了です。




















・Federation Utilityを実行しSTSへの参照設定を行う
ここはAD FS2.0やACSを使った外部認証を有効にする手順と同じですが、Federation Utilityを使ってSTS参照を有効にします。今回はACSを参照することにします。
※もちろんACS側へのRelying Partyの設定も必要です。














・ちょこっとweb.configを修正する
実はFederation Utilityを実行してもweb.configに手動で設定を行う必要があります。(.NET Framework 4.0を使う場合のみ?)結構はまりポイントなので、うまく動かない場合は一度このあたりの設定を疑ってみる必要があるかもしれません。

<system.web>以下
 <httpRuntime requestValidationMode ="2.0"/>

<microsoft.identityModel>以下
 <service saveBootstrapTokens="true">


これで準備は完了です。

■使ってみる
では、作成したプロジェクトを発行してWebページにアクセスしてみます。

まずはACSで認証されます。




















うまくトークンとクレームが発行されていれば、Webページのコントロールをクリックして展開されるテーブルにトークンの情報が表示されるはずです。













上の方に発行されたクレームの型と値、発行元の情報が、下の方に実際に発行されたSAMLトークンの情報が表示されているのがわかります。


アプリケーションのデバッグはもちろん、AD FS2.0やACSなどの基盤が正しく動作していることの確認を行うためにも使えそうです。(もちろんデモ用途にも)

2010年11月8日月曜日

PDC2010でのアイデンティティ関連セッション

少し時間が経ってしまいましたが先日のPDC2010のアイデンティティ関係のセッション(といっても一つだけでしたが)の概要を紹介したいと思います。

セッションはおなじみのVittorio Bertocciによるもので
Identity & Access Control in the Cloud
というタイトルのものです。
PDCのオフィシャルサイトで動画とスライドが公開されています。(同時通訳も公開されているので日本語でも聞くことができます。たぶん英語で聞いたほうがわかりやすいとは思いますが・・・。後、動画を見るとわかりますがタブレットでスライドにリアルタイムで絵をかきながらプレゼンを進めていたり、デモが多いのでスライドだけをダウンロードしても何もわからないと思います)

内容ですが、メインテーマは「アプリケーションをクラウドに移行するにあたって認証やアイデンティティをどうするか?」というもので、以下のステップで解説をしています。
1.オンプレミス・アプリケーションの認証
2.Windows Azure上のアプリケーションの認証
3.複数の企業が存在する場合
4.ソーシャルプロバイダで認証
5.他のアプリケーション用の認証
6.モバイルの例


それぞれを簡単に解説します。
1.オンプレミス・アプリケーションの認証
  自社内にデータセンタがあり、アプリケーションがある
  本人認証はActive Directoryを使うことによりアプリケーションから分離できる













2.Windows Azure上のアプリケーションの認証
  アプリケーションをWindows Azure上に持っていく
  STS(AD FS2.0)をDirectoryの上に乗せる=IdPとなる
  Claim-Basedという考え方が必要となる
  アプリケーション側にClaimを解釈する仕組み(Windows Identity Foundation=WIF













3.複数の企業が存在する場合
  HomeRealm Discoveryが必要になる
  →IdPのリストを表示することで対応する
  企業ごとにIdPを持っているのでトークンのフォーマットが異なる
  →中間にFederation Providerを配置し、トークンの変換を行う
   Microsoftが用意したのがAppFabric Access Control Service(ACS)である














4.ソーシャルプロバイダで認証
  Facebook、Google、WindowsLive、Yahoo!を例として取り上げる
  課題は、それぞれプロトコルが違う(facebook api,openid,live api...)ことである
  WIFのようなライブラリが個々のプロトコル(しかも頻繁に変わる)をサポートするのではなく、Federation Providerでプロトコルを変換する














5.他のアプリケーション用の認証
  OAuthの話
  ACSが呼び出し元となるFacebook上のアプリケーションにアクセストークンを渡す
  Facebook上のアプリケーションがAzure上のアプリケーションにトークンを渡すことでリソースを利用する













6.モバイルの例
  モバイル(Windows Phone7)上で動くSilverlightアプリケーションの認証をACS経由でFacebookで行い、Azure上のサービスを利用する
















尚、スライド上で出てくるデモについては今週ベルリンで開催されるTechEd Europeでさらに詳細に解説されるようです。
また、Windows Phone7でのデモについてはVittorioのblogで公開されています。



全体を通じて感じたことですが、PDCというDeveloper対象のイベントの性質上もあるのかも知れませんが、Identity Federationの訴求ポイントが「ソーシャルプロバイダとの連携機能を持つACSを使ったAzure上のアプリケーションを開発することにより、5億人もいるFacebookユーザをターゲットすることができる」というビジネスチャンスの拡大にあった点が印象的でした。













現状日本においてはIdentity FederationはあくまでIT管理者をターゲットに「いかにセキュアに自社のアプリケーションをクラウドに持っていくか」という点が訴求ポイントになっていることが多いと思われる中でこれは非常に印象が強かったポイントでした。(しかもマイクロソフトが公式に発言している点で)
日本では「クラウド上でアプリケーションを展開する」という段階のハードルをまずは超える必要があるからだと思われますが、新しいACSのリリースされるタイミングで同様の考え方も広がってくると面白いと思います。

2009年11月20日金曜日

[PDC09]S+S IdentityそしてWIF1.0

USではPDC09が盛り上がっているようですね。
現場の様子は砂金さんがtwitterとblogで実況していただいていたり、オンデマンドの動画配信があるので国内にいても色々と情報を入手できます。

さて、そんな中Kim Cameronのセッションの中でRC1からまだ2週間も経っていないのにWindows Identity Foundation 1.0が発表されてしまいました。
















PDC09のKim Cameronによるセッション「Software + Services Identity Roadmap Update」の資料および動画はこちらからダウンロードできます。

Windows Identity Foundation(WIF)関係では下記のものがリリースされました。
Windows Identity Foundation
Windows Identity Foundation SDK
Identity Developer Training Kit (PDC 2009)

他にもMicrosoft .NET Services SDK (Nov 2009 CTP)などもリリースされています。

さすが開発者向けのビッグイベントですね。

今さっそく色々と試していますので、またレポートしようと思います。

2009年10月27日火曜日

開催直前PDC09。そしてTech・Days2010

Azureのローンチということで盛り上がっているPDC09(Professional Developer Conference)の開催(2009/11/17-19)が迫ってきました。

そんな中Best Of PDC/Tech・Days2010のサイトがオープンしています。
http://www.microsoft.com/japan/events/techdays/2010/(2月23日~24日@ホテルグランパシフィックLE DAIBA)

砂金さんのblogを見ているとまだ誰がキーノートを担当するのかが決まっていなさそうなので、是非Kim Cameron(もしくはDavid Cutler)を!と思ったりしています。

セッションについても当然これから選定ということなのでしょうが、試しに本家PDCのセッションからIdentityというキーワードで引っ張って見ました。

セッション名スピーカー概要
The ‘M’-Based System.Identity Model for Accessing Directory ServicesGert Drapers, Kim CameronHear about our investigation into modeling directory services data using an "M"-based logical model called System.Identity, which is included in the "Repository" CTP. See how to benefit immediately …
Leveraging and Extending Microsoft SharePoint Server 2010 Identity FeaturesVenky VeeraraghavanGet an architectural and programmatic overview of Claims based Identity implemented in SharePoint 2010 including how identity is dealt with at Sign-in and for service calls both within SharePoint and …
How Microsoft SharePoint 2010 was Built with the Windows Identity FoundationSesha ManiExplore how SharePoint 2010 has undergone a shift in identity and access control by adopting the claims-based object model offered by Windows Identity Foundation (WIF). Learn how SharePoint 2010 …
Microsoft Project Code Name “Repository”: Using Metadata to Drive Application Design, Development, and ManagementShoshanna Budzianowski, Keith ShortCome see how to use the Microsoft SQL Server "Repository" to increase speed and accuracy of development, deployment, maintenance, and management of your enterprise applications. The "Repository" is a …
Enabling Single Sign-On to Windows Azure ApplicationsHervey WilsonLearn how the Windows Identity Foundation, Active Directory Federation Services 2.0, and the claims-based architecture can be used to provide a uniform programming model for identity and single …
Software + Services Identity Roadmap UpdateKim Cameron, Dmitry SotnikovAt PDC 2008, Microsoft unveiled a comprehensive offering of identity software and services, based on the industry standard claims-based architecture, and designed to address the rapidly growing …
Windows Identity Foundation OverviewVittorio BertocciHear how Windows Identity Foundation makes advanced identity capabilities and open standards first class citizens in the Microsoft .NET Framework. Learn how the Claims Based access model integrates …
Architecting and Developing for Windows AzureChris AuldGain the skills to architect and develop real-world applications using Windows Azure. Going beyond ‘demo-ware’ we examine the theory and technical implementation of large scale elastic applications. …
Microsoft Technology OverviewMichele Leroux BustamanteDevelopers have increasingly more on their minds and on their plates. Though Microsoft Visual Studio and the Microsoft .NET Framework both provide tools that yield an overall increase in productivity …


やはりDeveloper向けということもありWIF(Windows Identity Foundation)やOsloのM言語でのディレクトリアクセスといった内容が多いのですが、少なくとも
・Enabling Single Sign-On to Windows Azure Applications
・Software + Services Identity Roadmap Update
については日本でもやってくれれば、と思います。