Your SlideShare is downloading. ×
AppFabric ACS V2 による SSO
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

AppFabric ACS V2 による SSO

2,803
views

Published on

2011/3/11 に開催したセミナー資料です。AppFabric ACS V2 を使用したシングルサインオン環境の構築について、アーキテクチャと構築手順を詳しく解説しています。 …

2011/3/11 に開催したセミナー資料です。AppFabric ACS V2 を使用したシングルサインオン環境の構築について、アーキテクチャと構築手順を詳しく解説しています。
セミナーは地震の影響で中断しましたが、再開催される予定です。

Published in: Technology

1 Comment
2 Likes
Statistics
Notes
  • ritakoneh@hotmail.co.uk
    Hei min nye venn
    Mitt navn er rita jeg så profilen din på (www.slideshare.net) og jeg elsker det jeg tror vi kan klikke så kan jeg vil gjerne at du skal email meg tilbake gjennom e-postadressen min slik: slik at jeg kan fortalt deg mer om meg og gi deg min søte bildet slik at du kan kjenne meg, skal ok.
    Venter å se dine herlige svar snarest.
    Miss rita ritakoneh@hotmail.co.uk

    ....................................................................................................................................

    ritakoneh@hotmail.co.uk
    Hello My New friend
    My name is rita i saw your profile at(www.slideshare.net) and i love it i think we can click so please i will like you to email me back through my email address thus: so that i can told you more about me and give you my sweet picture so that you can know me will ok.
    Awaiting to see your lovely reply soonest.
    Miss rita ritakoneh@hotmail.co.uk
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
2,803
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
64
Comments
1
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Windows Azure Platform シングルサインオン シリーズ その2
    Windows Azure AppFabricAccess Control Service V2によるシングル サインオン システムの構築
    第1.0版
    2011年3月11日
    日本マイクロソフト株式会社
    エバンジェリスト
    安納 順一
    http://blogs.technet.com/junichia/
    Twitter @junichia
  • 2. 本日の予定
    13:30 - 16:30 「Windows Azure AppFabric ACS V2で構築する シングルサインオンシステム」マイクロソフト 安納 順一
    16:45 - 17:30「「ID 管理?あ~認証の話ね」という人に向けた話」 MVP 富士榮 尚寛 氏
    17:30 - 18:00 ライトニングトーク
    18:00 - 19:00 懇親会
  • 3. Cloud TechCenter
    インフラ担当者のためのクラウド情報サイト
    http://technet.microsoft.com/ja-jp/cloud/
  • 4. ご注意
    本セッションの情報はベータ版の機能をもとにしています
    正式なリリース時には変更される可能性がありますので
    ご了承ください
    Windows Azure AppFabirc ACS V2 は 2011年上半期中にリリースされる予定です
  • 5. 本日のテーマと内容
    ハイブリッドクラウドを支えるテクノロジーの1つ、AppFabric Access Control Service の用途と操作方法について理解しましょう
    Windows Azure AppFabric ACS V2(プレビュー版)を使用して、Windows Azure 上に展開した アプリケーション への シングルサインオン を構成します。
    AppFabric ACS の役割を理解する
    クレームを認識するアプリケーションの作成
    アプリケーションをWindowsAzure 上に展開
    AppFabricACSV2 のセットアップおよび環境設定
    長丁場ですが、根性でのりきりましょう!
  • 6. Agenda
    マイクロソフトのハイブリッドクラウドシナリオ
    クレームと Identity 連携
    Windows AzureAppFabric ACS の役割
    これから構築する環境について
    AppFabric ACS ラボサイトの準備
    クレーム対応アプリケーションの作成
    Identity Provider との連携
    • AD FS 2.0 との連携
    • 7. Windows Live ID との連携
    • 8. Google との連携
    • 9. Facebook との連携
    まとめ
  • 10. マイクロソフトのハイブリッド クラウド シナリオ
  • 11. クラウドには萌えがいっぱい
    • 整然と並んだサーバー群
    • 12. 暗闇に妖しくひかる LED
    • 13. クールなケーブルタッピング
    • 14. はたらく自動車::
    萌えるわぁ
  • 15. 真の”萌え”は…ハードウェア投資 ‘0’ で得られる高可用性
    障害対応
    • 故障したハードウェアの自動切り替え
    • 16. 自動複製によるデータ保護
    • 17. ネットワークロードバランスの自動構成
    環境変化への迅速な対応
    • 容易なスケールアウト、スケールイン
    • 18. ネットワークの自動構成
    ノンストップでのメンテナンス
    • インスタンスを順次停止してメンテナンスすることにより全体としてのサービス停止を防ぐ
  • 既存システムとの統合
    すべてがクラウドで動くわけではない
    新しいクラウドアプリとオンプレミスを結合しなければならない
    クラウド上でのビジネスプロセスの表現
    使用中のワークフローエンジンがクラウド上に用意されていない
    クラウドへの移行が面倒
    既存方式やテクノロジーを、あまり変えたくない  
    クラウドアプリの監視が面倒くさい
    でも…困った現実もある…
  • 19. 3つの選択肢
    全てパブリッククラウド
    ハイブリッド
    全てオンプレミス
    一部をクラウドに移行して両者の良いとこ取り
    移行コストが問題
    従来と変わらない運用
  • 20. 理想的なインフラストラクチャー
    全ての基盤が “1つの” システムとして協調動作
    ホスター
    パブリック
    クラウド
    Secure CloudFederation
    プライベートクラウド
    企業内システム
  • 21. Secure Cloud Federation
    クラウド
    オンプレミス
    データ同期
    ~ SQL Azure Data Sync ~
    アプリケーション間通信
    ~ AppFabric Service Bus ~
    今日のテーマ
    セキュリティ
    ~ AD FS 2.0 & AppFabric ACS ~
    仮想ネットワーク
    ~ Windows Azure Connect ~
  • 22. クレームと Identity 連携
    おなじみのはなしですが…
  • 23. ID を使用する環境
    アプリケーション在るところ「Identity」在り
    企業全体
    クラウド
    企業:クラウド
    企業間
    自宅 
    企業:クラウド
    企業全体
    組織内
    組織間
    組織内
  • 24. 予測される ID 管理の問題点
    見えない利用者の Identity 管理/認証/承認
    異なる認証方式の相互運用
    ディレクトリサービスの設置が困難
    クレームベース セキュリティ
    フェデレーション セキュリティ モデル
  • 25. クレームベースセキュリティの例~入国審査
    信頼
    米国政府
    日本国政府
    本人
    発行
    信頼
    入国
    出国
    空港
    健保番号
    /免許証番号
    /住民票
    ビザ
    • 滞在可能期間
    入国申請書
    • 滞在期間
    • 27. 滞在先
    パスポート
    パスポート


  • 33. クレームベース セキュリティ モデル
    クレーム
    プロバイダー
    リライング
    パーティ
    信頼
    米国政府
    日本国政府
    オーソリティ
    セキュリティ トークン
    本人
    発行
    信頼
    サブジェクト
    クレーム
    クレーム
    入国
    出国
    リソース
    空港
    健保番号
    /免許証番号
    /住民票
    ビザ
    • 滞在期間
    クレーム
    資格情報
    入国申請書
    • 滞在期間
    • 35. 滞在先
    クレーム
    パスポート
    クレーム
    クレーム
    クレーム
    パスポート


    クレーム
    署名
    クレーム
    クレーム
    クレーム
    クレーム
  • 41. クレーム(主張)とは
    アプリケーションに渡すユーザー自身の属性
    アクセス承認に使用される
    ユーザー ID
    年齢
    資格情報(認証結果)
    住所
    メール アドレス
    性別
    役職
    言語
    所属部門
    趣味/趣向
    所属企業
    会員情報
    専門分野
  • 42. セキュリティ トークン
    パッケージ化されたクレーム
    発行者の署名によって信頼性を担保
    発行元の STS ( Security Token Service ) が生成する
    セキュリティトークン
    クレーム 1
    クレーム 2
    クレーム n
    クレームの
    発行元による
    署名
  • 43. クレームベース セキュリティを使用した Identity 連携(フェデレーション)と SSO の実現
    • 利用者は事前に 「認証機関」で認証を済ませている
    • 44. 「サービスプロバイダー」側のアプリケーションは 「認証機関」が発行したトークンをベースにアクセス権を決定する(再認証は行わない)
    サービスプロバイダーは 認証機関を信頼している
    認証機関
    サービスプロバイダー
    ⑤アクセス承認
    ①証明依頼
    ④ トークン解析/アクセス権決定
    ③Token提示
    ②本人証明
    Security
    Token
    Users
    Users
    利用者
    ④ID と ID を対応付ける
  • 45. Identity 連携(フェデレーション)の基本構成
    • 認証機関(IdP/CP)とサービスプロバイダー(RP/SP)は トークンを処理するためのサービスを持っている(セキュリティトークンサービス)
    • 46. トークンは「セキュリティ トークン サービス(STS)」によって発行される
    • 47. トークンに格納するクレームは「クレームストア」に格納されている
    RP/SP は CP/IdPを信頼している
    IdP/CP
    RP/SP
    ⑤アクセス承認
    ①証明依頼
    ③Token提示
    ②本人証明
    Security
    Token
    セキュリティ
    トークン
    サービス
    クレーム
    ストア
    セキュリティ
    トークン
    サービス
    利用者
    IdP:Identity Provider
    CP:Claim Provider
    RP:Relying Party
    SP:Service Provider
  • 48. Windows AzureAppFabricAccess Control Service の役割
  • 49. クラウド アプリケーションのアクセス管理をどうするか?
    アプリケーション側で複数の認証方式を吸収しなければならない
    Google
    Windows Live
    Facebook
    OpenID
  • 50. 選択肢はさまざまあるけど。。。
    SQL Azure にユーザー DB を作成する
    Anonymous アクセス
    同期
    WELCOME!
    同期
    同期
    メタデータ
    Windows Azure Connect を使用
    AD FS 2.0 を使用する
    Active Directory Domain
  • 51. 複数の組織/不特定多数のユーザーに対応できるか?
    SQL Azure にユーザー DB を作成する
    Anonymousアクセス
    同期
    WELCOME!
    同期
    同期
    メタデータ
    Windows Azure Connect を使用
    AD FS 2.0 を使用する
    Active Directory Domain
  • 52. 必要なのはクラウド上の STS
    AppFabricACSV2 が複数のIdPを吸収する
    AppFabric ACSV2
    Google
    アプリケーションは
    クレーム対応しておけばよい
    Windows Live
    Facebook
    OpenID
  • 53. Windows Azure AppFabricAccess Control Service
    クラウド上に用意された STS
    アプリケーションのコードを変更することなく、新たな Identity Provider との連携を実装することができる
    サポートされているプロトコル
    トークンフォーマット
    • Simple Web Token(SWT)
    • 58. SAML 1.1/2.0
    既成の Identity Provider との Passive な連携
    • Windows Live ID/ Google/ Facebool/ Yahoo!(.com)/ OpenID
    • 59. Active Directory Federation Service 2.0
    V2
    V2
    V2
    V2
    V2
  • 60. Windows Azure AppFabricAccess ControlServiceV1の用途
    RESTWEB サービスに「アクセス制御」を実装する
    (例)道路の混雑状況を提供するサービス
    問合せ
    問合せ
    返答
    返答
    誰でもアクセスできてしまう
    ユーザー
    アプリ
    ユーザー
    アプリ
  • 61. Windows Azure AppFabricAccess ControlServiceV1の用途
    アプリケーションに認証機能を実装することなく、アクセス制御を実現
    Relying Party
    (例)道路の混雑状況を提供するサービス
    信頼
    AppFabric
    STS
    Access Control Service
    REST
    ③ トークン
    ②トークン
    ① 認証
    ④ 結果
    セキュリティ キー
    or
    SAML 1.1/2.0トークン
    or
    SWT
    ユーザー
    アプリ
    ※ごめんなさい、お手元の資料と
     ちょっとだけ絵がかわっています
  • 62. ACSV1 を 企業内 AD との SSO に使用する
    ACS では Passive SSO がサポートされていないことに注意
    9
    信頼
    ACS
    WRAP
    REST
    Service
    5
    WS-Trust
    クラウド
    信頼
    8
    オンプレミス
    6
    4
    10
    AD DS
    AD FS2.0
    1
    7
    2
    3
    クライアント
    アプリケーション
  • 63. 処理の流れ
    クライアント アプリケーションが AD FS 2.0 にトークン発行を依頼
    AD DS からクレームを収集
    AD FS 2.0 から SAML 1.1 トークン発行
    トークンを ACS に送信
    ACS は受け取った SAML 1.1 トークンをルールに沿って検証
    SWT を生成し、クライアントに発行
    クライアント アプリケーションは受け取った SWT を分解し、正しい ACS から発行されたものか等を検証
    問題なければ HTTPAuthorization ヘッダーに SWT を埋め込み、REST サービスにPOST
    REST サービスは受け取った SWT を分解してロールを検証
    ロールが正しければサービスを実行
  • 64. AppFabric ACSV2 の構造
    独自プログラム
    ManagementPortal
    AppFabric ACSManagementService
    Windows AzureAppFabric ACS 本体
    リライング
    パーティ
    クレーム
    プロバイダー
    Protocol
    クレーム変換
    エンジン
    Protocol
    WS-Federation
    WS-Federation
    AD FS 2.0
    ブラウザーベースアプリ
    (Passive)
    SAML/SWT
    WS-Fed対応STS
    クレームルール
    google
    WEBサイト
    Yahoo!
    SAML/SWT
    OAuth 2.0
    Facebook
    SAML/SWT
    OpenID 2.0
    OpenID
    SAML/SWT
    Live ID
    Windows LiveID
    サービス/リッチクライアント
    (Active)
    SOAPWeb
    サービス
    WS-Trust
    WS-Trustアプリ
    WS-Trust
    SAML/SWT
    SWT
    REST Web
    サービス
    OAuth/ WRAP 2.0
    SWT
    OAuth/ WRAP 2.0
    SWT対応アプリ
  • 65. これから構築する環境について
  • 66. これから構築する環境
    複数の IdP からの認証結果を受け入れる SSO システム
    AppFabric ACSV2
    Web アプリケーション
    信頼
    信頼
    信頼
    信頼
    AD FS 2.0
    は今回は除外
  • 67. 設定/作成 箇所は全部で11箇所
    AppFabric ACSV2
    Web アプリケーション
    信頼
    信頼
    信頼
    信頼
    AD FS 2.0
    は今回は除外
  • 68. AppFabricACS ラボサイトの準備
    • ネームスペースの作成
  • Namespace の作成①
    AppFabric ACS V2 ラボサイトに移動
    https://portal.appfabriclabs.com/Default.aspx
  • 69. Namespace の作成 ②
    Windows AzureAppFabric にサブスクライブしていない場合に表示される
  • 70. Namespace の作成 ③
    Windows AzureAppFabric にサブスクライブしていない場合は「LabsSubscription」がサブスクリプション名となる
    Namespace を指定する。ここで指定した名前が AppFabric ACS の WEBサイト名になる。
    https://acstestsite.accesscontrol.appfabriclabs.com/
    「Active」になったら使用可能
  • 71. AppFabric管理サイトへの移動
  • 72. AppFabricACS 管理サイト
    ※この画面は正式版で変わる可能性が大きいので簡単に。。。
    Azureアプリケーションの登録
    主に使用するメニュー
    Identity Provider の登録
    クレームルールの登録
    セキュリティトークンの署名、暗号化のための証明書の登録
    ACS から Active にセキュリティトークンを発行する場合に使用するユーザーIDを管理
    管理ポータルにアクセスすることができるユーザーIDを設定
    独自プログラムからの AppFabricACS 管理サービスへのアクセスを
    許可するユーザーIDを登録する
    カスタムログオン画面やエンドポイントのURLを確認する画面
  • 73. AppFabric ACS 管理サイトでの設定内容
    クレーム
    変換
    ルール
    Identity
    Provider
    Windows Azure
    アプリケーション
    AppFabric ACS V2
  • 74. クレーム対応アプリケーションの作成
    Windows Azure の準備
    Windows Azure用クレーム対応アプリケーションの作成
    Windows Azure に展開
    Windows AzureAppFabric ACS V2 に登録
  • 75. クレーム対応アプリケーションの作成Windows Azure の準備
    • サービスの新規作成
    • 76. 自己署名証明書の作成
    • 77. 証明書の登録
  • サービスの新規作成~サービスの新規作成
    Windows Azure ポータル に移動
    http://windows.azure.com/
  • 78. サービスの新規作成~サービスのURLを設定する
    識別名なので何でもよい
    アプリケーションのURL
    世界で唯一である必要がある
    アプリケーションを展開するデータセンター
    同時にアプリケーションを展開することもできるが、今回はまだ作成していないので「展開しない」を選択
  • 79. サービスの新規作成 ~サービスの初期状態
    まだ「入れ物」を作っただけなので、OSは展開されていない
  • 80. 自己署名証明書の準備 ~Windows Azure で使用する証明書とは
    参考
    http://blogs.technet.com/b/junichia/archive/2010/09/02/3353275.aspx
    サブスクリプション証明書(.cer)
    サービス管理 API(SMAPI)へのアクセスに使用
    X.509 V3(.CER)に対応し、最低 2048 bit キー を持っている
    サービス証明書(.pfx)
    サービスへの SSL 通信に使用
    thumbprint によってアプリケーションと対応付け
    いずれも自己署名証明書を利用可能
  • 81. (参考)SSL 通信と証明書管理
    SSL
    発行
    SMAPI
    REST
    Storage Node
    Compute Node
    Guest
    Root
    SAK
    SSL
    格納
    FA
    FA
    GA
    SSL
    Hypervisor
    Fabric
    Controller
    Controller
    PKCS12
    PKCS12
    発行
    内部通信に使用される
    外部ーFCとの通信に使用
    Microsoft CA
  • 82. 自己署名証明書の準備~[FAQ] 証明書の「主体(Subject)」について
    http://blogs.technet.com/b/junichia/archive/2010/09/03/3353536.aspx
    Windows Azure 上に展開されるアプリケーションの FQDN は…
    xxxxxxxx.cloudapp.net
    マイクロソフト所有のドメイン…
    ということは…
    xxxxxxxx.cloudapp.net で
    証明書を取得することはできない
    CNAME を使用して証明書を取得する必要がある
    ※今回は自己署名証明書を使用します
  • 83. 自己署名証明書の準備 ~証明書の登録場所
    サブスクリプション
    サブスクリプション
    証明書(.cer)
    アカウント
    import
    サービス
    tf20110311.cloudapp.net
    サービス証明書
    (.pfx)
    import
    サービス
    xxxx.cloudapp.net
    サービス証明書
    (.pfx)
    import
    サービス
    yyyy.cloudapp.net
    サービス証明書
    (.pfx)
    import
  • 84. 自己署名証明書の準備 ~自己署名証明書を作成するツール
    .NET Framework SDK
    • makecert.exe ← サブジェクトを指定できる
    • 85. pvk2pfx.exe
    .CER
    .PFX
    pvk2pfx
    makecert
    .PVK
  • 86. 自己署名証明書の準備~自己署名証明書の作成
    Visual Studio をインストールしたマシンにログオン
    [スタート]-[すべてのプログラム]-[Microsoft Visual Studio 2010]-[Visual Studio Tools]-[Visual Studio コマンドプロンプト] を起動
    証明書(.cer)ファイルとプライベートキーファイル( .pvk)ファイルを作成
    .pvkと .cerから .pfx ファイルを作成する
    .cerと .pfxファイルを Windows Azure にインポートする
    makecert -r -pe -n "CN=tf20110311.cloudapp.net"
    -sky exchange “tf20110311.cloudapp.net.cer"
    -sv“tf20110311.cloudapp.net.pvk"
    pvk2pfx -pvk"tf20110311.cloudapp.net.pvk“
    -spc“tf20110311.cloudapp.net.cer“
    -pfx“tf20110311.cloudapp.net.pfx“
    -pi <パスワード>
  • 87. 証明書の登録~サブスクリプション証明書の登録(.cer)
  • 88. Windows Azure 用クレーム対応アプリケーションの作成
  • 89. その前にクレーム対応アプリケーションとは。。。
  • 90. Windows Azure 用クレーム対応アプリケーションの作成「認証の分離」とその限界
    多くのアプリケーションが「認証」を分離してきたが…
    アプリケーション
    これまでの方式
    認証
    ロール
    サービス
    アプリケーション
    認証
    ロール
    サービス
    認証
  • 91. Windows Azure 用クレーム対応アプリケーションの作成「認証分離」の限界
    • 認証プロトコルの違い
    • 92. Identity 管理ポリシーの違い
    • 93. アプリケーション側の対応
    • 94. Single Sign-On/Off への適用
    Windows
    Live
    アプリ1
    プロトコル
    情報の整形
    情報の解釈
    情報
    プロトコル
    強い絆
    情報
    情報
    強い絆
    強い絆
    アプリ2
    Google
    プロトコル
    情報の整形
    プロトコル
    情報の解釈
    情報
    強い絆
    情報
    情報
  • 95. Windows Azure 用クレーム対応アプリケーションの作成解決への考察
    • フェデレーション信頼による素結合
    • 96. STS によりアプリケーション側の処理を削減
    • 97. 情報はセキュリティトークンに格納して受け渡し
    STS
    STS
    Windows
    Live
    アプリ1
    プロトコル
    情報の整形
    情報の解釈
    プロトコル
    情報
    プロトコル
    フェデレーション信頼
    情報
    情報
    STS
    アプリ2
    Google
    STS
    プロトコル
    プロトコル
    プロトコル
    情報の整形
    情報の解釈
    情報
    情報
    情報
  • 98.
    • AppFabric ACS がユーザーのロールを管理
    • 99. アプリケーションは受け取ったロールを解釈するだけ
    WIF
    AppFabric ACS
    Windows Azure 用クレーム対応アプリケーションの作成AppFabric ACS と WIF の役割
    STS
    STS
    Windows
    Live
    WEB
    アプリ
    プロトコル
    情報の整形
    情報の解釈
    プロトコル
    情報
    プロトコル
    信頼
    情報
    情報
    WIF:Windows Identity Foundation
  • 100. Windows Azure 用クレーム対応アプリケーションの作成認証/ロール管理からの分離
    アプリケーション
    これまでの方式
    認証
    ロール
    サービス
    アプリケーション
    認証
    ロール
    サービス
    認証
    セキュリティ
    トークン
    アプリケーション
    クレームに対応
    認証
    クレーム
    クレーム解釈
    サービス
    クレーム
    認証
  • 101. Windows Azure 用クレーム対応アプリケーションの作成WIF アプリケーションの構造
    WIF (Windows Identity Foundation) を使用してセキュリティー トークンからクレームを取り出す
    WIF は WS-Federation/WS-Trustをサポート
    ロールは既にトークンにセットされているので評価するだけでOK
    ASP.NET
    AppFabric ACS
    クレームの評価
    ロール判定
    トークン
    Windows Identity Foundation
    各種処理
    .NET Framework 4
    ブラウザー
  • 102. Windows Azure 用クレーム対応アプリケーションの作成クレームの構造と識別方法
    Microsoft.IdentityModel.Claims
    http://msdn.microsoft.com/ja-jp/library/microsoft.identitymodel.claims.aspx
    これらの値で
    クレームを識別する
    Claims
    ClaimType
    Claim
    Value
    Claim
    Claim
    Issuer
    Claim
    OriginalIssuer
    ValueType
    subject
  • 103. Windows Azure 用クレーム対応アプリケーションの作成事前にインストールしておくもの
    Windows 7 + Visual Studio 2010 の場合
    WindowsAzure Tools for Microsoft Visual Studio 1.4(2011年3月)
    VSCloudService.exe
    VSCloudService.VS100.ja-jp.msi (言語パック)
    ※Windows Azure SDK1.4 も一緒にインストールされます
    Windows Identity Foundation 3.5 ランタイム 日本語版(KB974495)
    Windows6.1-KB974405-x64j.msu
    Windows Identity Foundation 3.5 日本語版
    WindowsIdentityFoundation-SDK-3.5.msi
    Windows Identity Foundation 4.0 英語版
    WindowsIdentityFoundation-SDK-4.0.msi
    Microsoft CAPICOM 2.1.0.2 SDK※自己署名証明書を作成する場合に必要
  • 104. (参考)WIF対応アプリケーション用テンプレートを複製※今回は使いません
    %Program Files(x86)%Windows Identity Foundation SDKv4.0Visual Studio Extensions10.0
    ├ csClaimsAwareASPNETSite.zip
    ├ csClaimsAwareWCFSite.zip
    ├ csSTSASPNETSite.zip
    └ csSTSWCFSite.zip
    コピー
    <マイドキュメント>Visual Studio 2010TemplatesProject TemplatesVisual C#
    WIF を使用するための
    テンプレートが追加される
  • 105. Windows Azure 用クレーム対応アプリケーションの作成管理者として VSを実行
    OR
  • 106. Windows Azure 用クレーム対応アプリケーションの作成テンプレートの選択
  • 107. Windows Azure 用クレーム対応アプリケーションの作成ロールの指定
    ワーカーロールとWebロールの違いについての詳細は以下を参照
    Windows Azure Platform の概要
    http://technet.microsoft.com/ja-jp/cloud/gg236628.aspx
  • 108. Windows Azure 用クレーム対応アプリケーションの作成Windows Identity Foundation への参照追加
    .NET から Microsoft.IdentityModel を追加する
  • 109. Windows Azure 用クレーム対応アプリケーションの作成Microsoft.IdentityModel モジュールの複製設定
    Windows Azure で用意されている Windows Server には WIF がインストールされていない。
    そこで、Microsoft.IdentityModel をAzure 上でも使用できるよう、パッケージの中に組み込んでおく必要がある。
    一緒にアップロード
    パッケージ
    Microsoft.IdentityModel
  • 110. Windows Azure 用クレーム対応アプリケーションの作成SSL の設定 ①
    SSL を使用する場合には、サービス証明書へのポインター(Thumprint)を
    Visual Studio 側に設定しておく必要がある
  • 111. Windows Azure 用クレーム対応アプリケーションの作成SSLの設定 ②
  • 112. Windows Azure 用クレーム対応アプリケーションの作成SSLの設定 ③
    識別名なので何でもよい
    このまま
    サービス証明書の Thumbprint
    証明書の識別名を
    選択
    HTTPS/443 を選択
  • 113. Windows Azure 用クレーム対応アプリケーションの作成STS 参照の追加 ①
    AzureアプリのURLを指定する
  • 114. Windows Azure 用クレーム対応アプリケーションの作成STS参照の追加 ②
    AppFabricACSV2 の メタデータを登録する
    Windows Azure アプリ
    AppFabric ACS V2
    信頼
    信頼
    AD FS 2.0
    ここの設定
    この情報を控えておく
  • 115. Windows Azure 用クレーム対応アプリケーションの作成STS参照の追加 ③
    AppFabricACSV2 のメタデータを指定
  • 116. Windows Azure 用クレーム対応アプリケーションの作成STS参照の追加 ③
  • 117. Windows Azure 用クレーム対応アプリケーションの作成Web.configの編集 ①
    <system.web> は複数存在するので、挿入場所に注意してください
    <configuration>
     <system.web>
     <customErrors mode=“off” />
      <httpRuntimerequestValidiationMode=“2.0” />
  • 118. Windows Azure 用クレーム対応アプリケーションの作成Web.configの編集 ②
    Azure にアップロードした サービス証明書の Thumbprint を追記する
    <serviceCertificate>
    <certificateReference x509FindType="FindByThumbprint" findValue=“<THUMBPRINT>"/>
    </serviceCertificate>
  • 119. Windows Azure 用クレーム対応アプリケーションの作成ちょっとだけコーディング(っていうかコピペ)①
    今回は、オンプレミスに展開したアプリケーションのコードを流用
    • Default.aspxの[ソース]を丸ごと以下に置き換える
    <%@ Page Language="C#" AutoEventWireup="true" Codebehind="Default.aspx.cs" Inherits="WebRole1._Default" ValidateRequest="false"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
    <title>Claims-aware ASP.NET Web Site</title>
    <style type="text/css">
    .style1
    {
    font-size: large;
    font-weight: bold;
    }
    </style>
    </head>
    <body>
    <p class="style1">
    Windows Identity Foundation - Claims-aware ASP.NET Web Site</p>
    <form id="form1" runat="server">
    </form>
    </body>
    </html>
  • 120. Windows Azure 用クレーム対応アプリケーションの作成ちょっとだけコーディング(っていうかコピペ) ②
    • Default.aspx.csのソースを以下に置き換え
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using Microsoft.IdentityModel.Claims;
    つづく
  • 121. namespace WebRole1
    {
    public partial class _Default : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {
    IClaimsPrincipalclaimsPrincipal = Page.User as IClaimsPrincipal;
    IClaimsIdentityclaimsIdentity = (IClaimsIdentity)claimsPrincipal.Identity;
    // The code below shows claims found in the IClaimsIdentity.
    // TODO: Change code below to do your processing using claims.
    Table claimsTable = new Table();
    TableRowheaderRow = new TableRow();
    TableCellclaimTypeCell = new TableCell();
    claimTypeCell.Text = "Claim Type";
    claimTypeCell.BorderStyle = BorderStyle.Solid;
    TableCellclaimValueCell = new TableCell();
    claimValueCell.Text = "Claim Value";
    claimValueCell.BorderStyle = BorderStyle.Solid;
    つづく
  • 122. headerRow.Cells.Add(claimTypeCell);
    headerRow.Cells.Add(claimValueCell);
    claimsTable.Rows.Add(headerRow);
    TableRownewRow;
    TableCellnewClaimTypeCell, newClaimValueCell;
    foreach (Claim claim in claimsIdentity.Claims)
    {
    newRow = new TableRow();
    newClaimTypeCell = new TableCell();
    newClaimTypeCell.Text = claim.ClaimType;
    newClaimValueCell = new TableCell();
    newClaimValueCell.Text = claim.Value;
    newRow.Cells.Add(newClaimTypeCell);
    newRow.Cells.Add(newClaimValueCell);
    claimsTable.Rows.Add(newRow);
    }
    this.Controls.Add(claimsTable);
    }
    }
    }
  • 123. あー面倒くさい。。。orzなので…プロジェクトファイルを以下に置きました
    http://blogs.technet.com/b/junichia/archive/2011/03/08/3392241.aspx
    証明書の設定、STS参照の追加 だけ行ってください
  • 124. Windows Azure に展開
  • 125. Windows Azure に展開アプリケーションの発行方法
    今回はこちらの
    方法を使用する
    2通りの発行方法
    • Visual Studio から直接発行する
    • 126. パッケージファイルを保存して、ポータルサイトからアップする
    直接発行
    アップロードして展開
    ここまでは
    開発者の仕事
    展開するのはITPROの仕事
    サービスパッケージを作成
    Windows Azure Portal
    .cspkg
    .cscfg
  • 127. Windows Azure に展開サービスパッケージを作成 ①
    IIS への発行とは少し異なります
    インフラ担当者は、今後パッケージの展開を依頼されることがあるはずです
    その場合にはこの方法を使用します。
  • 128. Windows Azure に展開サービスパッケージを作成 ②
    コンパイルが完了するとエクスプローラーが開かれる
    この2つのファイルを
    アップロードする
  • 129. Windows Azure に展開サービスパッケージをアップロード ①
  • 130. Windows Azure に展開サービスパッケージをアップロード ②
    ロールインスタンスが1つの場合に出るワーニング
  • 131. Windows Azure に展開サービスパッケージをアップロード ③
  • 132. Windows Azure に展開展開後の状態
    URLはHTTPであることに注意
  • 133. Windows Azure に展開メタデータへの接続を確認
    アップロードが完了してステータスが「Ready」になったら、以下に接続して表示されることを確認してみましょう。
    https://tf20110311.cloudapp.net/FederationMetadata/2007-06/FederationMetadata.xml
  • 134. WebアプリケーションをAppFabricACS に登録する
  • 135. Webアプリケーションを AppFabricACS に登録するWEBアプリケーションの登録 ①
    Azure上に展開したWEBアプリケーションを AppFabric ACS に登録する
    Windows Azure アプリ
    AppFabric ACS V2
    信頼
    信頼

    AD FS 2.0
    ここの設定
  • 136. Webアプリケーションを AppFabricACS に登録するWEBアプリケーションの登録 ②
    AppFabric ACS 内でのAzureアプリケーションの識別名
    アプリケーション情報の登録方法
    手動で設定するか、メタデータをアップロードするかを選択する。今回は「手動」。
    セキュリティトークンの要求元を指定する
    セキュリティトークンをどこにPostするのかを指定する
    エラーが発生した場合に表示するページ
  • 137. Webアプリケーションを AppFabricACS に登録するWEBアプリケーションの登録 ③
    セキュリティトークンのフォーマット(SAML2.0/SAML1.1/SWT)
    セキュリティトークンを暗号化するかどうか
    セキュリティトークンの有効期間(秒)
    Azure アプリケーションと関連付ける Identity Provider。
    「Identity Providers」メニューで登録した IdP が表示される。規定では「Windows LiveID」のみ。
    適用するクレーム変換ルール。複数のアプリケーションで1つのルールを共有することも可能。1つのアプリケーションが複数のルールを使用することも可能。
    トークンの署名に使用する証明書ファイル
    規定は「規定の証明書」
  • 138. Webアプリケーションを AppFabricACS に登録するセキュリティトークンの署名と暗号化について
    AppFabric ACS V2
    IdP
    RP
    信頼
    信頼
    metadata
    metadata
    metadata
    metadata
    トークンフォーマット
    署名
    署名
    複合化
    暗号化
    暗号化
    複合化
    SAML 2.0
    SAML 2.0
    X.509
    Private Key
    X.509
    Public Key
    X.509
    Public Key
    X.509
    .cer
    X.509
    (.cer)
    SAML 2.0
    X.509
    Private Key
    SAML 1.1
    SAML 1.1
    X.509
    (.cer)
    SAML 1.1
    X.509
    .cer
    X.509
    Private Key
    X.509
    Public Key
    X.509
    Public Key
    X.509
    Private Key
    SWT
    SWT
    SWT
    256-bit symmetric signing key
    256-bit symmetric signing key
  • 139. Identity Provider との連携
    • AD FS 2.0 との連携
    • 140. Windows Live ID との連携
    • 141. Google との連携
    • 142. Facebook との連携
  • AD FS 2.0 との連携
  • 143. Identity Provider との連携 ~ AD FS 2.0AD FS 2.0 の場合
    • Windows Live は「信頼できるサイト」にのみ個人情報を提供するため、規定で取得できるクレームは nameidentifierのみ
    AD FS 2.0
    Windows Azure アプリ
    AppFabric ACS V2
    クレーム発行
    クレーム変換
    AD FS 2.0
    クレーム送付
    クレーム発行
    属性
    Redirect
    Active Directory
    企業ネットワーク
  • 144. Identity Provider との連携 ~ AD FS 2.0複数の AD FS 2.0 を登録可能
    企業ごとにクレーム変換ルールを設定することができる
    (例)企業国籍別、企業文化別など
    AD FS 2.0
    AppFabric ACS V2
    部長
    クレーム発行
    国内企業A
    管理職
    クレーム変換
    ロール決定
    AD FS 2.0
    管理職
    クレーム変換
    主席部長
    クレーム発行
    ロール決定
    管理職
    クレーム変換
    ロール決定
    国内企業B
    日本語に変換
    クレーム発行
    AD FS 2.0
    Manager
    海外企業C
  • 145. Identity Provider との連携 ~ AD FS 2.0AppFabric ACS V2 と AD FS2.0 の連携手順
    AD FS 2.0 側
    Active Directory を構築
    AD FS 2.0 を構築
    RP(証明書利用者)として AppFabricACS を登録(メタデータの登録)
    クレームルールを登録
    AppFabricACS V2 側
    AD FS 2.0 のエンドポイントを Identity Provider として登録(メタデータの登録)
    クレームルールを登録
    今回は実施済みとします
  • 146. Identity Provider との連携 ~ AD FS 2.0AD FS 2.0 に証明書利用者として ACSを登録する ①
    Windows Azure アプリ
    AppFabric ACS V2
    ここの設定
    信頼
    信頼


    AD FS 2.0
    メタデータのURIを控えておく
  • 147. Identity Provider との連携 ~ AD FS 2.0AD FS 2.0 に 証明書利用者として ACS を登録する ②
    AD FS 2.0 管理コンソールを開く
  • 148. Identity Provider との連携 ~ AD FS 2.0AD FS 2.0 に 証明書利用者として ACS を登録する ③
    ここにAppFabric ACS メタデータのURIを指定
  • 149. Identity Provider との連携 ~ AD FS 2.0AD FS 2.0 に 証明書利用者として ACS を登録する ④
    規定で「すべてのユーザーにクレームの発行を許可するか否か」を設定する(発行承認規則)。許可した場合には、クレームルール(要求規則)の設定を使用してクレームの発行条件を設定する必要がある。
  • 150. Identity Provider との連携 ~ AD FS 2.0AD FS 2.0 に 証明書利用者として ACS を登録する ⑤
    完了
  • 151. Identity Provider との連携 ~ AD FS 2.0AD FS2.0 クレームルールを登録 ①
    メールアドレスがトークンに含まれるようにクレームルール(要求規則)を登録する(今回は簡単に!)
    クレームルール(要求規則)はかなり複雑な概念です。きちんと勉強したい方は、別冊「ADFS 2.0 を使用してWindows Azure との SSO を実現しよう」をご覧ください。
  • 152. Identity Provider との連携 ~ AD FS 2.0(参考)AD FS 2.0 ~クレーム パイプライン
    証明書利用者
    (RP)
    クレームストア
    トークン
    ② 承認する
    ③ 発行する
    ① 受付ける
    発行
    変換
    規則
    output
    受け
    付け
    変換
    規則
    input
    発行
    承認
    規則
    input
    output
    output
    input
    OK/
    NG
    switch
    要求プロバイダー信頼
    (Claims Provider Trusts)
    証明書利用者信頼 (Relying PartyTrust)
    要求規則 (Claim Rule)
  • 153. Identity Provider との連携 ~ AD FS 2.0AD FS2.0 クレームルールを登録 ②
  • 154. Identity Provider との連携 ~ AD FS 2.0AD FS2.0 クレームルールを登録 ③
    クレームの
    取得元
    格納するクレームタイプの識別名
    ※ここに表示されているのは「識別名」であることに注意。クレームタイプ(Claim Type)はURIの形式で表現される(次次ページ参照)
    ADから持ってくる属性
    ※ldap属性名とは一致していないので注意(次ページ参照)
  • 155. Identity Provider との連携 ~ AD FS 2.0(参考)既定の LDAP 属性
  • 156. Identity Provider との連携 ~ AD FS 2.0(参考)要求記述
    • システム間で送受信するクレームタイプが定義されている
    このクレームを外部から受信可能か否か、外部に送信可能か否かを定義
    ワールドワイドで一意なクレームの名前(だから URI で書かれている)。これを使ってクレームが識別される。
    あくまでも識別名としての「名前」。このSTS内部だけで通用する。
  • 157. Identity Provider との連携 ~ AD FS 2.0AD FS2.0 クレームルールを登録 ④
  • 158. Identity Provider との連携 ~ AD FS 2.0ACS V2 の Identity Provider に AD FS 2.0 を登録する ①
    ここの設定
    Windows Azure アプリ
    AppFabric ACS V2
    信頼
    信頼



    AD FS 2.0
    AD FS 2.0 のメタデータをテキストファイルに保存しておく
    https://<ADFSServer>/federationmetadata/2007-06/federationmetadata.xml
  • 159. Identity Provider との連携 ~ AD FS 2.0ACS V2 の Identity Provider に AD FS 2.0 を登録する ②
  • 160. Identity Provider との連携 ~ AD FS 2.0ACS V2 の Identity Provider に AD FS 2.0 を登録する ③
    Identity Provider の識別名。ADFS2.0は複数登録することが可能なので、識別しやすい名前を指定する
    AD FS 2.0 のメタデータを指定する。URL の場合には AppFabricがアクセス可能なサーバーである必要がある。
    Identity Provider の選択画面に表示される識別名
    Identity Provider の選択画面に表示されるロゴ画像
    利用者に対して、ログオン時にEmailアドレスを強制的に入力させたい場合には、ここのメアドのサフィックス(microsoft.com)を指定する。セミコロンで複数指定可能。
    このIdentity Provider を使用する アプリケーションを指定する
  • 161. Identity Provider との連携 ~ AD FS 2.0ACS V2 の Identity Provider に AD FS 2.0 を登録する ④
  • 162. Identity Provider との連携 ~ AD FS 2.0ACS V2 の Identity Provider に AD FS 2.0 を登録する ⑤
    クレームルールを生成する
    まだルールは無い
  • 163. Identity Provider との連携 ~ AD FS 2.0ACS V2 の Identity Provider に AD FS 2.0 を登録する ⑥
    メタデータを元に自動生成されたクレーム
    クレームとして emailaddressが発行されることが記載されている
  • 164. Identity Provider との連携 ~ AD FS 2.0クレームの流れ
    Windows Azure アプリ
    AppFabric ACS V2
    Token
    Token
    変換
    属性
    属性
    属性
    属性
    属性
    属性
    属性
    属性
    属性
    属性
    属性
    属性
    Token
    変換
    Token
    属性
    属性
    属性
    属性
    属性
    属性
    属性
    属性
    属性
    属性
    属性
    属性
    AD FS 2.0
    AD DS
  • 165. Identity Provider との連携 ~ AD FS 2.0AppFabric ACSV2 の Rule
    IF(Rule Condition)
    Claim Issuer
    Input Claim Type
    Input Claim Value
    Then(Rule Actions)
    Output Claim Type
    Output Claim Value
    もし
    ○○から発行された
    ○○というクレームタイプに
    ○○という値が入っていたら
    そのときは
    ○○というクレームタイプに
    ○○という値を入れて発行する
  • 166. Identity Provider との連携 ~ AD FS 2.0AppFabric ACS に登録されているクレームルールの例
    AppFabricに対するクレームの発行者
    つまりIdentity Provider
    AppFabric に対して入力方向のクレームタイプ
    AppFabric に対して入力方向のクレームタイプに格納されているべき値
    入力条件を満たしたときに発行されるクレームタイプ(出力方向のクレーム)
    出力方向のクレームに格納される値
  • 167. Identity Provider との連携 ~ AD FS 2.0動作確認
    https://tf20110311.cloudapp.net/
    複数のIdentity Provider が登録されている場合にはセレクターが表示される。
    1つしかなければそのまま ADFS に転送される
    ADにログオンした状態であれば、SSOされる
    ADFSで定義したメアド
  • 168. Identity Provider との連携 ~ AD FS 2.0SSOの流れ
    信頼
    7
    9
    WIF
    信頼
    クラウド
    オンプレミス
    1
    AD DS
    AD FS2.0
    8
    4
    5
    3

    6
    WIF:Windows Identity Foundation
  • 169. Windows Live との連携
  • 170. Windows Live との連携Windows LiveID の場合
    • Windows Live は「信頼できるサイト」にのみ個人情報を提供するため、規定で取得できるクレームは nameidentifierのみ
    Windows Live
    Windows Azure アプリ
    AppFabric ACS V2
    クレーム発行
    ID 管理簿
    クレーム変換
    クレーム送付
    クレーム発行
    Redirect
  • 171. Windows Live との連携AppFabric ACS V2 と WindowsLive ID の連携手順
    LiveID 側
    認証するだけならば何もなし!
     ※クレームを取得する場合は Microsoft Service Manager  への登録
    AppFabricACS V2 側
    Rule の登録
    手順を調査中です
    すみません…
  • 172. Windows Live との連携(参考)Microsoft Service Manager
    手順を調査中!
    https://msm.live.com/wizard/default.aspx
    Windows LiveID を使用するサイトを登録し、信頼できるサイトであることを申請
    登録されていないサイトには nameidentifier 以外のクレームが返されない
    ※マイクロソフトのプライバシーポリシーのため
  • 173. Windows Live との連携Windows Live ID 用の設定 ①
    Windows Live ID は既に登録されている
    Azure アプリを選択
  • 174. Identity Provider との連携 ~ Windows Live との連携Windows Live用の設定 ② ~ クレームルールの作成
    クレームの変換ルールに、Windows Live 用のルールを埋め込む
    ルールが既に存在する場合には、既存ルールをクリックする
  • 175. Identity Provider との連携 ~ Windows Live との連携Windows Live用の設定 ③ ~ クレームルールの作成
    ルール名を入力/変更
    ルールを自動生成
  • 176. Identity Provider との連携 ~ Windows Live との連携Windows Live 用の設定 ④ ~ クレームルールの作成
  • 177. Identity Provider との連携 ~ Windows Live との連携既定で Windows Live 用に自動生成されるルール
  • 178. Identity Provider との連携 ~ Windows Live との連携動作確認
    Windows Live で認証されたことを示す
  • 179. Google との連携
  • 180. Identity Provider との連携 ~ Google との連携Google の場合
    • Facebook 外部WEBサイトとして AppFabric ACS を登録する
    Google
    Windows Azure アプリ
    AppFabric ACS V2
    クレーム発行
    ID 管理簿
    クレーム変換
    クレーム送付
    クレーム発行
    AppFabricACS によるユーザー情報へのアクセスを許可
    Redirect
  • 181. Identity Provider との連携 ~ Google との連携AppFabric ACS V2 と Google の連携手順
    Google 側
    なにもなし!(ユーザーがアカウントを持っていればよい)
    AppFabricACS V2 側
    Identity Provider の登録
    Rule の登録
  • 182. Identity Provider との連携 ~ Google との連携Google用の設定 ①
    AppFabric ACS V2 管理サイトに移動
    https://<Namespave>.accesscontrol.appfabriclabs.com/v2/mgmt/web
  • 183. Identity Provider との連携 ~ Google との連携Google用の設定 ②
    IdP 一覧に表示したい
    識別名を入力
    関連付ける
    アプリケーションを選択
    IdP一覧に表示される
  • 184. Identity Provider との連携 ~ Google との連携Google用の設定 ③ ~ クレームルールの作成
    クレームの変換ルールに、Google 用のルールを埋め込む
    ルールが既に存在する場合には、既存ルールをクリックする
  • 185. Identity Provider との連携 ~ Google との連携Google用の設定 ④ ~ クレームルールの作成
    ルール名を入力/変更
    ルールを自動生成
  • 186. Identity Provider との連携 ~ Google との連携Google用の設定 ⑤ ~ クレームルールの作成
  • 187. Identity Provider との連携 ~ Google との連携Google 用に自動生成されるクレーム
    これ以外の情報を取得できるかどうかは調査中。。。
  • 188. Identity Provider との連携 ~ Google との連携動作確認
    AppFabricACSに渡されるクーム
  • 189. Identity Provider との連携 ~ Google との連携結果画面
  • 190. Facebook との連携
  • 191. Identity Provider との連携 ~ Facebook との連携Facebook の場合
    • Facebook 外部WEBサイトとして AppFabric ACS を登録する
    Facebook
    Windows Azure アプリ
    AppFabric ACS V2
    Facebook
    外部アプリ
    インターフェース
    クレーム発行
    クレーム変換
    クレーム送付
    クレーム発行
    属性
    ログオン
    Redirect
    AppFabricACS によるユーザー情報へのアクセスを許可
    ID 管理簿
  • 192. Identity Provider との連携 ~ Facebook との連携Facebook は複数のプロバイダーを登録可能
    Facebook アプリケーションごとにクレームルールを設定できる
    (例)言語別、企業別、ファンサイト別
    AppFabric ACS V2
    Facebook
    Facebook
    外部アプリ
    インターフェース
    クレーム発行
    クレーム変換
    ロール決定
    Facebook
    外部アプリ
    インターフェース
    クレーム変換
    クレーム発行
    ロール決定
    属性
    Facebook
    外部アプリ
    インターフェース
    クレーム変換
    ロール決定
    クレーム発行
    属性
    Facebook
    外部アプリ
    インターフェース
    クレーム変換
    ロール決定
    クレーム発行
    属性
    属性
    ID 管理簿
  • 193. Identity Provider との連携 ~ Facebook との連携AppFabric ACS V2 と Facebook との連携手順
    Facebook 側
    Facebook アカウントを作成
    開発者としてアカウントを登録
    AppFabricACSV2 サイトをアプリケーションとして登録
    AppFabricACS V2 側
    Identity Provider の登録
    Rule の登録
  • 194. Identity Provider との連携 ~ Facebook との連携Facebook アカウントを作成
    Facebookサイトに移動
    http://www.facebook.com/
  • 195. Identity Provider との連携 ~ Facebook との連携開発者としてアカウントを登録
    開発者用アプリケーション利用サイトへ移動
    http://www.facebook.com/apps/application.php?id=2345053339
  • 196. Identity Provider との連携 ~ Facebook との連携アカウントを認証①
    開発者サイトに移動
    http://www.facebook.com/developers/
    今回は携帯電話を選択
  • 197. Identity Provider との連携 ~ Facebook との連携アカウントを認証②
    携帯電話にメールが送付されるので、メール内の確認用コードを転記する
  • 198. Identity Provider との連携 ~ Facebook との連携AppFabricACS をアプリケーションとして登録①
    アプリケーション作成サイトへ移動
    http://www.facebook.com/developers/createapp.php
    アプリケーション名を入力
  • 199. Identity Provider との連携 ~ Facebook との連携AppFabricACS をアプリケーションとして登録②
  • 200. Identity Provider との連携 ~ Facebook との連携AppFabricACS をアプリケーションとして登録③
    AppFabric ACS のサイトを指定
  • 201. Identity Provider との連携 ~ Facebook との連携アプリケーション登録完了
    Application ID
    Application Secret
  • 202. Identity Provider との連携 ~ Facebook との連携Facebook用の設定 ①
    AppFabric ACS V2 管理サイトに移動
    https://<NameSpave>.accesscontrol.appfabriclabs.com/v2/mgmt/web
  • 203. Identity Provider との連携 ~ Facebook との連携Facebook 用の設定 ②
    ACS内での Facebook の識別名(自分が識別できればなんでもよい)
    Facebook へのアプリ登録時に発行された Application ID(アプリID)
    Facebook へのアプリ登録時に発行された Application Secret(アプリの秘訣)
    Azure アプリケーションに絶対必要なクレームを指定する。指定しない場合には Facebook利用者が一般公開を許可している属性へのアクセス許可をユーザーに要求する。
    Identity Provider 選択画面に表示したい文字列(ユーザーが識別できればなんでもよい)
    このIdentity Provider に関連付ける
    Azureアプリケーション
  • 204. Identity Provider との連携 ~ Facebook との連携Facebook用の設定 ③
    クレームの変換ルールに、Facebook 用のルールを埋め込む
    ルールが既に存在する場合には、既存ルールをクリックする
  • 205. Identity Provider との連携 ~ Facebook との連携Facebook用の設定 ④
    ルール名を入力
    ルールを自動生成
    ルールを生成する Identity Provider を選択
  • 206. Identity Provider との連携 ~ Facebook との連携Facebook用の設定 ⑤
  • 207. Identity Provider との連携 ~ Facebook との連携Facebook から得られるクレーム
    2段階のクレーム取得手順
    AppFabric ACS が取得してくれるクレーム
    nameidentifier
    expiration
    emailaddress
    name
    identityprovider
    AccessToken
    アプリケーション自身が取得するクレーム
    上記以外の属性は AppFabric ACS で取得した AccessToken を使用して、アプリケーションの中で独自に取得する必要がある
    (例)user_location, user_hometown, user_website
    取得した属性に対する AppFabricACS からのアクセスにはOAuthダイアログにてユーザーによるアクセス許可が必要
    (参考)Facebook から取得可能なクレーム一覧
    http://developers.facebook.com/docs/authentication/permissions/
  • 208. Identity Provider との連携 ~ Facebook との連携動作検証 ①
    追加したIdentity Provider が表示される
    Facebook にログオンしていない場合には
    ログオン画面に転送
  • 209. Identity Provider との連携 ~ Facebook との連携動作検証 ② ~ OAuthダイアログ
    Facebook に登録済みの個人情報に対する AppFabric ACS のアクセスを許可する
    アクセス許可
    AppFabric ACS V2
    Application Permission に指定した属性
  • 210. Identity Provider との連携 ~ Facebook との連携動作検証 ③
  • 211. まとめ
  • 212. AppFabric ACSV2 により
    • WEB アプリケーションをマルチ IdP 対応に
    • 213. Consumer系:Google/Facebook/OpenID/LiveID
    • 214. Enterprise系:AD FS2.0/WS-Federation対応STS
    • 215. Identity の管理は IdP に任せることができます
    • 216. これからのアプリケーションはクレーム対応で!
  • 世界中の “ID” が利用者になる
    Windows Azure AppFabric
    AccessControlServiceV2
  • 217. ITPro の責任範囲
    アーキテクチャの検討
    IT Pro の責任範囲
    サービスの展開
    管理/監視
    Drives
    Memory
    OS Patches
    Networking
    Physical Hardware
    この部分のコストが意外と高い
  • 218. アーキテクトが求められる時代に
    アーキテクチャの検討
    Cloud の責任範囲
    IT Pro の責任範囲
    サービスの展開

    管理/監視
    Drives

    Memory

    OS Patches
    求められるスキル
    • テクノロジー検証
    • 219. パフォーマンス予測
    • 220. コスト予測
    • 221. 経営戦略に即した IT 設計
    • 222. 開発者との情報交換
    Networking
    Physical Hardware
  • 223. ハイブリッド クラウド のおさらい
    アプリケーション間連携
    データの同期
    AppFabric Service Bus
    ビジネスロジックの実装
    コンポジットアプリケーションへの発展
    SQL Azure Data Sync
    SQL Azure <->SQL Azure
    SQL Server <-> SQL Azure
    コードレス
    仮想ネットワーク
    セキュリティ
    Windows Azure Connect
    オンプレミスとクラウドのセキュアなネットワーク層連携
    オンプレミスの資源をクラウドから利用 (SQL Server, AD DS…)
    ADFS2.0,AppFabric ACS
    クレームベースの ID 連携
    WS-Federation, WS-Trust,SAML 2.0
  • 224. ハイブリッドクラウドを検討しましょう
    手塩にかけたオンプレミスを有効に活用しましょう
    パブリッククラウドでしかできないこともあります
    両者のおいしいところだけ食べましょう
    まずはハイブリッド環境の実現から!
  • 225. © 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.