アイデンティティ プロバイダーとの連携手法 tsmatsuz

14
1 Microsoft Architect Forum 2013 アイデンティティ プロバイダーとの 連携手法 Tsuyoshi Matsuzaki (Microsoft, Japan) Manabu Kondo (Ping Identity, Japan)

Upload: tusyoshi-matsuzaki

Post on 11-Jul-2015

850 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: アイデンティティ プロバイダーとの連携手法 Tsmatsuz

1

Microsoft Architect Forum 2013

アイデンティティ プロバイダーとの連携手法

Tsuyoshi Matsuzaki

(Microsoft, Japan)

Manabu Kondo(Ping Identity, Japan)

Page 2: アイデンティティ プロバイダーとの連携手法 Tsmatsuz

2

本セッションの位置づけ

「SaaS としてのアイデンティティ プロバイダーの役割」IT Pro、SI エンジニア (アーキテクト) にとっての認証・認可の動向と技術

「アイデンティティ プロバイダーとの連携手法」上記技術を活用したシステム (アプリケーション) 構築の立場から解説

前セッション

本セッション

Page 3: アイデンティティ プロバイダーとの連携手法 Tsmatsuz

3

Agenda

Page 4: アイデンティティ プロバイダーとの連携手法 Tsmatsuz

4Microsoft Architect Forum 2013

Domain-based IdM から Federation Model へ

Web 標準がベース

もはや事実上のデファクトへ(Google, Facebook, twitter, mixi 等)

ただし、すべてが解決されたわけではない !(今後も進化 . . .)

多数のコピー,

使いまわしクレームベースのフェデレーション

IdP(CP) SP(RP)

CLAIMS

認証 認可

Page 5: アイデンティティ プロバイダーとの連携手法 Tsmatsuz

5

利用者にとって使いやすく ≠

開発者にとって作りやすく

開発者にとってのハードルは、むしろ 10 年前より各段にあがっている

開発の 1 要素から、より専門的な分野へ

高度化と分散化の同時進行~単一の技術はより高度化し、関心はより多様化へ

一般的な産業成熟の波(今後もこの流れは続くであろう. . .)

Page 6: アイデンティティ プロバイダーとの連携手法 Tsmatsuz

6

アーキテクトにとって必要なスキル~ すべての仕様、すべての実装を知る必要はない…

現実の理解と問題意識の共有

ネット上は、無駄な Spam, Malware, etcで溢れている. . .

各技術の背景にある課題と「何を解決するものか」の理解

トレンドの追跡 (将来、どこへ向かうのか)

Page 7: アイデンティティ プロバイダーとの連携手法 Tsmatsuz

7

Microsoft が提供する各開発技術とその使い分け

Page 8: アイデンティティ プロバイダーとの連携手法 Tsmatsuz

8

最新のプロジェクト・テンプレートが提供するフェデレーション開発ライブラリー

(DotNetOpenAuth) OAuth, OpenID の認証・認可を扱うプロ

トコル・ライブラリー ソーシャル・アイデンティティ系の認証・認可連携であれば、これで充分…

ただし、WS-* の扱いは不可(AD FS 連携も不可 !)

Visual Studio 2012 の下記テンプレートで使用可能 ASP.NET MVC 4 インターネットアプリケーション

ASP.NET Webフォーム ASP.NET Webサイト(Razor)

プロジェクトは、複数の IdP に対応

Page 9: アイデンティティ プロバイダーとの連携手法 Tsmatsuz

9

開発者にとっての

Windows Azure AD – Access Control

STS によるアイデンティティ系処理分割 (モジュール化)

開発時のメリット アプリケーションは、単一のプロトコル (WS-Fed)とセキュリティ・フォーマット(RP ごとに選択可能) のみを意識すれば良い

IdPの変更 (追加など) に再コンパイルは不要

WS-Fed (AD FS 2.0 -) にも対応可能

クレームも変換 (特定 IdPに依存したコードを排除)

Page 10: アイデンティティ プロバイダーとの連携手法 Tsmatsuz

10

WS-Fed, WS-Trust の開発用にWindows Identity Foundation (WIF) を提供

DotNetOpenAuth に対し、WS-Fed, WS-Trust のプロトコル・ライブラリー的性格 MS は、従来、これらのプロトコルに投資 (AD FS, ACS, など)

.Net 4.5 で標準ライブラリーへ組み込み SSO 開発については、Non-Programming で利用可能

(Identity and Access Tool による構成ファイルへの反映)

セキュリティ・フォーマットは、SAML Assertion に対応。JWT を使用する場合は、別途のライブラリーを取得

今後は、Server-to-server 認証 (OAuth2) のライブラリーとしても拡張 (現在、拡張ライブラリーとして別途提供) SharePoint 2013 用アプリ開発テンプレートでは、既に使用

Page 11: アイデンティティ プロバイダーとの連携手法 Tsmatsuz

11

シナリオ・ベースのヘルパー・ライブラリー

Windows Azure Authentication Library (AAL)

シナリオ・ベースの各種認証処理をヘルプ

(Not a protocol library !)

インタラクティブ UI によるトークン取得、User Credential 連携、など

Server-to-server 認証(OAuth2) は、将来WIF へ分離予定

特に、リッチ・クライアント(Non-Web クライアント) を対象

AAD (ACS, Directory 双方) 用

現在、Beta 版

Page 12: アイデンティティ プロバイダーとの連携手法 Tsmatsuz

12

Windows Azure AD – ディレクトリ (Directory)

の開発者向けトピック

SSO は「Microsoft ASP.NET Tools for Windows Azure Active Directory – Visual Studio 2012」を使用すると便利 本ツールを使用すると、RPのサーバー側の Provisioning を自動化

Identity and Access Tool でも SSO 可能

Windows Azure AD Graph LOB アプリ (ユーザー一覧の表示、など)

管理アプリ (追加・変更・削除、同期機能、など)

マルチテナント対応サービス構築など、応用的な開発にも対応 ただし、高度なスキル (ISV 向けエンドポイントの利用など) とセットアップ (Windows Azure Marketplace への製品登録) が必要

Page 13: アイデンティティ プロバイダーとの連携手法 Tsmatsuz

13

近藤学(Ping Identity, Japan)

アイデンティティ連携開発の実例~ 仕組みを知れば、ここまでできる ! ~

Page 14: アイデンティティ プロバイダーとの連携手法 Tsmatsuz

14

(株)デジタル アドバンテージ主催日本マイクロソフト(株) 他 協賛

http://www.buildinsider.net/

新時代を切り開くソフト開発者のためのサイト

この中で、本日紹介した各技術をサンプル・コード付きで掲載します