クラウドコンピューティング時代 におけるアイデンティティ管理 - Microsoft

Information Session 2
クラウドコンピューティング時代
におけるアイデンティティ管理
田辺 茂也
鈴木 章太郎
IT Pro エバンジェリスト アーキテクトエバンジェリスト
マイクロソフト株式会社 マイクロソフト株式会社
Microsoft Architect S+S Summit 2009 Fall
2009/10/13 | Page 1
Identity 関連技術の位置付け
企業向け
Active
Directory
Active Directory
フェデレーション
サービス
ID統合
ID連携
Windows Live
ID
Identity Lifecycle
Manager
ID同期
Windows
CardSpace
個人向け
2009/10/13 | Page 2
課題: ID の取り扱いは難しい
• アプリケーションは、それぞれの場面で
異なる ID 技術を使う必要がある
– Windows ドメイン下では
Active Directory (Kerberos)
– インターネットでは、ユーザ名とパスワード
– 組織間連携では、WS-Federation や
SAML (Security Assertion Markup Language)
• すべての場面で共通に使える手法はないのか
– クレームベースの ID により可能に
– 開発者、IT Pro 双方にメリット
2009/10/13 | Page 3
役割(ロール) からクレームへ
• 「クレーム」とは、ユーザーについての
詳細情報
• アプリケーション内で承認のために利用可能
• クレームの種類
アイデンティティ
– アイデンティティ
• 電子メールアドレス
• ユーザー プリンシパル名 (UPN)
• 共通名 (Common Name)
– グループ
– カスタム
グループ
Purchaser
Administrator
Platinum
[email protected]
カスタム
発注限度額:
100万円
役職:
Purchasing Agent
2009/10/13 | Page 4
クレームの利点
• クレームは…
– 承認に利用可能な、詳細なデータを公開することができる
– Active Directory, ADAM から公開可能、簡単な
ユーザーインタフェイスで管理できる
– 変換モジュール経由で公開できる
– さまざまな経由地点で、適切に修正できる
– 集中的に監査できる
– WS-Federation Passive Requestor Profile に
準拠するパートナーとの間で、相互運用できる
• 認証と認可を分離できる
– 認可のみを実装
2009/10/13 | Page 5
“Geneva” のテクノロジー
ID プロバイダー
5) トークン内のクレームを利用
“Geneva”
Server
STS
STS
アプリケーション
STS
“Geneva”
Framework
1) アプリケーションに
アクセスし、トークンの
条件を取得
トークン
3) 選択した
ID のトークンを
取得
ブラウザー
クライアント
CardSpace
“Geneva”
4) トークンを
送信
トークン
2) 条件を満たす
ID を選択
ユーザー
2009/10/13 | Page 6
“Geneva” とは
• 3つの ID テクノロジー
– “Geneva” Server
• Active Directory フェデレーション サービス (AD FS) の
次期バージョン
• STS
– Windows CardSpace “Geneva”
• Windows CardSpace の次期バージョン
– “Geneva” Framework
• “Geneva” の目標は、クレームベースの
ID モデルを実用的にすること
2009/10/13 | Page 7
社内アプリケーション
企業 Microsoft Services Identity Backbone
社内
アプリケーション
Active
Directory
?
パートナー
• 企業のネット
ワーク境界は、
消滅しつつある
• どうすれば、社
内アプリケー
ションを社員以
外に提供し、利
用を拡大できる
か
Active
Directory
2009/10/13 | Page 8
“Geneva” では
エンタープライズ
ID バックボーン
Microsoft Services Identity
Backbone
•
– クレーム対応アプリケー
ションを作成するための
.NET ベースのフレーム
ワーク
社内
アプリ
Active
Directory
“Geneva”
Framework
“Geneva”
Server
•
Active
Directory
“Geneva” Server
– Active Directory と
統合された STS
– Windows CardSpace に
対応
クレーム
“Geneva”
Server
“Geneva” Framework
•
Windows CardSpace
“Geneva”
– ユーザーのコントロール
下にある ID セレクター
– より小さく、速く
2009/10/13 | Page 9
ID システムの相互連携
エンタープライズ
ID バックボーン
Microsoft
Services Identity
Backbone
•
WS-Federation,
WS-Trust,
SAML 2.0 プロトコル
のサポート
•
上記プロトコル対応の
フェデレーションソフト
ウェア・サービスと相互
運用可能
社内
アプリ
Active
Directory
“Geneva”
Server
Active
Directory
“Geneva”
Framework
“Geneva”
Server
Third Party
STS
User
Database
2009/10/13 | Page 10
クレーム対応アプリケーションとID
• ID の洗い出し
– すでに企業内にあるアカウント
– 利用ユーザーが持っているアカウント
– 新たに増やさない工夫
• 属性の洗い出し
– 入力済みの属性
– アプリケーションで必要な属性
– マッピングの作成
• 企業のセキュリティーポリシー
– 認証に関するポリシー
2009/10/13 | Page 11
クラウド時代の ID連携技術
“ID 管理の分散“ にどう対応するか?
社内に分散してしまった ID 基盤を連携/統合
Forefront Identity Lifecycle Manager 2010
社内外を超えるフェデレーション時代の到来
クラウドを含む外部の ID 基盤と連携
コードネーム “Geneva“
コードネーム
正式名称
Geneva Server
Geneva Framework
Windows Cardspace Geneva
Active Directory Federation Services (ADFS)
Windows Identity Foundation
Windows Cardspace
Microsoft Architect S+S Summit 2009 Fall
2009/10/13 | Page 12
Microsoft Identity Software + Services
アイデンティティメタシステムとクレーム(申告)ベースモデル
アプリケーション
(RP)
Software
Services
クレームプロバイダ(IP / STS)
Live
ID
Microsoft
Federation
Gateway
“Geneva” Server
(ADFS v2.0)
.NET Access
Control
Service
Microsoft
Services
Connector
3 rdパー
ティ製
サーバー
3 rdパー
ティ製
サーバー
クレーム
要求
クレーム
返送
Active Directory
“Geneva”
フレームワーク
Live
フレームワーク
3rd パーティ製
フレームワーク
(In cloud or on-premises)
リレーションシップ
クレーム要求
(WS-Security, WS-Federation, WS-Trust)
クレーム取得
クレーム返送
(Requester / Client)
アイデンティティセレクタ(適切な場所で)
Windows CardSpace
Microsoft Architect S+S Summit 2009 Fall
3 rd パーティ製
セレクタ
2009/10/13 | Page 13
Windows Azure Platform
Windows Azure Platform
Microsoft Architect S+S Summit 2009 Fall
2009/10/13 | Page 14
.NET Services とは?
アプリケーション統合サービス
( ワークフロー サービス - 一旦削除 。.NET 4で復活予定 )
アクセス
コントロール
サービス
サービスバス
アクセス コントロール
サービス バス
(.NET 4 登場まで一旦削除:
ワークフローサービス)
複数の組織にわたり、
ユーザー ID を安全に保護
疎結合されたコンポジット アプリケー
ション間のメッセージ交換を実現
(疎結合されたコンポジット アプリケーショ
ン間のメッセージ交換を実現)
 クレーム ベースの ID 管理
 標準プロトコル (WS-Trust、WSFederation) ベースで、相互運用
