Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Openid technight 20110909_fujie

3,441 views

Published on

OpenID Technight vol.8 session slide titled 'Microsoft's RESTful Identity'.

Published in: Technology
  • Be the first to comment

Openid technight 20110909_fujie

  1. 1. @phr_eidentityMS MVP for Identity Lifecycle Manager http://idmlab.eidentity.jp
  2. 2.  Microsoft の Identity 関連 Software + Service • Identity Provider • Relying Party Library RESTful Web Service の実装 • WIF + ACS で OAuth  ACS as Consumer with Facebook  ACS as AuthZ Server • Federation Provider の使い方 • Trust Framework 統合 まとめ
  3. 3.  IdentityProvider Relying Party Library
  4. 4.  Security Token Service ( STS ) • セキュリティ・トークン を処理(発行/変換) • On-Premise  AD FS 2.0 ( Active Directory Federation Service 2.0 ) • Online / Cloud  ACS v2 (Windows Azure Platform AppFabric Access Control Service v2 )  MFG (Microsoft Federation Gateway ) 6
  5. 5.  クラウド STS / Federation Provider  ws-federation / OAuth 2.0 / OpenID 等の Federation Protocol対応  各種 Identity Provider から発行されたトークン を変換 Token要求 Token要求 システムエンティティ Security Security Token Token 各種オンライン IdPユーザWebサーバ等 STS ACS v2 オンプレミス IdP ( AD FS 2.0 ) カスタム IdP ( OpenID )
  6. 6.  サポートされているプロトコル • OAuth WRAP 2.0 • WS-Federation • WS-Trust • OAuth 2.0 (Draft 13) • OpenID 2.0 トークンフォーマット • Simple Web Token(SWT) • SAML 1.1/2.0 既成の Identity Provider との連携 • Windows Live ID/ Google/ Facebool/ Yahoo!(.com)/ OpenID • Active Directory Federation Service 2.0
  7. 7. Windows Azure AppFabric ACS 本体 Identity クレーム変換 Relying Protocol Protocol Provider エンジン PartyAD FS 2.0 WS- SAML/SWT FederationWS-Fed対応STS クレームルールGoogle WS-Yahoo! OAuth 2.0 SAML/SWT Federation WEBサイトFacebookOpenID OpenID 2.0 SAML/SWTWindows Live ID Live ID SAML/SWT SOAP WebWS-Trustアプリ WS-Trust SAML/SWT WS-Trust サービス OAuth/ OAuth/ REST WebSWT対応アプリ WRAP 2.0 SWT WRAP 2.0 サービス
  8. 8.  Windows Identity Foundation • ws-federation / ws-trust 対応の token ハンド リング ライブラリ • .NET Framework 4.0 • 各種 Extension ( 現状 Community Technology Preview )  Extension for SAML 2.0 protocols  Extension for OAuth  Extension for U-Prove
  9. 9. ASP.NET Web アプリケーション各種 STSAD FS 2.0 ACS v2 ASP.NET クレーム取出し クレーム評価 Windows Identity Foundation 各種処理 .NET Framework 4 ブラウザ
  10. 10.  as an OAuth Consumer as an OAuth Authorization Server
  11. 11. OAuth OAuth .NET App ACS asBrowser AuthZ Resource with WIF Consumer Server Server Access Redirect Redirect AuthN Consent Return AuthZ Code Request Access Token Return Access Token Return Access Token POST Access Token Request Resource with Access Token Return Resource Return Resource ws-federation OAuth
  12. 12.  WIF アプリケーション ACS の Identity Provider として Facebook を設定 ACS は Facebook からアクセストークン を取得し、SAML Assertion として WIF アプリケーションへ渡す(ws-federation) WIF アプリケーションは SAML トークン の中のアクセストークンを使い graph api で Facebook を操作
  13. 13. .NET App ACS as OAuthBrowser with WIF AuthZ Resource Extension Server Server Access Redirect 実際は ACS に設定 AuthN された IdP で実施 Consent Return AuthZ Code Request Access Token Return Access Token Request Resource with Access Token Return Resource Return Resource OAuth
  14. 14.  WIF Extension for OAuth アプリケー ション .NET で OAuth Protected Resource ア プリケーション ACS を OAuth AuthZ サーバとして設定
  15. 15.  ACS から見た Identity Provider • Google / Yahoo! … OpenID • AD FS2.0 … ws-federation • Facebook … OAuth 「認証の外部化(Externalize AuthN)」として同列で 紹介されていることがほとんど OAuth 対応のサービスが認証する目的 • プロテクテッド・リソースへのアクセスさせるため • 認証結果や Claim をRP/SPに渡すためではない 「合鍵モデル」であることの理解が必要 • 詳しくは @_nat さん「非技術者のためのOAuth認証(?)とOpenID の違い入門」http://www.sakimura.org/2011/05/1087/ • 安易に permission を広げない。user_about_me など
  16. 16.  合鍵モデル • ACS が Facebook から取得したアクセストーク ンを全く別の Windows Form アプリケーション で使ってみる
  17. 17.  OpenID Connect もあるけど。。 ws-trust との組み合わせも • AD FS2.0 で認証、発行された SAML2.0 bearer トークンをOAuth の AuthZ サーバへ渡してアクセ ス・トークンを受け取る  Recipient : AuthZ Server の Endpoint  grant_type : http://oauth.net/grant_type/assertion/saml/2.0/be arer • AD FS2.0 + WIF の例 by @vibronet • SFDC + PingFederate の例 by @metadaddy
  18. 18. STS AuthZ Server +Client ID +Client Secret RSTR RST SAML Token Access Token Resource ServerConsumer Resource User / Device
  19. 19.  AppFabricACS と Windows Identity Foundation を使うと割と簡単に既存の サービスと連携するサービスを開発するこ とが出来る ただし、ACS から見て Identity Provider として OAuth / OpenID / ws-federation の区別がないので、よく理解して使うこと が大切

×