マイクロソフト株式会社 デベロッパー&プラットフォーム統括本部 田辺 茂也 http://blogs.technet.com/stanabe 「クレーム」ベースの ID モデルと “Geneva” “Geneva” のシナリオ “Geneva” での変更点 開発のポイント 既存の ID システムとの連携 アイデンティティ (ID) とは ユーザー名などの識別情報のセット ほとんどのアプリケーションは ID を利用している ID 情報は、アプリケーションの動作の 重要な部分を決定する そのユーザーが何をしてよいか アプリケーションが、どのようにユーザーと やりとりを行うか制御 アプリケーションは、それぞれの場面で 異なる ID 技術を使う必要がある Windows ドメイン下では Active Directory (Kerberos) インターネットでは、ユーザ名とパスワード 組織間連携では、WS-Federation や SAML (Security Assertion Markup Language) すべての場面で共通に使える手法はないのか クレームベースの ID により可能に 開発者、IT Pro 双方にメリット トークンは、ID 情報を記述したもの いくつかのクレームで構成 それぞれのクレームは、 トークン内の要素の情報を含む トークンの 生成元を示し、 改ざんを防ぐ トークン クレーム 1 クレーム2 クレーム3 ... クレームn デジタル署名 クレームの例 名前 グループ 年齢 ID プロバイダーは、 クレームを作成するオーソリティ 一般的な ID プロバイダーの例 社内では、会社 (人事、IT 部門など) インターネットでは、自分自身の場合が多い ID プロバイダーは、 STS: セキュリティ トークン サービスを運用 トークンを発行するサーバー トークンの発行リクエストは WS-Trust 経由で受付 さまざまなフォーマットが利用可能 SAML フォーマットがよく使われている ID プロバイダー (IdP, STS) 連携 アプリケーション (RP) 1. クレームを 要求 2. トークン (クレーム) 取得 3. トークン (クレーム) 送信 ユーザー アプリケーション: ユーザーを特定するためにクレームを利用 ID プロバイダー: クレームを含むトークンを発行 連携: 信頼関係のもと、クレームが渡される ID プロバイダー 2) 情報の取得 アカウント 属性情報 セキュリティ トークン サービス (STS) 1) 認証を行い トークンを要求 3) トークンを作 成し送信 トークン ブラウザー クライアント ユーザー 4) トークン内のクレームを利用 ID プロバイダー アプリケーション STS ID フレームワーク 2) トークン提出 トークン トークン 1) トークン取得 ブラウザー クライアント ユーザー 3) トークンの 署名を調べ、 信頼する STS か どうか判断 信頼済み STS リスト 現在の多くのアプリケーションは、 単純な ID 情報しか得られない ユーザー名など それ以上の情報は問い合わせ リモートデータベース (ディレクトリサービスなど) ローカルデータベース クレームベースの ID では、 それぞれのアプリケーションが 必要なクレームを要求 STS がクレームをトークンに記述 要求されたクレームのみを送信 ユーザーの特定 グループやロールの情報 パーソナライズ情報 ユーザーの表示名など 操作の許可、拒否 特定の情報へのアクセス 特定の機能の利用 操作の制限 購入上限の設定 ID プロバイダー側での設定も可能 5) トークン内のクレームを利用 ID プロバイダー STS STS アプリケーション ID フレームワーク STS 1) アプリケーションに アクセスし、トークンの 条件を取得 トークン 3) 選択した ID のトークンを 取得 4) トークンを 送信 トークン ブラウザー クライアント ID セレクター 2) 条件を満たす ID を選択 ユーザー ID プロバイダー 5) トークン内のクレームを利用 “Geneva” Server STS STS アプリケーション STS “Geneva” Framework 1) アプリケーションに アクセスし、トークンの 条件を取得 トークン 3) 選択した ID のトークンを 取得 ブラウザー クライアント CardSpace “Geneva” 2) 条件を満たす ID を選択 ユーザー 4) トークンを 送信 トークン 3つの ID テクノロジー “Geneva” Server Active Directory フェデレーション サービス (AD FS) の 次期バージョン STS Windows CardSpace “Geneva” Windows CardSpace の次期バージョン “Geneva” Framework “Geneva” の目標は、クレームベースの ID モデルを実用的にすること 企業 Microsoft Services Identity Backbone 社内 アプリケーション Active Directory ? パートナー Active Directory 企業のネットワーク 境界は、消滅しつつ ある どうすれば、社内ア プリケーションを社 員以外に提供し、利 用を拡大できるか エンタープライズ ID バックボーン Microsoft Services Identity Backbone 社内 アプリ Active Directory “Geneva” Framework “Geneva” Server クレーム “Geneva” Server Active Directory “Geneva” Framework クレーム対応アプリケー ションを作成するための .NET ベースのフレーム ワーク “Geneva” Server Active Directory と 統合された STS Windows CardSpace に 対応 Windows CardSpace “Geneva” ユーザーのコントロール 下にある ID セレクター より小さく、速く エンタープライズ ID バックボーン Microsoft Services Identity Backbone 社内 アプリ Active Directory “Geneva” Server Active Directory “Geneva” Framework “Geneva” Server Third Party STS User Database WS-Federation, WS-Trust, SAML 2.0 プロトコル のサポート 上記プロトコル対応の フェデレーションソフト ウェア・サービスと相互 運用可能 Microsoft Services Services Identity ID バックボーン Microsoft Backbone Microsoft Federation Gateway “Geneva” Server Active Directory クラウド アプリ ・ サービス Microsoft Federation Gateway は、 マイクロソフトの ID バックボーンの重要な サービス Azure クラウドアプリ ケーションや開発者サー ビスへの橋渡しを行う Third Party STS User Database 一つのフェデレーション で、さまざまなサービス にアクセス可能 WS-Federation, WS-Trust 準拠 Microsoft Services Services Identity ID バックボーン Microsoft Backbone Windows Live ID コンシューマー カスタム ドメイン “Geneva” Server Active Directory Microsoft Federation Gateway クラウド アプリ ・ サービス Windows Live ID の アカウントでも Federation Gateway 経由で、クラウドア プリにアクセス可能 Windows Live アドミ ンセンターにより ID 管理のアウトソース も可能 Third Party STS User Database 自動管理用の API カスタマイズ可能な UX Microsoft Services Services Identity ID バックボーン Microsoft Backbone Windows Live ID コンシューマー カスタム ドメイン Microsoft Services Connector Active Directory Microsoft Federation Gateway “Geneva” Server Active Directory クラウド アプリ ・ サービス Active Directory と Microsoft Federation Gateway とのフェデ レーション 無償ダウンロード、 簡単なセットアップ Third Party STS User Database 1:1 の信頼ではなく、 ゲートウェイとの 信頼 Windows CardSpace をサポート Microsoft Services Services Identity ID バックボーン Microsoft Backbone アプリ ケーション Windows Live ID コンシューマー カスタム ドメイン Microsoft Federation Gateway Microsoft Services Connector “Geneva” Server Active Directory Active Directory “Geneva” Framework Third Party STS User Database クレームベースの アクセスにより、 さまざまな ID を サポートする アプリケーションを 作成可能 Microsoft Services Services Identity ID バックボーン Microsoft Backbone Windows Live ID コンシューマー カスタム ドメイン Microsoft Federation Gateway Microsoft Services Connector Active Directory アプリ ケーション Active Directory “Geneva” Framework クレーム対応の アプリケーションは 一度作成すれば どこにでも ホスト可能 ID プロバイダーは 設定による選択で、 アプリケーションの ロジックには 埋め込まれていない クラウドへの移行、 オンプレミスへの 移行も容易 MicrosoftServices ServicesIdentity ID バックボーン Microsoft Backbone Windows Live ID コンシューマー カスタム ドメイン Microsoft Federation Gateway .Net Access Control Service クレームの用途は ログインだけではない .Net Access Control Service: STS がアクセス コントロールのための トークンを発行 アクセスコントロールの ロジックを ルールセットに分解 Microsoft Services Connector Active Directory “Geneva” Server Active Directory アプリ ケーション “Geneva” Framework ルールセットの管理 ポータルや API を提供 Microsoft Services ID バックボーン Microsoft Services Identity Backbone Microsoft Federation Gateway アプリ ケーション Third Party Framework HealthVault (OpenID) Third Party STS User Database .Net Access Control Service “Geneva” Server OpenID プロバイダ Active Directory さまざまなサービス、 ID プロバイダーから、 目的に適合するもの を選択 シンプルな管理の ためにゲートウェイ を活用 アプリ ケーション “Geneva” Framework Microsoft Services ID バックボーン Microsoft Services Identity Backbone Windows Live ID コンシューマー カスタム ドメイン Any STS Active Directory ライトウェイトな SSO も利用可能 Live Framework: WebAuth OpenID Microsoft Federation Gateway Web アプリ “Geneva” Framework Web アプリ Live Framework OpenID 対応 Web アプリ Software Services ID プロバイダー Live ID Microsoft Federation Gateway “Geneva” Server .Net Access Control Service Microsoft Services Connector Active Directory アプリケーション (クラウドまたはオンプレミス) Third Party Services Third Party Servers クレームを 要求 クレームを 送信 クレームを送信 必要なクレーム ID セレクター(必要に応じて) Windows CardSpace “Geneva” Live Framework Third Party Frameworks 信頼 クレーム取得 “Geneva” Framework サードパーティの ID セレクター 現行の AD FS は パッシブクライアント (ブラウザー) のみサポート STS は未提供 WS-Federation のみサポート “Geneva” Server では アクティブ・パッシブクライアントを サポート STS を提供 WS-Federation と SAML 2.0 プロトコルを サポート 信頼関係の管理性を向上 一部の設定を自動化 Windows CardSpace “Geneva” は ID 選択の標準的な UI を提供 カードのメタファー カードを選ぶことで ID (トークン) を選択 カードの実体は、インフォメーションカード ID プロバイダーとの関連を示す XML ファイル 特定の ID のトークン発行を要求するために 必要な情報が含まれる インフォメーションカードに含まれない情報 クレーム情報 STS の認証のための情報 Information Card Foundation を設立 マルチベンダーの業界団体 ボードメンバーに Google, Microsoft, Novell, Oracle, and PayPal Web サイトでは、標準アイコンにより インフォメーションカードでのログインを 示す Windows CardSpace “Geneva” は .NET Framework とは別に単独提供 小さいインストーラー、速いインストール Windows CardSpace “Geneva” では 利用に応じた最適化が可能 前回ログインに利用したカードを 提示できる 専用のデスクトップは使用しない クレーム対応アプリケーションを 簡単に作成するためのフレームワーク 以前の名称は “Zermatt” “Geneva” Framework でできること トークンの署名の確認とクレームの抽出 クレームを扱うクラス 独自 STS の作成 … 必要なクレームを決める 識別子、属性など クレームを扱うプログラムの作成 “Geneva” Framework の活用 クレームの取得元を選択 ソフトウェア: “Geneva” Server, サードパーティ サービス: Microsoft Federation Gateway, Windows Live ID, .Net Access Control Service, サードパーティ 独自に STS を作成 ユーザーが利用可能な STS がない場合 Geneva claims provider の利用 Claim Sample Fill IClaimsIdentity ClaimType = “Name” Sample Fill Value = “Bob” Issuer = “WLID” Subject IClaimsIdentity IClaimsPrincipal IClaimsIdentity caller = Thread.CurrentPrincipal.Identity as IClaimsIdentity; string Role = (from c in caller.Claims where c.ClaimType == MyClaimTypes.Role select c.Value).Single(); Active Directory “Geneva” Domain Services Server 5) アプリ X、アプリ Y、 ユーザーに対する ポリシーを確認 STS X用 トークン 1) アプリ X 用 トークン取得 X用 トークン 4) アプリ Y 用 トークン要求 Y用 トークン 6) ポリシーに従って アプリ Y 用トークンを発行 8) トークン内の クレーム利用 7) トークン送信 ブラウザー クライアント X用 トークン 2) トークン送信 ユーザー アプリ X Y用 トークン アプリ Y “Geneva” Framework 3) アプリケーション にアクセスし、 トークンの要件取得 “Geneva” Framework Delegate Delegate Claim Sample Fill IClaimsIdentity ClaimType = “Name” Sample Fill Claim Sample Fill ClaimType = “Name” Sample Fill IClaimsIdentity IClaimsIdentity Value = “Bob” Issuer = “WLID” Subject IClaimsPrincipal Value = “Server1” Issuer = “MS STS” Subject クラウド エンター プライズ アプリ ISV アプリ Azure Services Platform Microsoft Federation Gateway Microsoft Services Connector ブラウザー Office アプリ Live Identity Service Employee Windows Live Microsoft Online Live Mesh Microsoft Dynamics CRM Online エンタープライズ オンプレミス Active Directory Exchange ISV アプリ SharePoint ユーザーがリンクをクリック - Microsoft Services Connector で認 証 Service Connector は Active Directory で認証 Service Connector は ログイントークンを発行し Federation Gateway にリダイレクト Federation Gateway は トークンを確認し クレームを変換 Federation Gateway は サービストークンを発行し サービスにリダイレクト ユーザーがサービスにアクセス ブラウザー Office デスクトップ エンター プライズ アプリ Microsoft Services Connector Active Directory Microsoft Federation Gateway クラウド アプリ サービス Active Directory と Federation Gateway、 クラウドアプリ・サービスを接続 一度のフェデレーション設定で、 自動プロビジョニング 特定の CA 発行の SSL 証明書によりドメインの所有者を証明 ドメイン、サインインのエンドポイント署名鍵を登録 継続的なフェデレーションの管理タスクは自動化 エンター プライズ Microsoft Services Connector Active Directory Microsoft Federation Gateway クラウド アプリ サービス フェデレーションのメリット アプリ・サービスを、複数の組織に提供可能 ID をコピーしないため シンプルな管理 セキュア ユーザーはシングルサインオン Federation Gateway / Services Connector のメリット 既存の ID インフラに変更を加えずに クラウドサービスを活用・移行できる Point-to-Point ではなく、Hub & Spoke のため 設定と管理がシンプル セキュリティレベルの維持 クラウド用のアカウント、パスワード不要 クラウドでは、クレームベースの ID モデルの活用を! “Geneva” は、クレームと ID のフェデレーションをサポートする、 各種技術を提供します 既存の ID システムを最大限に活用し、 便利なシステムとシンプルな管理を 両立させましょう! © 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. “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 Now H2 CY 2008 H1 CY 2009 H2 CY 2009 Beta 2 RTM Software “Geneva” Server Microsoft Service Connector “Geneva” Framework, CardSpace Live Framework Beta 1 Beta CTP RTM Beta 1 Beta 2 RTM In Production Services Live Identity Services OpenID Beta Microsoft Federation Gateway In Production .Net Access Control Service CTP OpenID RTM Refresh Beta 1 “Geneva” と AD FS v1 (現行) との比較 Account Store Attribute Store Policy Store AD FS1 “Geneva” AD DS Y Y AD LDS Y ? SQL db N N 3rd party LDAP N N AD DS Y Y AD LDS Y Y SQL db Code ? 3rd party LDAP Code ? SQL db N Y AD/AD LDS/LDAP N N Flat file Y N WS-Federation 1.0 (Passive Requestor Interop Profile) WS-Federation 1.2 (Min Passive Requestor Subset) AD FS1 “Geneva” Y Y n/a Y POST (push) Binding Y wresultptr (pull) Binding ? Home Realm Discovery service ? WS-Trust 1.3 ( aka Active Requestor Profile) n/a Y Issue Y Issue “OnBehalfOf” (proxy support) Y Issue “ActAs” (identity delegation) Y Renew ? Validate ? WS-SecurityPolicy 1.2 n/a Y AD FS1 “Geneva” SAML 1.0/1.1 Web SSO Protocol N N SAML 2.0 Web SSSO Protocols n/a Y IdP Lite & SP Lite Operational Modes Y • Web SSO, <AuthnRequest>, HTTP redirect p1 • Web SSO, <Response>, HTTP POST p1 • Identity Provider Discovery (cookie) p1 • Web SSO, <Response>, HTTP Artifact p2 • Artifact Resolution, SOAP p2 • Single Logout (IdP-initiated) – HTTP redirect p2 • Single Logout (SP-initiated) – HTTP redirect p2 • Enhanced Client/Proxy SSO, PAOS (*) p3 GSA Profile (LA harmonized e-Gov Profile) Y AD FS1 “Geneva” Y Y Authentication & Attribute Statements Y Y Signed tokens Y Y Encrypted tokens N Y n/a Y SAML 1.1 Tokens SAML 2.0 tokens Authentication & Attribute Statements Y Extensible claim type (any URI) Y Signed tokens Y Encrypted tokens Y Proof tokens (symmetric/asymmetric keys) Y Authentication Context ? AD FS1 Card Issuance Token Issuance Privacy Personas “Geneva” Managed InfoCard provisioning for CardSpace Y Automated InfoCard versioning for CardSpace ? CardSpace Y 3rd Party Identity Selectors Y InfoCard Profile identity claim types Y Display tokens Y PPID claim ? Range constrained values (e.g. Age > 21) ? Non-auditing tokens (Audience hidden from STS) Y Multiple managed cards per AD account Y インフォメーションカードセレクタの 相互運用性 Windows CardSpace を利用 Internet Explorer 6/7/8 Firefox Identity Selector http://www.codeplex.com/IdentitySelector カードの一元管理が可能、Windows のみ対応 独自のセレクターを利用 Higgins http://www.eclipse.org/higgins/ Firefox, GTK, Cocoa, Eclipse RCP Digital Me (Bandit Project) http://www.bandit-project.org/index.php/DigitalMe Firefox, SuSE Linux, Mac OSX OpenInfoCard http://code.google.com/p/openinfocard/ FireFox の組み込みセレクター Xmldap.org のプロジェクト Infocard Selector For Safari http://www.hccp.org/safari-plug-in.html Mac OSX Azigo http://www.azigo.com AIR ベースのセレクター カードはクラウドに保存 HTML, ASP.NET 2.0: http://self-issued.info/?p=18 “Geneva” Framework (旧称 “Zermatt”) クレームを扱う共通フレームワーク https://connect.microsoft.com/site/sitehome.aspx?SiteID=642 PHP (Zend): http://www.codeplex.com/informationcardphp Java: http://www.codeplex.com/informationcardjava Ruby: http://www.codeplex.com/informationcardruby C: http://www.codeplex.com/InformationCard Python: http://code.google.com/p/py-self-issued-rp/ Higgins Project Bandit Project …… SAML Protocol Web SSO &Circles of Trust ライトウェイトな URI ベースの ID http://projectconcordia.org WS-* ベースの通信 ユーザーセントリック
© Copyright 2025 ExpyDoc