性を実現
 Web ページやサービス API によ
る管理
 CardSpace、LiveID、ユーザー名
/パスワードのサポート
 Windows Communication
Foundation の拡張
 シンプルなイベントのパブリッシュ/サ
ブスクライブ
 メッセージングにおけるファイア
ウォール対応
 柔軟な接続モード
 オンプレミス アプリケーションへの接
続によるハイブリッド S+S シナリオ
の実現
 Windows Communication
Foundation の拡張
 (シンプルなイベントのパブリッシュ/サブ
スクライブ)
 (メッセージングにおけるファイアウォー
ル対応)
 (柔軟な接続モード)
 (オンプレミス アプリケーションへの接続
によるハイブリッド S+S シナリオの実
現)
 (Windows Communication Foundation
の拡張)
Microsoft Architect S+S Summit 2009 Fall
2009/10/13 | Page 15
アクセス コントロール サービス
Claims ベースの ID フェデレーション
フェデレーション
ID 発行者
(ID Issuer)
1. 利用者のためにアクセス
コントロールのルールを
決める
アクセス
コントロール
サービス
アカウント
0. 公開鍵、証明書の交換;
定期的にリフレッシュ
3. アクセスコントロール
ルールに基づいて、入力
Claims を出力 Claims
にマッピングする
(STS)
6.クレームをRelying Party
でチェック
Relying Party
(アプリケーション)
5. トークン付きのメッセージを送信
Microsoft Architect S+S Summit 2009 Fall
リクエスタ
(クライアント)
2009/10/13 | Page 16
アクセス コントロール サービス
• クラウド上における STS
(Security Token Service)
– Claims ベースの ID フェデレーションによる
認証をサポート
• さまざまなサービスが混在する
• 標準プロトコル ベース
– SAML、WS-Security、WS-Trust、WS-Federation、...
• さまざまな ID 発行者と連携可能
– アクセス コントロール サービス自身は ID 発行者ではない
• .NET Services のサービスバスやワークフロー サービスだけでな
く、他の .NET サービスや異種プラットフォームのサービス・アプ
リケーションからも利用可能
Microsoft Architect S+S Summit 2009 Fall
2009/10/13 | Page 17
アクセス コントロール サービス
アーキテクチャ
4 つのサービスから構成される :
•
•
•
•
トークン発行者としての STS
ルール管理サービス
ルール実行エンジン
ポータル
アクセス コントロール サービス
Public API
Public API
ポータル
STS
ルール管理サービス
ルール実行エンジン
Microsoft Architect S+S Summit 2009 Fall
2009/10/13 | Page 18
デモのイメージ
1.Access Control サービスの認証方法
2.Service Bus を用いたクライアントとサーバー間の通信
from Windows Azure Platform Training Kit
Demo
2009/10/13 | Page 19
アクセスコントロールサービス
アクティブシナリオ
Calculator Service (.NET Services SDK)
• アクティブリクエスタプロファイルシナリオ(WCFサービス)
• .NET Services SDK同梱
• ローカルのサービスにあるメソッドをOutput Claimとして、アクセスコ
ントロールサービス側でRule化し制御
• ユーザー名 / パスワード利用とCardSpace利用の両シナリオ
.NET Access
Control Service
2
Relying Party
(Calculator Service)
Client
1
WS-Trust
1. ユーザー名 /
パスワード
2. CardSpace
Security Token Service
3
4
クライアントPC
Microsoft Architect S+S Summit 2009 Fall
2009/10/13 | Page 20
アクセスコントロールサービス
パッシブシナリオ
• Contosowoodworking(木工用品店)
Web サイト、WS-Federation 連携のデモ
– パッシブリクエスタプロファイルシナリオ(ASP.NET Webアプリケーショ
ン)
– Contosowoodworking Web サイトへのアクセスを、アクセスコントロール
サービスで制御
•
パワーツールと普通のツールを権限によって表示 / 非表示
WS-Federation
.NET Access
Control Service
2
Web ブラウザ
Client
3
1
6
Security Token Service
5
4
Microsoft Architect S+S Summit 2009 Fall
Relying Party
(Contosowoodworking)
クライアントPC
2009/10/13 | Page 21
21
(参考)サンプルプロジェクト
– Contoso Cycles
•
•
•
CardSpace や ID フェデレーショ
ンのエバンジェリストがリードした
Azure ソリューションサンプル
Windows Azure Platform が主に
サプライチェーンアプリケーション
にどのように利用可能かを紹介
.NET Services の利用により、企業
同士がファイアーウォール、NAT、
そしてルーターを超えて連携可能
http://code.msdn.microsoft.com/contosocycles
2009/10/13 | Page 22
22
(参考)RIVIERA アーキテクチャ詳細
Worker Role
Riviera
STS
Azure Queues
Tenant On
Boarding
Custom Workflows
SQL
Azure
Point of Sale
Riviera
Loyalty
Web
Services
Self Service
Portal
Riviera
Business
Layer
Riviera
Data
Layer
Azure
Storage
RIVIERA CODE FROM MSDN: HTTP://CODE.MSDN.COM/RIVIERA
RIVIERA DEMO AND ARTIFACTS: HTTP://WWW.CUMULUX.COM/RIVIERA.HTML
2009/10/13 | Page 23
© 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.
Microsoft Architect S+S Summit 2009 Fall
2009/10/13 | Page 24