Presentation is loading. Please wait.

Presentation is loading. Please wait.

鈴木章太郎 アーキテクトエバンジェリスト マイクロソフト株式会社 T1-307 .NET Services 概要 Microsoft Identity Software + Services.NET アクセスコントロールサービス概要.NET サービスバスとの関係.NET ワークフローサービスとの関係.

Similar presentations


Presentation on theme: "鈴木章太郎 アーキテクトエバンジェリスト マイクロソフト株式会社 T1-307 .NET Services 概要 Microsoft Identity Software + Services.NET アクセスコントロールサービス概要.NET サービスバスとの関係.NET ワークフローサービスとの関係."— Presentation transcript:

1

2 鈴木章太郎 アーキテクトエバンジェリスト マイクロソフト株式会社 T1-307

3 .NET Services 概要 Microsoft Identity Software + Services.NET アクセスコントロールサービス概要.NET サービスバスとの関係.NET ワークフローサービスとの関係 Microsoft SQL データサービスとの関係 リソース / サンプル・関連セッション他

4

5 .NET が持つ能力のクラウドへの 拡張.NET Services を有効活用できれば、既存のあるい は他の方法よりはるかに楽にクラウドサービスの 実装が可能 現時点で 3 つのサービスがあり、この後も、 後続が登場予定.NET Service Bus – サービスの統合に必要な接続 性とメッセージングの基盤.NET Workflow Service – 信頼性が高くスケーラブルなワークフロー.NET Access Control Service – フェデレーション 認証をベースとしたオーソライゼーション

6 アプリケーション統合サービス

7 クラウド データベース サービス SQL データサービスとは 開発者の俊敏性 拡張性と柔軟性 信頼性とセキュリティ  リレーショナル クエリ  BLOB (Binary Large OBject)  XML ワイヤー形式  SOAP/REST のサポート  データ パーティションによる スループット / 拡張性の強化  トランザクションの一貫性を 確保  柔軟なデータ モデル ( スキー マの強制なし )  Microsoft SQL Server テクノロ ジで構築  認証 / 承認  バックアップ / 地理的分散によ り事業継続性を確保

8 “Geneva” Framework Live Framework Windows CardSpace “Geneva” Active Directory “Geneva” Server Microsoft Services Connector Software Services Claims-Based Access 標準技術への準拠 開発者の生産性拡充 選択の柔軟性 Live Identity Service Live Identity Service Microsoft Federation Gateway Microsoft Federation Gateway.NET Access Control Service.NET Access Control Service

9 リレーションシップ (WS-Security, WS-Federation, WS-Trust) リレーションシップ (WS-Security, WS-Federation, WS-Trust) ( Requester / Client ) アイデンティティセレクタ ( 適切な場所で ) ( Requester / Client ) アイデンティティセレクタ ( 適切な場所で ) アプリケーション ( RP) アプリケーション ( RP) クレームプロバイダ( IP / STS ) “Geneva” フレームワーク “Geneva” フレームワーク Live フレームワーク Live フレームワーク Windows CardSpace “Geneva” Active Directory “Geneva” Server Microsoft Services Connector Live ID Microsoft Federation Gateway.NET Access Control Service.NET Access Control Service Software Services 3 rd パーティ製 フレームワーク 3 rd パーティ製 フレームワーク 3 rd パー ティ製 サーバー 3 rd パー ティ製 サーバー 3 rd パー ティ製 サーバー 3 rd パー ティ製 サーバー 3 rd パーティ製 セレクタ 3 rd パーティ製 セレクタ クレーム取得 クレーム要求 クレーム 返送 クレーム返送 クレーム 要求 (In cloud or on-premises)

10 IP ( Identity Provider (Issuer) ): ユーザーの ID を発行するサイト 。 STS ( Security Token Issuing Service ) : IP が持つ、オンラインでセキュリティトークンを発行 することのできるサービス。 RP ( Relying Parties ) : 情報の提示を求める Web サイト、ターゲットアプリ ケーション。クライアントに対して、セキュリティ トークンの提示を要求する。 具体的には、利用できる IP の種類と、必要な Claim リスト(例えば、ユーザー 名と会社名、役職、年齢情報をくれ、等)を指定。 Requester ( =Client ) : ユーザーのアプリケーション。 Web ブラウザ( HTTP ク ライアント ) 、 WPF/WCF アプリケーション( SOAP クラ イアント)等。

