1
Microsoft Architect Forum 2013
アイデンティティ プロバイダーとの
連携手法
Tsuyoshi Matsuzaki
(Microsoft, Japan)
Manabu Kondo
(Ping Identity, Japan)
2
本セッションの位置づけ
「SaaS としての
アイデンティティ プロバイダーの役割」
IT Pro、SI エンジニア (アーキテクト) にとっての
認証・認可の動向と技術
「アイデンティティ プロバイダーとの
連携手法」
上記技術を活用したシステム (アプリケーション) 構築
の立場から解説
前セッション
本セッション
3



Agenda
4
Microsoft Architect Forum 2013
Domain-based IdM から Federation Model へ
 Web 標準がベース
 もはや事実上のデファクトへ
(Google, Facebook, twitter, mixi 等)
 ただし、すべてが解決された
わけではない !
(今後も進化 . . .)
多数のコピー,
使いまわし
クレームベースのフェデレーション
IdP(CP) SP(RP)
CLAIMS
認証 認可
5
利用者にとって使いやすく ≠
開発者にとって作りやすく
 開発者にとってのハードルは、
むしろ 10 年前より各段にあがっている
 開発の 1 要素から、より専門的な分野へ
 高度化と分散化の同時進行 ~
単一の技術はより高度化し、関心はより多様化へ
 一般的な産業成熟の波
(今後もこの流れは続くであろう. . .)
6
アーキテクトにとって必要なスキル
~ すべての仕様、すべての実装を知る必要はない…
 現実の理解と問題意識の共有
 ネット上は、無駄な Spam, Malware, etc で溢れている. . .
 各技術の背景にある課題と「何を解決するものか」の理解
 トレンドの追跡 (将来、どこへ向かうのか)
7
Microsoft が提供する各開発技術と
その使い分け
8
最新のプロジェクト・テンプレートが提供する
フェデレーション開発ライブラリー
(DotNetOpenAuth)
 OAuth, OpenID の認証・認可を扱うプロ
トコル・ライブラリー
 ソーシャル・アイデンティティ系の認証・認可
連携であれば、これで充分 …
 ただし、WS-* の扱いは不可
(AD FS 連携も不可 !)
 Visual Studio 2012 の下記テンプレートで
使用可能
 ASP.NET MVC 4 インターネット アプリケー
ション
 ASP.NET Webフォーム
 ASP.NET Webサイト(Razor)
 プロジェクトは、複数の IdP に対応
9
開発者にとっての
Windows Azure AD – Access Control
 STS によるアイデンティティ系処理分割 (モジュール化)
 開発時のメリット
 アプリケーションは、単一
のプロトコル (WS-Fed)
とセキュリティ・フォーマッ
ト(RP ごとに選択可能) のみ
を意識すれば良い
 IdPの変更 (追加など) に再
コンパイルは不要
 WS-Fed (AD FS 2.0 -) にも
対応可能
 クレームも変換 (特定 IdP
に依存したコードを排除)
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 用アプリ開発テンプレートでは、既に使用
11
シナリオ・ベースのヘルパー・ライブラリー
Windows Azure Authentication Library (AAL)
 シナリオ・ベースの各種認証処理をヘルプ
(Not a protocol library !)
 インタラクティブ UI によるトークン取得、User Credential 連携、
など
 Server-to-server 認証
(OAuth2) は、将来 WIF へ分離予定
 特に、リッチ・クライアント
(Non-Web クライアント) を対象
 AAD (ACS, Directory 双方) 用
 現在、Beta 版
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 への製品登録) が必要
13
 近藤 学(Ping Identity, Japan)
