伊藤忠テクノソリューションズ株式会社<br /> 情報通信技術第4部    山之内 安甲子<br /> 西日本システム技術第1部 富士榮 尚寛<br />Silverlight と WIF によるアプリケーション連携<br />セッション ID...
セッションの目的とゴール<br />セッションの目的<br />アイデンティティ連携の利用用途(一部)を理解していただく<br />AD FSv2、WIF、Silverlight を利用したアプリケーション/アイデンティティ連携のデモ<br /...
アジェンダ<br />基本用語<br />アイデンティティ連携とは<br />アイデンティティ連携は何をもたらすのか<br />シングルサインオン<br />アクセス権限管理<br />Silverlight における認証<br />Silve...
基本用語本スライド内では下記の用語が出てきます<br />アイデンティティ(Identity)<br />IdP(Identity Provider)<br />STS(Security Token Service)<br />クレーム(Cla...
基本用語関連用語の解説<br />アイデンティティ(Identity)<br />デジタル・アイデンティティ<br />サブジェクト(ユーザ等)そのものを表すもの<br />特徴:身長、髪型<br />性質:気が短い<br />属性:所属、性別...
基本用語関連用語の解説<br />IdP、STS、トークン、クレーム<br />IdP(Identity Provider)<br />アイデンティティ情報を提供するサービス<br />通常認証に基づき情報を提供する(トークンの発行)<br /...
基本用語関連用語の解説<br />AD FSv2<br />マイクロソフトの IdPの実装<br />Windows Server 2008 / R2 の更新モジュール<br />AD FSv1.1 までは STS が提供されていなかった<br...
アイデンティティ連携とはアイデンティティ連携は何をもたらすのか<br />アイデンティティ連携とは<br />アイデンティティフェデレーションと同義<br />元々はアイデンティティを提供する側(IdP)と利用する側(RP)の間でアイデンティテ...
アイデンティティ連携とはシングル・サインオン(SSO)<br />認証機能の切り出し<br />IdP(認証システム)<br />RP(アプリケーション)<br />認証<br />3.認証<br />4.認証結果をPOST<br />2.Id...
アイデンティティ連携とはアクセス権限管理<br />認証元による付与権限の区分け<br />RP(アプリケーション)<br />IdP(認証システム)<br />IdP B<br />トークン変換<br />IdP A<br />認証<br /...
アイデンティティ連携とはアクセス権限管理<br />トークン変換による権限管理<br />IdP A で認証された場合<br />IdP B で認証された場合<br />RP<br />IdP B<br />IdP A<br />属性名:役割<...
Silverlight における認証Silverlight からの WIF 呼び出し<br />ホストしている ASP.NET の認証状態を利用<br />ASP.NET の認証は WIF で外部へ切り離し<br />クライアントにダウンロード...
Silverlight における認証Silverlight からのWIF 呼び出し<br />ソリューション構成<br />SL.InBrowser.Web(ASP.NET)<br />FedUtil.exe で外部 STS(AD FS)を参照...
Silverlightにおける認証Silverlightからの WIF 呼び出し<br />各モジュール間の関連<br />SL.InBrowser.Client<br />SL.InBrowser.Web<br />SL.IdentityMo...
Silverlightにおける認証Silverlight からの WIF 呼び出し<br />SL クライアントからの呼び出し設定<br />App.xaml<br />ネームスペース設定<br />サービス用オブジェクト設定(ClaimsId...
App.xamlへの記述<br />■Applicationタグへの属性追加<br />xmlns:id=<br />"clr-namespace:SL.IdentityModel.Services;assembly=<br />SL.Iden...
Main.xaml.csへの記述<br />■SL.IdentityModelへの参照<br />using SL.IdentityModel.Claims;<br />using SL.IdentityModel.Services;<br /...
Silverlight における認証Silverlight からの WIF 呼び出し<br />SL をホストする ASP.NET Web ページ側設定<br />STS 参照の設定<br />Fedutil.exe の実行(管理者として VS...
Web.configへの記述<br />■system.webserverセクション<br /><validation validateIntegratedModeConfiguration="false" /><br />■configura...
Auth.svcへの記述<br />■既存をすべてクリアして以下を記述<br /><%@ ServiceHost Language="C#" Debug="true" <br />Factory="SL.IdentityModel.Server...
Silverlight における認証AD FSv2 の設定/IdPへのRP の登録<br />RP からの呼び出しに対応するためにあらかじめ<br />RPを登録しておく<br />RP の登録(証明書利用者信頼)<br />Federatio...
Silverlightにおける認証AD FSv2 の設定/外部 IdPの登録<br />外部のシステムによる認証結果を受け付けるため<br />にフェデレーション先の IdPの登録を行う<br />※IdPが複数存在する場合<br />IdPの...
アイデンティティ連携によるアクセス権限管理<br />コールセンタ代行業者のオペレータが通販事業者のアプリケーションを利用する際、アイデンティティ連携によりアクセス権限管理を行います<br />DEMO<br />
想定ケース登場人物<br />通販事業者 : A 社<br />TVショッピング業界大手<br />深夜の健康器具販売がブームに乗り急成長<br />社長のパフォーマンスがヒットの決め手?<br />コールセンタ代行業者 : B 社<br />...
想定ケースA社が直面している状況<br />コールセンタ席数不足による機会損失<br />A 社は急成長のため、現在のコールセンタ席数ではすべての注文コールに対応できなくなりつつあり、機会損失が発生している<br />コールセンタ業務のアウトソ...
想定ケースアウトソーシングに関する課題<br />A 社の悩み<br />受注システムへの登録業務なのでオペレータのID は共有ではなく個人別にしたいと思っている<br />しかし、A 社側でオペレータ個人の情報の管理をしたくない<br />重...
チャレンジ課題と解決策<br />委託先アイデンティティ管理<br />委託先での個人 ID 管理の実施<br />委託元でのアクセス制御の実施<br />使いやすいアプリケーション<br />ブラウザ特有のオペレーションからの解放<br />...
デモ環境アイデンティティ連携によるアクセス権限管理<br />受注管理システム(SP)<br />注文<br />注文参照<br />発送処理<br />注文登録<br />管理<br />発送担当<br />管理者<br />オペレータ<br...
デモ環境アイデンティティ連携によるアクセス権限管理<br />IdP<br />各 IdPは AD FSv2 + AD DS で構築<br />IdP B で認証されたユーザの役割属性を IdP Aで文字列Operatorsに変換<br />R...
デモ環境IdPの設定内容<br />コールセンタ代行業者の IdP(IdPB)<br />ADDS<br />ユーザの所属グループ:Domain Users<br />AD FSv2<br />証明書利用者信頼(RP) : 通販事業者の IdP...
デモ環境IdPの設定内容<br />通販事業者の IdP(IdP A)<br />ADDS<br />ユーザの所属グループ<br />発送担当 : Domain Users<br />管理者 : Domain Admins<br />AD FS...
デモ環境IdPの設定内容<br />AD FSv2<br />要求規則( IdP B で認証されたユーザ用)<br />入力方向の要求をパススルー<br />名前、役割<br />要求規則( IdPA で認証されたユーザ用)<br />LDAP...
デモ環境IdPの設定内容<br />要求プロバイダー信頼<br />コールセンタ代行業者の IdP ( IdP B )<br />要求規則<br />入力方向の要求をパス スルー<br />名前<br />役割(要求値:Operators のみ...
アクセスフロー通販業者ユーザ<br />以下のフローでアプリケーションへログイン<br />ブラウザ<br />IdP A<br />アプリケーション<br />アプリケーションへアクセス<br />IdP Aへリダイレクト(web.conf...
アクセスフローコールセンターユーザ<br />以下のフローでアプリケーションへログイン<br />ブラウザ<br />IdP A<br />アプリケーション<br />IdP B<br />アプリケーションへアクセス<br />IdP A へ...
環境構築方法(1)<br />必要な環境<br />IIS Server<br />ASP.NET<br />IIS管理コンソール<br />IISメタベースおよびIIS 6 構成との互換性<br />静的コンテンツ<br />Windows7...
環境構築方法(2)<br />SilverlightAndIdentityセットアップ注意点<br />Silverlight4 tools for Visual Studio 2010<br />英語版かつバージョン10.0.30319.15...
まとめ<br />アイデンティティ連携<br />企業間でのアプリケーション連携やクラウド・サービスの利用で威力を発揮<br />Silverlight から WIF を使う際は一工夫必要<br />とりあえずIdentity Develope...
リファレンス<br />システム管理者のためのフェデレーション講座http://www.microsoft.com/japan/powerpro/TF/column/nf_01_1.mspx<br />Windowsで構築する、クラウド・サービ...
リファレンス<br />Identity Developer Training Kit 2010/06版http://www.microsoft.com/downloads/details.aspx?FamilyID=C3E315FA-94E2...
リファレンス<br />Security for Azure, WCF, Windows Phone 7, and Silverlight<br />Part1http://blogs.msdn.com/b/brunoterkaly/archi...
ご清聴ありがとうございました。<br />BoF-09<br />アンケートにご協力ください。<br />
Upcoming SlideShare
Loading in...5
×

BoF-09 Silverlight and WIF /TechEd Japan 2010

2,864

Published on

TechEd Japan 2010 の BoF-09 で使用したスライドです。
Sliverlight+WIF+ADFS2.0で外部認証環境を構築します。

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,864
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
30
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • フォントは以下を守ってください。セッションID は、フォント 24P タイトルは、 40P会社名、部署、役職、氏名は、28P※部署については、JSLTレベルの組織名を入れてください。 例:「デベロッパー &amp; プラットフォーム統括本部」 ※今回はこれ以外の情報掲載は NG とします。
  • アジェンダ スライドは必ず入れるようにしてください。
  • フォントは Consolas を使用すること動作する全体のコードではなく、説明に要する部分のみを記載すること フォント 22pt 以上 字が小さいものはレビューで指摘する可能性があります。全体コードを提供したい場合は下記の方法のいずれかをとってください。・ デモ Bits としてソリューションやプロジェクトをそのまま提供 これが推奨・ 補足資料として締めスライド後につける ・ 分割して何枚かにする
  • フォントは Consolas を使用すること動作する全体のコードではなく、説明に要する部分のみを記載すること フォント 22pt 以上 字が小さいものはレビューで指摘する可能性があります。全体コードを提供したい場合は下記の方法のいずれかをとってください。・ デモ Bits としてソリューションやプロジェクトをそのまま提供 これが推奨・ 補足資料として締めスライド後につける ・ 分割して何枚かにする
  • フォントは Consolas を使用すること動作する全体のコードではなく、説明に要する部分のみを記載すること フォント 22pt 以上 字が小さいものはレビューで指摘する可能性があります。全体コードを提供したい場合は下記の方法のいずれかをとってください。・ デモ Bits としてソリューションやプロジェクトをそのまま提供 これが推奨・ 補足資料として締めスライド後につける ・ 分割して何枚かにする
  • フォントは Consolas を使用すること動作する全体のコードではなく、説明に要する部分のみを記載すること フォント 22pt 以上 字が小さいものはレビューで指摘する可能性があります。全体コードを提供したい場合は下記の方法のいずれかをとってください。・ デモ Bits としてソリューションやプロジェクトをそのまま提供 これが推奨・ 補足資料として締めスライド後につける ・ 分割して何枚かにする
  • このスライドは今年は印刷用としてあるのみで表示には使用しません。
  • BoF-09 Silverlight and WIF /TechEd Japan 2010

    1. 1.
    2. 2. 伊藤忠テクノソリューションズ株式会社<br /> 情報通信技術第4部    山之内 安甲子<br /> 西日本システム技術第1部 富士榮 尚寛<br />Silverlight と WIF によるアプリケーション連携<br />セッション ID:BoF-09<br />
    3. 3. セッションの目的とゴール<br />セッションの目的<br />アイデンティティ連携の利用用途(一部)を理解していただく<br />AD FSv2、WIF、Silverlight を利用したアプリケーション/アイデンティティ連携のデモ<br />AD FSv2 : Active Directory Federation Services 2.0<br />WIF : Windows Identity Foundation<br />セッションのゴール<br />アイデンティティ連携の用途をイメージする<br />AD FSv2 によるアイデンティティ連携の実装を理解する<br />Silverlight + WIF による実装を理解する<br />
    4. 4. アジェンダ<br />基本用語<br />アイデンティティ連携とは<br />アイデンティティ連携は何をもたらすのか<br />シングルサインオン<br />アクセス権限管理<br />Silverlight における認証<br />Silverlight からのWIF 呼び出し<br />AD FSv2 の設定<br />デモ<br />アイデンティティ連携によるアクセス権限管理<br />まとめ<br />
    5. 5. 基本用語本スライド内では下記の用語が出てきます<br />アイデンティティ(Identity)<br />IdP(Identity Provider)<br />STS(Security Token Service)<br />クレーム(Claim)<br />トークン(Token)<br />AD FSv2(Active Directory Federation Services 2.0)<br />WIF(Windows Identity Foundation)<br />RP(Relying Party)<br />
    6. 6. 基本用語関連用語の解説<br />アイデンティティ(Identity)<br />デジタル・アイデンティティ<br />サブジェクト(ユーザ等)そのものを表すもの<br />特徴:身長、髪型<br />性質:気が短い<br />属性:所属、性別、名前<br />識別子(Identifier)ではない<br />
    7. 7. 基本用語関連用語の解説<br />IdP、STS、トークン、クレーム<br />IdP(Identity Provider)<br />アイデンティティ情報を提供するサービス<br />通常認証に基づき情報を提供する(トークンの発行)<br />STS(Security Token Service)<br />トークンを発行するサービス<br />トークン<br />アイデンティティ情報そのもの(認証結果、アイデンティティ情報の集合体)<br />クレームをカプセル化しデジタル署名したもの<br />クレーム<br />アイデンティティ情報(属性情報)<br />
    8. 8. 基本用語関連用語の解説<br />AD FSv2<br />マイクロソフトの IdPの実装<br />Windows Server 2008 / R2 の更新モジュール<br />AD FSv1.1 までは STS が提供されていなかった<br />WIF<br />マイクロソフトによって提供される RP 実装用のライブラリ<br />RP(Relying Party)<br />アイデンティティ情報を利用するアプリケーション等<br />トークンの解釈(クレームの取出し)を行う<br />
    9. 9. アイデンティティ連携とはアイデンティティ連携は何をもたらすのか<br />アイデンティティ連携とは<br />アイデンティティフェデレーションと同義<br />元々はアイデンティティを提供する側(IdP)と利用する側(RP)の間でアイデンティティ情報の紐付けをすること<br />アイデンティティ連携がもたらすモノ<br />シングルサインオン<br />アプリケーションからの認証機能の切り出し<br />アクセス権限管理<br />認証元(Realm)による付与権限の区分け<br />
    10. 10. アイデンティティ連携とはシングル・サインオン(SSO)<br />認証機能の切り出し<br />IdP(認証システム)<br />RP(アプリケーション)<br />認証<br />3.認証<br />4.認証結果をPOST<br />2.IdPへリダイレクト<br />同じ IdPで認証される RP群ならセッション維持中は認証は不要=SSO の実現<br />1.RPへアクセス<br />利用者<br />
    11. 11. アイデンティティ連携とはアクセス権限管理<br />認証元による付与権限の区分け<br />RP(アプリケーション)<br />IdP(認証システム)<br />IdP B<br />トークン変換<br />IdP A<br />認証<br />4.IdP Bで変換された認証結果をPOST<br />3.認証<br />2.IdP B->Aへリダイレクト<br />認証トークンの変換を行うことにより認証元によりRPへ渡す権限情報を変える<br />1.RPへアクセス<br />利用者<br />
    12. 12. アイデンティティ連携とはアクセス権限管理<br />トークン変換による権限管理<br />IdP A で認証された場合<br />IdP B で認証された場合<br />RP<br />IdP B<br />IdP A<br />属性名:役割<br />Domain Users<br />AD グループ名<br />属性名:役割<br />Entryとして取得<br />属性名:役割<br />Domain Users<br />-> Entry へ<br />認証元 IdPによって役割を変える(もしくは固定する)ことで RP にわたる属性を制御し権限を管理<br />RP<br />IdP B<br />属性名:役割<br />Staff として取得<br />属性名:役割<br />Domain Users<br />AD グループ名<br />
    13. 13. Silverlight における認証Silverlight からの WIF 呼び出し<br />ホストしている ASP.NET の認証状態を利用<br />ASP.NET の認証は WIF で外部へ切り離し<br />クライアントにダウンロードされて動くので動作可能なライブラリの種類が限定的<br />Silverlight から直接 WIF を参照できない<br />Silverlight 対応の WCF サービスを経由してWIF を呼び出す<br />Identity Developer Training Kit に含まれる SL.IdentityModelライブラリを利用<br />ASP.NET 側は SL.IdentityModel.Serverを参照<br />
    14. 14. Silverlight における認証Silverlight からのWIF 呼び出し<br />ソリューション構成<br />SL.InBrowser.Web(ASP.NET)<br />FedUtil.exe で外部 STS(AD FS)を参照<br />SL.IdentityModel.Serverをプロジェクト参照<br />Auth.svc(Silverlight 対応 WCF サービス)がSL.Identity.Model.Serverを使用<br />SL.InBrowser.Client(Silverlight アプリ)<br />SL.IdentityModelをプロジェクト参照<br />SL.IdentityModel<br />WIF をラップしたライブラリ(Proxy)<br />SL.IdentityModel.Server<br />WIF をラップしたライブラリ(サーバ)<br />
    15. 15. Silverlightにおける認証Silverlightからの WIF 呼び出し<br />各モジュール間の関連<br />SL.InBrowser.Client<br />SL.InBrowser.Web<br />SL.IdentityModel<br />(WCFサービスProxy / Silverlight APL)<br />Auth.svc<br />(WCFサービス)<br />SL.IdentityModel.Server(クラスライブラリ)<br />Silverlightアプリケーション<br />IdP(STS)<br />Microsoft.IdentityModel(WIF)<br />ASP.NETWEBアプリケーション<br />
    16. 16. Silverlightにおける認証Silverlight からの WIF 呼び出し<br />SL クライアントからの呼び出し設定<br />App.xaml<br />ネームスペース設定<br />サービス用オブジェクト設定(ClaimsIdentitySessionManager)<br />Main.xaml<br />認証が完了したらユーザ情報(クレーム)を表示するメソッドの実装<br />GetClaimsIdentityCompleteイベントハンドラの設定<br />取得したクレームを表示するメソッド<br />
    17. 17. App.xamlへの記述<br />■Applicationタグへの属性追加<br />xmlns:id=<br />"clr-namespace:SL.IdentityModel.Services;assembly=<br />SL.IdentityModel“<br />■ClaimSessionIdentitySessionManagerオブジェクト設定<br /><Application.ApplicationLifetimeObjects><br /> <id:ClaimsIdentitySessionManager><br /> <id:ClaimsIdentitySessionManager.IdentityProvider><br /> <id:WSFederationSecurityTokenService/><br /> </id:ClaimsIdentitySessionManager.IdentityProvider><br /> </id:ClaimsIdentitySessionManager><br /></Application.ApplicationLifetimeObjects><br />
    18. 18. Main.xaml.csへの記述<br />■SL.IdentityModelへの参照<br />using SL.IdentityModel.Claims;<br />using SL.IdentityModel.Services;<br />■イベントハンドラの設定<br />ClaimsIdentitySessionManager.Current.GetClaimsIdentityComplete += new EventHandler<ClaimsIdentityEventArgs>(this.Current_GetClaimsIdentityComplete);<br />■クレームの表示(name属性)<br />string userName = ClaimsIdentitySessionManager.Current.User.Identity.Name;<br />this.userNameLabel.Content = string.Format("Hi {0}!", userName);<br />
    19. 19. Silverlight における認証Silverlight からの WIF 呼び出し<br />SL をホストする ASP.NET Web ページ側設定<br />STS 参照の設定<br />Fedutil.exe の実行(管理者として VS 起動が必要)<br />STS として AD FSv2 を指定<br />Web.configの自動設定<br />Silverlight 対応 WCF サービスの設定<br />Auth.svcの作成<br />Auth.svc.csは削除<br />Auth.svcの中身は全面書き換え(SL.IdentityModel.Serverの呼び出し)<br />こちらは web.configに一部記述が必要<br />
    20. 20. Web.configへの記述<br />■system.webserverセクション<br /><validation validateIntegratedModeConfiguration="false" /><br />■configurationセクション<br /><location path="auth.svc"><br /> <system.web><br /> <authorization><br /> <allow users="*"/><br /> </authorization><br /> </system.web><br /></location><br />
    21. 21. Auth.svcへの記述<br />■既存をすべてクリアして以下を記述<br /><%@ ServiceHost Language="C#" Debug="true" <br />Factory="SL.IdentityModel.Server.AuthenticationServiceServiceHostFactory" <br />Service="SL.IdentityModel.Server.SL.IdentityModel.Server"<br /> %><br />※ちなみに、SL.IdentityModel 内で AuthenticationService.svcという名前でモジュール名がハードコーディングされているので、auth.svcという名称に変更した場合は、ClaimIdentitySessionManager.cs内のモジュール名を変更する必要がある。<br />
    22. 22. Silverlight における認証AD FSv2 の設定/IdPへのRP の登録<br />RP からの呼び出しに対応するためにあらかじめ<br />RPを登録しておく<br />RP の登録(証明書利用者信頼)<br />FederationMetadata.xml を利用<br />識別子や使用するプロトコルの設定<br />クレームマッピングルールの設定<br />この RP からの呼び出しの場合、認証されたユーザのどの属性(クレーム)をどのような形で渡すのか?の設定<br />
    23. 23. Silverlightにおける認証AD FSv2 の設定/外部 IdPの登録<br />外部のシステムによる認証結果を受け付けるため<br />にフェデレーション先の IdPの登録を行う<br />※IdPが複数存在する場合<br />IdPの登録(要求プロバイダー信頼)<br />プロトコルの指定(AD FS同士の場合は WS-Federationを利用)<br />トークン署名証明書のインポート<br />クレームマッピングルールの設定<br />この IdPから渡されるトークンの中のクレームをどのように処理するかの設定<br />外部 IdP側には本 IdPを RP として登録<br />外部 IdP-> 本 IdP(RP) -> RP というチェーン<br />
    24. 24. アイデンティティ連携によるアクセス権限管理<br />コールセンタ代行業者のオペレータが通販事業者のアプリケーションを利用する際、アイデンティティ連携によりアクセス権限管理を行います<br />DEMO<br />
    25. 25. 想定ケース登場人物<br />通販事業者 : A 社<br />TVショッピング業界大手<br />深夜の健康器具販売がブームに乗り急成長<br />社長のパフォーマンスがヒットの決め手?<br />コールセンタ代行業者 : B 社<br />地方自治体のコールセンタ誘致の波に乗り山陰地方に巨大なコールセンタを設立<br />自治体側の思惑もありある程度の雇用は確保したが、オペレータ教育が悩みの種<br />
    26. 26. 想定ケースA社が直面している状況<br />コールセンタ席数不足による機会損失<br />A 社は急成長のため、現在のコールセンタ席数ではすべての注文コールに対応できなくなりつつあり、機会損失が発生している<br />コールセンタ業務のアウトソーシング<br />しかし、自社でセンタを作るには時間・コストともに余裕がなく、B 社へコールセンタ業務を委託することに決定した<br />
    27. 27. 想定ケースアウトソーシングに関する課題<br />A 社の悩み<br />受注システムへの登録業務なのでオペレータのID は共有ではなく個人別にしたいと思っている<br />しかし、A 社側でオペレータ個人の情報の管理をしたくない<br />重要なシステムなのでオペレータのアクセス権限制御は A 社側で行いたい<br />B 社の悩み<br />オペレータの IT リテラシーにばらつきがあるが教育コストは掛けたくない<br />
    28. 28. チャレンジ課題と解決策<br />委託先アイデンティティ管理<br />委託先での個人 ID 管理の実施<br />委託元でのアクセス制御の実施<br />使いやすいアプリケーション<br />ブラウザ特有のオペレーションからの解放<br />AD FSv2 を使ったアイデンティティ連携(フェデレーション)環境の構築<br />Silverlight / WIF による RIA による<br />アプリケーション構築<br />
    29. 29. デモ環境アイデンティティ連携によるアクセス権限管理<br />受注管理システム(SP)<br />注文<br />注文参照<br />発送処理<br />注文登録<br />管理<br />発送担当<br />管理者<br />オペレータ<br />IdP B<br />IdP A<br />コールセンタ代行業者 B 社<br />通販業者 A 社<br />
    30. 30. デモ環境アイデンティティ連携によるアクセス権限管理<br />IdP<br />各 IdPは AD FSv2 + AD DS で構築<br />IdP B で認証されたユーザの役割属性を IdP Aで文字列Operatorsに変換<br />RP<br />Sliverlight + WIF で構築<br />ユーザの役割属性によってアクセス権限を変更<br />Operators : 注文登録処理<br />Staff: 注文参照処理、発送処理<br />SPAdmins: 管理系処理<br />
    31. 31. デモ環境IdPの設定内容<br />コールセンタ代行業者の IdP(IdPB)<br />ADDS<br />ユーザの所属グループ:Domain Users<br />AD FSv2<br />証明書利用者信頼(RP) : 通販事業者の IdP<br />要求規則<br />LDAP 属性を要求として送信<br />AD DSの displayName-> 名前<br />グループメンバシップを要求として送信<br />Domain Users を「Operators」として役割(クレーム)へ<br />
    32. 32. デモ環境IdPの設定内容<br />通販事業者の IdP(IdP A)<br />ADDS<br />ユーザの所属グループ<br />発送担当 : Domain Users<br />管理者 : Domain Admins<br />AD FSv2<br />証明書利用者信頼(RP) : 受注管理システム<br />
    33. 33. デモ環境IdPの設定内容<br />AD FSv2<br />要求規則( IdP B で認証されたユーザ用)<br />入力方向の要求をパススルー<br />名前、役割<br />要求規則( IdPA で認証されたユーザ用)<br />LDAP 属性を要求として送信<br />AD DS の displayName-> 名前<br />グループメンバシップを要求として送信<br />Domain Users を「Staff」として役割へ<br />Domain Adminsを「SPAdmins」として役割へ<br />
    34. 34. デモ環境IdPの設定内容<br />要求プロバイダー信頼<br />コールセンタ代行業者の IdP ( IdP B )<br />要求規則<br />入力方向の要求をパス スルー<br />名前<br />役割(要求値:Operators のみ)<br />
    35. 35. アクセスフロー通販業者ユーザ<br />以下のフローでアプリケーションへログイン<br />ブラウザ<br />IdP A<br />アプリケーション<br />アプリケーションへアクセス<br />IdP Aへリダイレクト(web.config設定)<br />認証<br />サービス<br />ユーザ認証<br />トークン<br />の発行<br />トークンの発行<br />変換されたトークンをPOST<br />
    36. 36. アクセスフローコールセンターユーザ<br />以下のフローでアプリケーションへログイン<br />ブラウザ<br />IdP A<br />アプリケーション<br />IdP B<br />アプリケーションへアクセス<br />IdP A へリダイレクト(web.config設定)<br />認証レルム の選択<br />認証<br />サービス<br />認証レルムの選択<br />IdP B へリダイレクト<br />トークンの発行<br />認証<br />サービス<br />ユーザ認証<br />トークンの発行<br />トークンをPOST<br />トークン<br />の変換<br />変換されたトークンの発行<br />変換されたトークンをPOST<br />
    37. 37. 環境構築方法(1)<br />必要な環境<br />IIS Server<br />ASP.NET<br />IIS管理コンソール<br />IISメタベースおよびIIS 6 構成との互換性<br />静的コンテンツ<br />Windows7<br />Visual Studio 2010<br />Silverlight4 tools for Visual Studio 2010<br />Windows Identity Foundation<br />Windows Identity Foundation SDK<br />Identity Training Kit June 2010<br />
    38. 38. 環境構築方法(2)<br />SilverlightAndIdentityセットアップ注意点<br />Silverlight4 tools for Visual Studio 2010<br />英語版かつバージョン10.0.30319.155以降が必要<br />日本語版を使う場合<br />C:IdentityTrainingKit2010AssetsDependencyCheckerscriptsdependenciescheckCheckSilverlight4ToolsForVS.ps1 を編集<br />SearchUninstall–SearchForの中の<br />‘Microsoft Silverlight 4Tools…’ を<br />‘Microsoft Silverlight Tools…’ に変更する<br />C:IdentityTrainingKit2010LabsSilverlightAndIdentitySourceSetupScriptsSetupCertificates.cmdを編集<br />“Cert Hash(sha1)”->“Cert ハッシュ(sha1)”に<br />
    39. 39. まとめ<br />アイデンティティ連携<br />企業間でのアプリケーション連携やクラウド・サービスの利用で威力を発揮<br />Silverlight から WIF を使う際は一工夫必要<br />とりあえずIdentity Developer Training Kitを試すべし<br />次回はOut-of-Browserでも・・・<br />WS-Federation ではなく、WS-Trustを利用<br />
    40. 40. リファレンス<br />システム管理者のためのフェデレーション講座http://www.microsoft.com/japan/powerpro/TF/column/nf_01_1.mspx<br />Windowsで構築する、クラウド・サービスと社内システムのSSO環境<br />http://www.atmarkit.co.jp/fwin2k/operation/adsf2sso01/adsf2sso01_01.html<br />A Guide to Claims-based Identity and Access Control<br />http://msdn.microsoft.com/en-us/library/ff423674.aspx<br />IdM実験室(スピーカーblog)<br />http://idmlab.eidentity.jp/<br />
    41. 41. リファレンス<br />Identity Developer Training Kit 2010/06版http://www.microsoft.com/downloads/details.aspx?FamilyID=C3E315FA-94E2-4028-99CB-904369F177C0&amp;displaylang=en&displaylang=en<br />Windows Identity Foundation ダウンロード・ページ<br />http://www.microsoft.com/downloads/details.aspx?FamilyID=eb9c345f-e830-40b8-a5fe-ae7a864c4d76&displaylang=ja<br />Active Directory Federation Services 2.0 製品ページ<br />http://www.microsoft.com/japan/adfs2<br />
    42. 42. リファレンス<br />Security for Azure, WCF, Windows Phone 7, and Silverlight<br />Part1http://blogs.msdn.com/b/brunoterkaly/archive/2010/08/14/security-for-azure-wcf-windows-phone-7-and-silverlight-part-1-of-many.aspx<br />Part2<br />http://blogs.msdn.com/b/brunoterkaly/archive/2010/08/15/security-for-azure-wcf-windows-phone-7-and-silverlight-part-2-of-many-single-sign-on-claims-driven-experience-and-service-authorization-for-in-browser-silverlight-applications.aspx<br />MSDNフォーラム(英語版)Claims based access platform (CBA)<br />code-named Geneva<br />http://social.msdn.microsoft.com/Forums/en-US/Geneva/threads/<br />
    43. 43. ご清聴ありがとうございました。<br />BoF-09<br />アンケートにご協力ください。<br />
    44. 44. © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.<br />The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.<br />
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×