11 セキュリティトークン IP の STS から必要に応じ、その都度発行してもらう、 いわゆる身元証明情報。必要最小限の Claim のみが記 載された形で発行され、これを RP に提示することで、 RP に対し、身元証明を行う。 Claim ( クレーム、主張 ) Client が送信する、ユーザーに関する情報項目のこと。 CardSpace にも記載可能。当然、すべての情報が必要 なわけではなく、一部の Claim のみで十分なことも多 い。 ユーザー ID 、会社情報、役職、所属、等。アク ション(メソッド)の実行権限も付与可能。 CardSpace ( 情報カードの一種 ) IP からセキュリティトークンを発行してもらうための カード。 STS の URL 、記載可能な Claim 一覧等が記載さ れ、自己発行カードも作成可能。

12 下記はいずれも、アクセスコントロールに おいて、同じアプローチを利用 Microsoft SQL データサービス (1) ユーザー名 & パスワードと、 (2).NET アクセスコントロールサービスが生成 するトークン、のいずれも利用可能.NET サービスバス.NET ワークフローサービス ポータル全体 注 :.NET Service Bus と、.NET Workflow Service は、トー クンのプロセッシングにおいて共通のコードを利用

13 利用者 アプリケーション Access Control Service Live ID ユーザー Live ID ユーザー XYZ ドメイン ユーザー XYZ ドメイン ユーザー 誰が 呼び出し元 ? 誰が 呼び出し元 ? 彼らは何が できるの? 彼らは何が できるの? UI 統合 Service Bus オーケスト レーション Store WF Data

14 ポータル UI を持ち、アクセスコントロールのルールのコレク ションを作成したり管理したりする クライアント API アクセスコントロールのルールのコレクションを管理 するための具体的かつ実践的な方法を提供する サービス ( STS ) トークンを発行するホストされたサービス 開発者は、 “Geneva” フレームワーク( WCF や、.NET Framework 3.5 、その他 WS-Trust 1.3 準拠の java stack に も対応)を利用して、このサービスと相互にやり取り をする

15 アクセスコント ロールサービス アカウント (Managed STS) アクセスコント ロールサービス アカウント (Managed STS) Relying Party ( サービスバス、 アプリケー ション等 ) Relying Party ( サービスバス、 アプリケー ション等 ) 2. クレームを送信 4. トークンを送信 (4 からの出力クレーム ) 5. トークン付きの メッセージを送信 0. Cert|Secret 公開鍵、証明書 の交換 ; 定期的にリフ レッシュ Requestor / Clinet リクエスタ ( 利用者 ) Requestor / Clinet リクエスタ ( 利用者 ) 1. 利用者のためにアク セスコントロールの ルールを決める 6. クレーム を Relying Party で チェック 3. アクセスコントロール ルールに基づいて、入力 クレームを出力クレーム にマッピングする

16 1 つの Access Control Service Account で 複数のアプリケーションや同一アプリケーションの別の部分 へのサービス提供ができる URI がアプリケーション毎なので個別の設定可能 1 つの Access Control Service Account で 複数のアプリケーションや同一アプリケーションの別の部分 へのサービス提供ができる URI がアプリケーション毎なので個別の設定可能 Scope: http://foo.com Rule 1 Rule N Enc. Pref. & Settings Scope: http://bar.com Rule 1 Rule N Enc. Pref. & Settings

17 .NET サービスバス,.NET ワークフローサービス、 そして SQL データサービス には、.NET アクセス コントロールサービスアカウントがある これらのアカウントは、スコープ(適用範囲)と 暗号化プリファレンスを含んでいる ルールは、新しい利用者アカウントが作成された ときに、自動的に追加される.NET サービスバスと.NET ワークフローサービス、 そして SQL データサービスでは、ルールは異なる NET サービスバスと 、.NET ワークフローサービス は、利用者アカウントにルールへの Edit 権限を付与 している