アイデンティティ連携開発の実例
~ 仕組みを知れば、ここまでできる ! ~
14
(株)デジタル アドバンテージ主催
日本マイクロソフト(株) 他 協賛
http://www.buildinsider.net/
新時代を切り開くソフト開発者のためのサイト
この中で、本日紹介した各技術をサンプル・コード付きで掲載します

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

  • 1.
    1 Microsoft Architect Forum2013 アイデンティティ プロバイダーとの 連携手法 Tsuyoshi Matsuzaki (Microsoft, Japan) Manabu Kondo (Ping Identity, Japan)
  • 2.
    2 本セッションの位置づけ 「SaaS としての アイデンティティ プロバイダーの役割」 ITPro、SI エンジニア (アーキテクト) にとっての 認証・認可の動向と技術 「アイデンティティ プロバイダーとの 連携手法」 上記技術を活用したシステム (アプリケーション) 構築 の立場から解説 前セッション 本セッション
  • 3.
  • 4.
    4 Microsoft Architect Forum2013 Domain-based IdM から Federation Model へ  Web 標準がベース  もはや事実上のデファクトへ (Google, Facebook, twitter, mixi 等)  ただし、すべてが解決された わけではない ! (今後も進化 . . .) 多数のコピー, 使いまわし クレームベースのフェデレーション IdP(CP) SP(RP) CLAIMS 認証 認可
  • 5.
    5 利用者にとって使いやすく ≠ 開発者にとって作りやすく  開発者にとってのハードルは、 むしろ10 年前より各段にあがっている  開発の 1 要素から、より専門的な分野へ  高度化と分散化の同時進行 ~ 単一の技術はより高度化し、関心はより多様化へ  一般的な産業成熟の波 (今後もこの流れは続くであろう. . .)
  • 6.
    6 アーキテクトにとって必要なスキル ~ すべての仕様、すべての実装を知る必要はない…  現実の理解と問題意識の共有 ネット上は、無駄な Spam, Malware, etc で溢れている. . .  各技術の背景にある課題と「何を解決するものか」の理解  トレンドの追跡 (将来、どこへ向かうのか)
  • 7.
  • 8.
    8 最新のプロジェクト・テンプレートが提供する フェデレーション開発ライブラリー (DotNetOpenAuth)  OAuth, OpenIDの認証・認可を扱うプロ トコル・ライブラリー  ソーシャル・アイデンティティ系の認証・認可 連携であれば、これで充分 …  ただし、WS-* の扱いは不可 (AD FS 連携も不可 !)  Visual Studio 2012 の下記テンプレートで 使用可能  ASP.NET MVC 4 インターネット アプリケー ション  ASP.NET Webフォーム  ASP.NET Webサイト(Razor)  プロジェクトは、複数の IdP に対応
  • 9.
    9 開発者にとっての Windows Azure AD– Access Control  STS によるアイデンティティ系処理分割 (モジュール化)  開発時のメリット  アプリケーションは、単一 のプロトコル (WS-Fed) とセキュリティ・フォーマッ ト(RP ごとに選択可能) のみ を意識すれば良い  IdPの変更 (追加など) に再 コンパイルは不要  WS-Fed (AD FS 2.0 -) にも 対応可能  クレームも変換 (特定 IdP に依存したコードを排除)
  • 10.
    10 WS-Fed, WS-Trust の開発用に WindowsIdentity 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 用アプリ開発テンプレートでは、既に使用
  • 11.
    11 シナリオ・ベースのヘルパー・ライブラリー Windows Azure AuthenticationLibrary (AAL)  シナリオ・ベースの各種認証処理をヘルプ (Not a protocol library !)  インタラクティブ UI によるトークン取得、User Credential 連携、 など  Server-to-server 認証 (OAuth2) は、将来 WIF へ分離予定  特に、リッチ・クライアント (Non-Web クライアント) を対象  AAD (ACS, Directory 双方) 用  現在、Beta 版
  • 12.
    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 への製品登録) が必要
  • 13.
    13  近藤 学(PingIdentity, Japan) アイデンティティ連携開発の実例 ~ 仕組みを知れば、ここまでできる ! ~
  • 14.
    14 (株)デジタル アドバンテージ主催 日本マイクロソフト(株) 他協賛 http://www.buildinsider.net/ 新時代を切り開くソフト開発者のためのサイト この中で、本日紹介した各技術をサンプル・コード付きで掲載します