Presentation is loading. Please wait.

Presentation is loading. Please wait.

2/28/2017 8:11 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.

Similar presentations


Presentation on theme: "2/28/2017 8:11 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered."— Presentation transcript:

1 2/28/2017 8:11 PM © 2007 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.

2 .NET Services: アクセスコントロールサービス
2/28/2017 8:11 PM T1-307 .NET Services: アクセスコントロールサービス 鈴木章太郎 アーキテクトエバンジェリスト マイクロソフト株式会社 © 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. 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.

3 アジェンダ .NET Services 概要 Microsoft Identity Software + Services
Microsoft SQL データサービスとの関係 リソース /サンプル・関連セッション他

4 Azure™ Services Platform
Microsoft SharePoint Services Microsoft Dynamics CRM Services

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

6 .NET Services とは? アプリケーション統合サービス アクセス コントロール ワークフロー サービス バス
複数の組織にわたり、 ユーザー ID を安全に保護 ビジネス ロジック/サービス インタラクションのモデル化及び実行 疎結合されたコンポジット アプリケーション間のメッセージ交換を実現 クレーム ベースの ID 管理 標準プロトコル (WS-Trust、WS-Federation) ベースで、相互運用性を実現 Web ページやサービス API による管理 CardSpace、LiveID、ユーザー名/パスワードのサポート XAML ベース ワークフロー向けのランタイム実行環境 サービス オーケストレーションの実現 Windows Workflow Foundation の拡張 XAML ベース モデルをクラウドにアップロード可能 シンプルなイベントのパブリッシュ/サブスクライブ メッセージングにおけるファイアウォール対応 柔軟な接続モード オンプレミス アプリケーションへの接続によるハイブリッド S+S シナリオの実現 Windows Communication Foundation の拡張

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

8 Microsoft Identity Software + Services 一つのアイデンティティモデル で、ユーザーにアイデンティティのコントロールを可能にする
選択の柔軟性 開発者の生産性拡充 標準技術への準拠 Live Identity Service Microsoft Federation Gateway .NET Access Control Service Services Claims-Based Access “Geneva” Server Microsoft Services Connector Windows CardSpace “Geneva” “Geneva” Framework Live Framework Software Active Directory

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

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

11 用語の整理(2) セキュリティトークン Claim ( クレーム、主張 ) CardSpace ( 情報カードの一種 )
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
相互の関連性 彼らは何が できるの? 誰が 呼び出し元? 統合 オーケストレーション 利用者 アプリケーション <何らかのID プロバイダ> Service Bus WF Live ID ユーザー Access Control Service UI Data XYZ ドメイン ユーザー Store

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

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

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

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

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

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

20 アクティブモードと アクセスコントロールサービス
スマートクライアントや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 スタックがサポートされる

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

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

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

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

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

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

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

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

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

30 STS 側からのビュー Security Token Service
Custom Handlers, Authenticators, Policies … IDFX Security Token Service Custom Handlers, Authenticators, Policies … IDFX STS Custom Handlers, Authenticators, Policies … “Geneva” Framework WCF Front-End WS-Trust (Active) WS-Federation (Passive) Internet SOAP Client HTTP Client

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

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

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

34 .NET ワークフローサービスのスコープ .NET ワークフローサービスは、ネーミングを使って、リソースとエンドポイントを構造化
HTTP エンドポイントも含む Foo/ Bar/ Baz/ SOAPエンドポイントとHTTPエンドポイント Foo/ Bar/ Baz/

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

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

37 アクセスコントロールサービスと ストレージ
Foo Rule Container 1 Scope 1 Rule 1 Foo Account Container Rule 2 Scopes Scope 1 ptr Scope 2 ptr Access Control Service Controlled Authorities in SQL Server Data Services . Foo Rule Container 2 Scope 2 Scope N ptr . Foo Rule Container N Scope N

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

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

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

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

42 関連セッション T1-301 Windows Azure プログラミング T1-302 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 スタイル サービスのアーキテクチャと実装

43 リソース Azure Services Platform SDK Geneva Framework SDK
Windows Azure SDK Windows Azure Tools for Visual Studio 2008 .NET Services SDK SQL Data Services SDK Geneva Framework SDK Azure Services Training Kit PDC Preview Azure Services Management Tool

44 2/28/2017 8:11 PM © 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. © 2007 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.

45 2/28/2017 8:11 PM © 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. 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.


Download ppt "2/28/2017 8:11 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered."

Similar presentations


Ads by Google