18 サインアップ時にアサインされる アクセスコントロールサービスには、現在、 下記のクレデンシャルストアがある ソリューション名 / ソリューションパスワード X.509 証明書 CardSpace v1 自己発行カード しかしアクセスコントロールサービスそれ 自体は、アイデンティティプロバイダにな る計画はない 将来のリリースで、クレデンシャルストア としては、 Live Identity Services を使う予定

19 鈴木 章太郎 アーキテクトエバンジェリスト マイクロソフト株式会社

20 トークンのリクエスティングとプロセッシング Geneva Framework の利用が最もシンプル.NET Framework 3.5 の WCF の利用 いずれかの WS-Trust 1.3 スタックの利用 (Sun Metro, 等 ).NET サービスバスと.NET ワークフローサービスも、 SDK の中に、トークンをリクエストするタイプを持つ ルールの管理 ルール管理のためのシンプルな API クライアント API を利用 or REST エンドポイントを利用 アクセスコントロールサービスポータルも利用できる.NET Services SDK にサンプルのソースコードあり

21 スマートクライアントや Web サービスを対象と する E.g. WPF や WCF アプリケーションが典型例 そのようなアプリケーションのために : RST ( Request for Security Token )の中のアクセスコ ントロールサービスにクレームを送信し、 RSTR を relying party (対象アプリケーション)に送信する.NET Services SDK にサンプルがある インタラクションは WS-Trust 1.3 に準拠.NET Framework 3.5 の WCF や、その他いくつかの Java スタックがサポートされる

22 各々のクレデンシャルタイプのためのエンドポイ ント 他 IP からのトークンのためのエンドポイントでもある ホスト名 + ソリューション名 + クレデンシャル タイプ ユーザー名 / パスワード : http://accesscontrol.windows.net/sts/ {solutionName}/username_for_certificate X509 Certificate: http://accesscontrol.windows.net/sts/ {solutionName}/certificate Windows CardSpace: http://accesscontrol.windows.net/sts/ {solutionName}/issued_for_certificate

23 鈴木 章太郎 アーキテクトエバンジェリスト マイクロソフト株式会社

24 Calculator Service デモ アクティブリクエスタプロファイルシナリオ( WCF サービス).NET Services SDK 同梱 ローカルのサービスにあるメソッドを Output Claim として、アク セスコントロールサービス側で Rule 化し制御 ユーザー名 / パスワード利用と CardSpace 利用の両シナリオ Security Token Service.NET Access Control Service WS-Trust クライアントPC Relying Party (Calculator Service) Client 1. ユーザー名 / パスワード 2. CardSpace

25 HTTP リダイレクトを認識できるクライアントを 対象とする E.g. ブラウザがその典型例 Web アプリケーションのために : アクセスコントロールサービスにリダイレクトし、返 送されたトークンをプロセッシングし、次いでセッ ションクッキーを発行する.NET サービスポータルがまさにこれを行っている アクセスコントロールサービスにより、 Live アイ デンティティサービスや、 “Geneva” サーバー と のフェデレーションが可能 さらに 3 rd パーティの WS-Federation サポート製品が 登場予定

26 ホスト名 + ソリューション名 + フェデ レーションターゲット これも query string パラメータを必要とする Live ID federation エンドポイント : https://accesscontrol.windows.net/passivests/ {solutionName}/LiveFederation.aspx General federation エンドポイント : https://accesscontrol.windows.net/passivests/ {solutionName}/Federation.aspx これら 2 つは将来のバージョンで統合予定

27 スコープ、 Reply To アドレス、アイデン ティティプロバイダのアドレス、を記述 例 : wa=wsignin1.0&wtrealm={scope}&wreply={replyTo}& whr={identityProvider} “Geneva” Framework を使うことにより、 whr 等は自動的にハンドリングされる 現在の CTP 以降でさらに機能が強化される予定

28 鈴木 章太郎 アーキテクトエバンジェリスト マイクロソフト株式会社

29 Contosowoodworking (木工用品店) Web サイト、 WS-Federation 連携のデモ パッシブリクエスタプロファイルシナリオ( ASP.NET Web アプリ ケーション) Contosowoodworking Web サイトへのアクセスを、アクセスコン トロールサービスで制御 パワーツールと普通のツールを権限によって表示 / 非表示 Security Token Service.NET Access Control Service クライアントPC Relying Party (Contosowoodworking) Client Web ブラウザ WS-Federation

