1 / 62

"Geneva": フェデレーショナルな クレームベース ID モデルの適用

"Geneva": フェデレーショナルな クレームベース ID モデルの適用. マイクロソフト株式会社 デベロッパー&プラットフォーム統括本部 田辺 茂也 http://blogs.technet.com/stanabe. セッションの内容. 「クレーム」ベースの ID モデルと “Geneva” “Geneva” のシナリオ “Geneva” での 変更点 開発のポイント 既存の ID システムとの連携. 「クレーム」ベースの ID モデルと "Geneva". アイデンティティとは.

kuri
Download Presentation

"Geneva": フェデレーショナルな クレームベース ID モデルの適用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. "Geneva":フェデレーショナルなクレームベース ID モデルの適用 マイクロソフト株式会社 デベロッパー&プラットフォーム統括本部 田辺 茂也 http://blogs.technet.com/stanabe

  2. セッションの内容 • 「クレーム」ベースの ID モデルと“Geneva” • “Geneva” のシナリオ • “Geneva” での変更点 • 開発のポイント • 既存の ID システムとの連携

  3. 「クレーム」ベースの ID モデルと"Geneva"

  4. アイデンティティとは • アイデンティティ (ID) とはユーザー名などの識別情報のセット • ほとんどのアプリケーションはID を利用している • ID 情報は、アプリケーションの動作の重要な部分を決定する • そのユーザーが何をしてよいか • アプリケーションが、どのようにユーザーとやりとりを行うか制御

  5. 課題: ID の取り扱いは難しい • アプリケーションは、それぞれの場面で異なる ID 技術を使う必要がある • Windows ドメイン下ではActive Directory (Kerberos) • インターネットでは、ユーザ名とパスワード • 組織間連携では、WS-Federation やSAML (Security Assertion Markup Language) • すべての場面で共通に使える手法はないのか • クレームベースの ID により可能に • 開発者、IT Pro 双方にメリット

  6. トークンとクレームネットワーク上で流通可能な ID の表現 • トークンは、ID 情報を記述したもの • いくつかのクレームで構成 • それぞれのクレームは、トークン内の要素の情報を含む トークン クレームの例 クレーム1 名前 クレーム2 トークンの生成元を示し、改ざんを防ぐ グループ クレーム3 年齢 . . . クレームn デジタル署名

  7. ID プロバイダーと STS • ID プロバイダーは、クレームを作成するオーソリティ • 一般的な ID プロバイダーの例 • 社内では、会社 (人事、IT 部門など) • インターネットでは、自分自身の場合が多い • ID プロバイダーは、STS: セキュリティ トークン サービスを運用 • トークンを発行するサーバー • トークンの発行リクエストは WS-Trust 経由で受付 • さまざまなフォーマットが利用可能 • SAML フォーマットがよく使われている

  8. クレームベースのアクセス ID プロバイダー(IdP, STS) アプリケーション(RP) • アプリケーション: ユーザーを特定するためにクレームを利用 • ID プロバイダー: クレームを含むトークンを発行 • 連携: 信頼関係のもと、クレームが渡される 連携 1. クレームを要求 2. トークン (クレーム) 取得 3. トークン(クレーム) 送信 ユーザー

  9. トークンの取得ID プロバイダーと STS ID プロバイダー 2) 情報の取得 セキュリティトークン サービス (STS) アカウント属性情報 3) トークンを作成し送信 1) 認証を行いトークンを要求 トークン ブラウザークライアント ユーザー

  10. トークンの取得と利用 4) トークン内のクレームを利用 ID プロバイダー アプリケーション 3) トークンの署名を調べ、信頼する STS か どうか判断 STS IDフレームワーク 信頼済みSTS リスト 2) トークン提出 トークン 1) トークン取得 トークン ブラウザークライアント ユーザー

  11. クレーム利用のメリット • 現在の多くのアプリケーションは、単純な ID 情報しか得られない • ユーザー名など • それ以上の情報は問い合わせ • リモートデータベース (ディレクトリサービスなど) • ローカルデータベース • クレームベースの ID では、それぞれのアプリケーションが必要なクレームを要求 • STS がクレームをトークンに記述 • 要求されたクレームのみを送信

  12. アプリケーションでのクレームの利用例 • ユーザーの特定 • グループやロールの情報 • パーソナライズ情報 • ユーザーの表示名など • 操作の許可、拒否 • 特定の情報へのアクセス • 特定の機能の利用 • 操作の制限 • 購入上限の設定 • ID プロバイダー側での設定も可能

  13. 複数の ID の利用: ID セレクター 5) トークン内のクレームを利用 ID プロバイダー アプリケーション STS STS STS IDフレームワーク 1) アプリケーションにアクセスし、トークンの条件を取得 4) トークンを送信 トークン トークン 3) 選択したID のトークンを取得 ブラウザー クライアント ID セレクター 2) 条件を満たす ID を選択 ユーザー

  14. “Geneva” のテクノロジー ID プロバイダー 5) トークン内のクレームを利用 “Geneva” Server アプリケーション STS STS STS “Geneva” Framework 1) アプリケーションにアクセスし、トークンの条件を取得 トークン 4) トークンを送信 3) 選択したID のトークンを取得 トークン ブラウザー クライアント CardSpace “Geneva” 2) 条件を満たす ID を選択 ユーザー

  15. “Geneva” とは • 3つのID テクノロジー • “Geneva” Server • Active Directory フェデレーション サービス (AD FS) の次期バージョン • STS • Windows CardSpace “Geneva” • Windows CardSpaceの次期バージョン • “Geneva” Framework • “Geneva” の目標は、クレームベースのID モデルを実用的にすること

  16. “Geneva” のシナリオ

  17. 社内アプリケーション Microsoft Services Identity Backbone 企業 • 企業のネットワーク境界は、消滅しつつある • どうすれば、社内アプリケーションを社員以外に提供し、利用を拡大できるか Active Directory 社内アプリケーション ? パートナー Active Directory

  18. “Geneva” では Microsoft Services Identity Backbone エンタープライズ ID バックボーン • “Geneva” Framework • クレーム対応アプリケーションを作成するための .NET ベースのフレームワーク • “Geneva” Server • Active Directory と統合された STS • Windows CardSpaceに対応 • Windows CardSpace “Geneva” • ユーザーのコントロール下にある ID セレクター • より小さく、速く 社内 アプリ Active Directory “Geneva” Framework “Geneva” Server クレーム “Geneva” Server Active Directory

  19. ID システムの相互連携 Microsoft Services Identity Backbone エンタープライズ ID バックボーン • WS-Federation,WS-Trust,SAML 2.0 プロトコルのサポート • 上記プロトコル対応のフェデレーションソフトウェア・サービスと相互運用可能 社内 アプリ Active Directory “Geneva” Framework “Geneva” Server “Geneva” Server Third Party STS Active Directory User Database

  20. Microsoft Federation Gateway Microsoft Services Identity Backbone Microsoft Services ID バックボーン • Microsoft Federation Gateway は、マイクロソフトの ID バックボーンの重要なサービス • Azure クラウドアプリケーションや開発者サービスへの橋渡しを行う • 一つのフェデレーションで、さまざまなサービスにアクセス可能 • WS-Federation, WS-Trust 準拠 クラウド アプリ ・ サービス Microsoft Federation Gateway “Geneva” Server Third Party STS Active Directory User Database

  21. Windows Live ID Microsoft Services Identity Backbone Microsoft Services ID バックボーン • Windows Live ID のアカウントでもFederation Gateway 経由で、クラウドアプリにアクセス可能 • Windows Live アドミンセンターにより ID 管理のアウトソースも可能 • 自動管理用の API • カスタマイズ可能な UX WindowsLive ID クラウド アプリ ・ サービス Microsoft Federation Gateway コンシューマー カスタム ドメイン “Geneva” Server Third Party STS Active Directory User Database

  22. Microsoft Services Connector Microsoft Services Identity Backbone Microsoft Services ID バックボーン • Active Directory と Microsoft Federation Gateway とのフェデレーション • 無償ダウンロード、簡単なセットアップ • 1:1 の信頼ではなく、ゲートウェイとの信頼 • Windows CardSpaceをサポート WindowsLive ID クラウド アプリ ・ サービス Microsoft Federation Gateway コンシューマー カスタム ドメイン Microsoft Services Connector “Geneva” Server Third Party STS Active Directory Active Directory User Database

  23. Microsoft Federation Gateway とアプリケーション Microsoft Services Identity Backbone Microsoft Services ID バックボーン • クレームベースのアクセスにより、さまざまな ID をサポートするアプリケーションを作成可能 Windows Live ID アプリケーション “Geneva” Framework Microsoft Federation Gateway コンシューマー カスタム ドメイン Microsoft Services Connector “Geneva” Server Third Party STS Active Directory Active Directory User Database

  24. アプリケーションへのメリット Microsoft Services Identity Backbone Microsoft Services ID バックボーン • クレーム対応のアプリケーションは一度作成すればどこにでもホスト可能 • ID プロバイダーは設定による選択で、アプリケーションのロジックには埋め込まれていない • クラウドへの移行、オンプレミスへの移行も容易 Windows Live ID Microsoft Federation Gateway コンシューマー カスタム ドメイン Microsoft Services Connector アプリ ケーション Active Directory Active Directory “Geneva” Framework

  25. アクセスコントロール Microsoft Services Identity Backbone Microsoft Services ID バックボーン • クレームの用途はログインだけではない • .Net Access Control Service: STS がアクセスコントロールのためのトークンを発行 • アクセスコントロールのロジックをルールセットに分解 • ルールセットの管理ポータルや API を提供 Windows Live ID .Net Access Control Service Microsoft Federation Gateway コンシューマー カスタム ドメイン Microsoft Services Connector “Geneva” Server アプリ ケーション Active Directory Active Directory “Geneva” Framework

  26. 柔軟で詳細な信頼ポリシー Microsoft Services ID バックボーン Microsoft Services Identity Backbone • さまざまなサービス、ID プロバイダーから、目的に適合するものを選択 • シンプルな管理のためにゲートウェイを活用 Microsoft Federation Gateway アプリ ケーション HealthVault (OpenID) .Net Access Control Service Third Party Framework Third Party STS “Geneva” Server アプリ ケーション User Database OpenID プロバイダ Active Directory “Geneva” Framework

  27. その他のプロトコル・フレームワーク Microsoft Services ID バックボーン Microsoft Services Identity Backbone • ライトウェイトなSSO も利用可能 • Live Framework: WebAuth • OpenID Windows Live ID Microsoft Federation Gateway コンシューマー カスタム ドメイン Any STS Web アプリ Web アプリ OpenID対応Web アプリ Active Directory “Geneva” Framework Live Framework

  28. クレームベースの ID 全体像 ID プロバイダー アプリケーション(クラウドまたはオンプレミス) 信頼 Live ID Microsoft Federation Gateway .Net Access Control Service Third Party Services Services クレームを要求 “Geneva” Framework Live Framework Third Party Servers “Geneva” Server Microsoft Services Connector クレームを 送信 Software Third Party Frameworks Active Directory クレームを送信 クレーム取得 必要なクレーム ID セレクター(必要に応じて) Windows CardSpace “Geneva” サードパーティのID セレクター

  29. “Geneva” での変更点

  30. "Geneva" Server での変更点 • 現行の AD FS は • パッシブクライアント (ブラウザー) のみサポート • STS は未提供 • WS-Federation のみサポート • “Geneva” Server では • アクティブ・パッシブクライアントをサポート • STS を提供 • WS-Federation と SAML 2.0 プロトコルをサポート • 信頼関係の管理性を向上 • 一部の設定を自動化

  31. Windows CardSpace “Geneva”使用する ID の選択 • Windows CardSpace “Geneva” はID 選択の標準的な UI を提供 • カードのメタファー • カードを選ぶことで ID (トークン) を選択

  32. インフォメーションカード • カードの実体は、インフォメーションカード • ID プロバイダーとの関連を示す XML ファイル • 特定の ID のトークン発行を要求するために必要な情報が含まれる • インフォメーションカードに含まれない情報 • クレーム情報 • STS の認証のための情報

  33. 業界標準に向けて • Information Card Foundation を設立 • マルチベンダーの業界団体 • ボードメンバーにGoogle, Microsoft, Novell, Oracle, and PayPal • Web サイトでは、標準アイコンによりインフォメーションカードでのログインを示す

  34. Windows CardSpace “Geneva“ での変更点 • Windows CardSpace “Geneva” は.NET Framework とは別に単独提供 • 小さいインストーラー、速いインストール • Windows CardSpace “Geneva” では利用に応じた最適化が可能 • 前回ログインに利用したカードを提示できる • 専用のデスクトップは使用しない

  35. 開発のポイント

  36. “Geneva” Framework • クレーム対応アプリケーションを簡単に作成するためのフレームワーク • 以前の名称は “Zermatt” • “Geneva” Framework でできること • トークンの署名の確認とクレームの抽出 • クレームを扱うクラス • 独自 STS の作成 • …

  37. 開発時の考慮点 • 必要なクレームを決める • 識別子、属性など • クレームを扱うプログラムの作成 • “Geneva” Framework の活用 • クレームの取得元を選択 • ソフトウェア: “Geneva” Server, サードパーティ • サービス: Microsoft Federation Gateway, Windows Live ID, .Net Access Control Service,サードパーティ • 独自に STS を作成 • ユーザーが利用可能な STS がない場合 • Geneva claims provider の利用

  38. クレームモデル IClaimsPrincipal IClaimsIdentity IClaimsIdentity Sample Fill Sample Fill Claim ClaimType = “Name” Value = “Bob” Issuer = “WLID” Subject IClaimsIdentity caller = Thread.CurrentPrincipal.Identity as IClaimsIdentity; string Role = (from c in caller.Claims where c.ClaimType == MyClaimTypes.Role select c.Value).Single();

  39. ID のデリゲーション Active Directory Domain Services “Geneva” Server 5) アプリ X、アプリ Y、ユーザーに対するポリシーを確認 STS X 用 トークン X 用 トークン Y 用 トークン 1) アプリ X 用トークン取得 4) アプリ Y 用トークン要求 6) ポリシーに従ってアプリ Y 用トークンを発行 8) トークン内のクレーム利用 7) トークン送信 Y 用 トークン ブラウザー クライアント アプリ X アプリ Y X 用 トークン “Geneva” Framework “Geneva” Framework 3) アプリケーションにアクセスし、トークンの要件取得 2) トークン送信 ユーザー

  40. ID のデリゲーションとクレーム IClaimsPrincipal IClaimsIdentity IClaimsIdentity Delegate IClaimsIdentity Delegate Sample Fill Sample Fill Sample Fill Sample Fill Claim ClaimType = “Name” Value = “Server1” Issuer = “MS STS” Subject Claim ClaimType = “Name” Value = “Bob” Issuer = “WLID” Subject

  41. 既存の ID システムとの連携

  42. エンタープライズのソフトウェア・サービスとフェデレーショントポロジーエンタープライズのソフトウェア・サービスとフェデレーショントポロジー クラウド エンタープライズアプリ ISV アプリ Windows Live Microsoft Online Azure Services Platform Live Mesh Microsoft Dynamics CRM Online Live Identity Service Microsoft Federation Gateway Microsoft Services Connector エンタープライズオンプレミス ブラウザー Active Directory Office Employee アプリ SharePoint Exchange ISV アプリ

  43. Microsoft Federation Gateway • ユーザーがリンクをクリック- Microsoft Services Connector で認証 • Service Connector はActive Directory で認証 • Service Connector はログイントークンを発行しFederation Gateway にリダイレクト • Federation Gateway はトークンを確認しクレームを変換 • Federation Gateway はサービストークンを発行しサービスにリダイレクト • ユーザーがサービスにアクセス ブラウザー Office デスクトップ アプリ Microsoft Federation Gateway クラウド Microsoft Services Connector エンタープライズ アプリ サービス Active Directory

  44. Microsoft Services Connector • Active Directory と Federation Gateway、クラウドアプリ・サービスを接続 • 一度のフェデレーション設定で、自動プロビジョニング • 特定の CA 発行の SSL 証明書によりドメインの所有者を証明 • ドメイン、サインインのエンドポイント署名鍵を登録 • 継続的なフェデレーションの管理タスクは自動化 クラウド Microsoft Federation Gateway Microsoft Services Connector エンター プライズ アプリ サービス Active Directory

  45. フェデレーションのメリット • フェデレーションのメリット • アプリ・サービスを、複数の組織に提供可能 • ID をコピーしないため • シンプルな管理 • セキュア • ユーザーはシングルサインオン • Federation Gateway / Services Connector のメリット • 既存の ID インフラに変更を加えずにクラウドサービスを活用・移行できる • Point-to-Point ではなく、Hub & Spoke のため設定と管理がシンプル • セキュリティレベルの維持 • クラウド用のアカウント、パスワード不要

  46. まとめ • クラウドでは、クレームベースのID モデルの活用を! • “Geneva” は、クレームとID のフェデレーションをサポートする、各種技術を提供します • 既存の ID システムを最大限に活用し、便利なシステムとシンプルな管理を両立させましょう!

  47. © 2009 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. 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.

  48. 参考資料

  49. リンク • “Geneva” • http://www.microsoft.com/geneva • Microsoft Services Connector • http://www.microsoft.com/servicesconnector • Microsoft Federation Gateway • http://msdn.microsoft.com/en-us/library/ cc287610.aspx

More Related