30 WS2007FederationHttpBinding は、 WCF スタッ クのための WS-Trust 1.3 実装 アクティブの場合  RST を アクセスコントロール サービス( STS) に送信し、次いで、トークン + ペイ ロード を対象アプリケーション ( Relying party ) に送 信する アクセスコントロールサービスの中のクレデン シャルストアを使うときには、当該 RST はソ リューションクレデンシャルを含んでいる.NET Services SDK の中に、ソリューション名 / パスワードと、 CardSpace のサンプルがある CardSpace を使うには、 Visual Studio を使った “ サービス参照の追加 ” か、 svcutil で行う

31 アクセスコントロールサービス開発者のための 最適なフレームワーク タイプが定義され、それによりトークンをリク エストしたりプロセスする このトークンにはアクセスコントロールサービストー クンを含む アクティブ・パッシブ両方のシナリオあり “Geneva” Framework SDK の一部として利用可能 Microsoft.IdentityModel.dll に利用できる殆どのタイプ が定義されており、これを使ってアクセスコントロー ルサービスのインタラクションが可能 NOTE: アクセスコントロールサービスは、このアセン ブリを使って作成されている

32 4 つのサービスから構成される : トークン発行者としての STS 、ルール管理 サービス、ルール実行エンジン、ポータル STS と ルール管理サービスは public API を 持つ Storage Data Model Rule Processing STS Portal Rule Mgmt

33 Security Token Service Custom Handlers, Authenticators, Policies … IDFX SOAP Client HTTP Client Internet WS-Trust (Active) WS-Federation (Passive) Security Token Service Custom Handlers, Authenticators, Policies … IDFX STS Custom Handlers, Authenticators, Policies … “Geneva” Framework WCF Front-End

34 . NET サービスバスは、一つのネーミングを使用 して、リソースとエンドポイントを構造化 各利用者アカウントは、当該ネーミングの一部を、 ソリューション名をベースとして、割り当てる 各ソリューション名のネーミングは、.NET アク セスコントロールサービスの中のスコープである 当該ソリューション名のオーナーは、スコープの Edit 権限を付与される http://servicebus.windows.net/services/ Foo/ Bar/ Baz/

35 .NET サービスバスがトークンに対して要求する のは : アクセスされているリソースのネーミングを含む Listen かつ / または Send のアクションクレームを含む.NET サービスバスの 証明書により暗号化される トークンが提示されるまでに検証される 当該ソリューション名のスコープは、 2 つのルー ルでプロビジョニングされる : Username= Foo  Action=Listen Username= Foo  Action=Send Foo はこれらのルールを必要に応じて変更できる

36 .NET サービス SDK には、トークンをリクエスト するために WCF を拡張するタイプ群が含まれる スタンダードエンドポイントビヘイビア ソリューション名 / パスワード、 X509 、 CardSpace 、 Federation 、等々. 下記のタイプを使ってアクセス可能 TransportClientEndpointBehavior type WS-Trust 1.3 準拠の Web サービススタックであれ ば、.NET サービスバスとのインタラクションが 可能 (e.g., Sun Metro 1.3)

37 鈴木 章太郎 アーキテクトエバンジェリスト マイクロソフト株式会社

38 .NET ワークフローサービスは、ネーミングを 使って、リソースとエンドポイントを構造化.NET サービスバスとほぼ同じモデル HTTP エンドポイントも含む http://workflow.windows.net/workflows/ Foo/ Bar/ Baz/ http://workflow.windows.net/workflowshttp/ Foo/ Bar/ Baz/

39 . NET ワークフローサービスがトークンに対して要求する のは : アクセスされているリソースのネーミングを含む Read/Write/Execute/Send の各アクションクレームを含む.NET ワークフローサービスの証明書により暗号化される トークンが提示されるまでに検証される 当該ソリューション名のスコープは、アクションルール でプロビジョニングされる : Read/Write/Execute/Send 必要に応じてこれらのルールは変更できる

40 ワークフロー群は、通常のトークンのライ フタイムを超えて稼働可能 例 : 半年にわたって毎日, Foo’ のワークフロー は、サービスバスにメッセージを送る必要が ある ワークフローは、長期間にわたり存続する Authentication (AuthN 、認証 ) トークンを 使って、 Authorization (AuthZ 、認可 ) トー クンを要求する

41 鈴木 章太郎 アーキテクトエバンジェリスト マイクロソフト株式会社

42 Foo Account Container Foo Rule Container 1 Scopes Scope 1 ptr Scope 2 ptr Scope N ptr Scope 1 Rule 1 Rule 2 Foo Rule Container N Scope N............ Foo Rule Container 2 Scope 2 Access Control Service Controlled Authorities in SQL Server Data Services

43 SDS は 2 つの認証ユーザーを持っている: ユーザー名 / パスワードを管理 アクセスコントロールサービストークン SDS は、アクセスコントロールサービスのアカウ ントと 1 つのスコープを持つ 各々の.NET Services のアカウントにより、ルール が付加される アクセスコントロールサービスのユーザー名を、 UPN クレームにマップする Username=shotaro → UPN=shotaro@mssds.comUPN=shotaro@mssds.com さらに深い統合が可能になっている

44 鈴木 章太郎 アーキテクトエバンジェリスト マイクロソフト株式会社

45 基本的には、アプリケーションの要求に応じて、カスタマ イズされるべき その上で共通のパターンとして : 1. サービスアカウントを使って、.NET サービスにアクセス、 AuthN ( 認証 ) / AuthZ ( 認可 )は独立して行う 2. フェデレーション認証を使って、ユーザーにサービスにより支え られているドメインへの AuthN ( 認証 ) / AuthZ ( 認可 )を行う アプローチ 1 .は、固有の ID ストアを使った既存のアプリ ケーションに近い Calculator サービスのデモもこれに該当する アプローチ 2 .が最もフィットするのは、新しいアプリ ケーションの場合である

46 フェデレーション認証のアプローチと推測 ユーザーのセットに対して新しいスコープ を作成 プロビジョン時間に作成された.NET サービス バスと、.NET ワークフローサービスのスコー プに従わせる Listen / Send / Execute 等をユーザーシナ リオに基づいて割り当てる 独自のユーザーのための認証プロセスにおい て、当該クライアント API を使う

47 REST RST / RSTR のサポート アクセスコントロールの技術を広くリーチ するために、共通のリクエスト 現在、詳細を詰めているところ Federation Gateway のサポート クレデンシャルストアとしての Live ID の利用 Windows Azure 上へのホスティング カスタムポリシーのサポート

48 T1-301 Windows Azure プログラミング T1-302 Windows Azure ストレージサービス T1-303 Windows Azure 管理機能 T1-304.NET Services 概要 T1-305.NET Services :サービスバスとアーキテクチャの詳解 T1-306.NET Services :ワークフローサービスによるクラウド サービスのオーケストレーション T1-308 SQL Services 概要 T1-201 Live Services 概要 T1-309 Live Framework リソースモデルとリソースへのアクセス T1-310 Live Framework アプリケーション開発 T1-401 クラウドコンピューティングのエッセンス T1-402 “Geneva” :フェデレーショナルなクレームベース ID モデルの適用 T1-403 Web 2.0 スタイル サービスのアーキテクチャと実装

49 Azure Services Platform SDK Windows Azure SDK Windows Azure Tools for Visual Studio 2008.NET Services SDK SQL Data Services SDK http://www.microsoft.com/azure/sdk.mspx http://portal.ex.azure.microsoft.com/sdk.aspx Geneva Framework SDK http://portal.ex.azure.microsoft.com/sdk.aspx https://connect.microsoft.com/site/sitehome.aspx?SiteID=642&wa =wsignin1.0 Azure Services Training Kit PDC Preview http://www.microsoft.com/azure/trainingkit.mspx Azure Services Management Tool http://code.msdn.microsoft.com/AzureManagementTools

50 © 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.

51


Download ppt "鈴木章太郎 アーキテクトエバンジェリスト マイクロソフト株式会社 T1-307 .NET Services 概要 Microsoft Identity Software + Services.NET アクセスコントロールサービス概要.NET サービスバスとの関係.NET ワークフローサービスとの関係."

Similar presentations


Ads by Google