SlideShare uma empresa Scribd logo
1 de 41
Windows Azure Active Directory を使
   用したアプリケーション入門

    Japan Windows Azure User Group
                    @kekekekenta
                     Dec. 19, 2012
はじめに

• Windows Azure Active Directoryは開発者プレビューということもあ
  り、常に情報が変化している状況です。

• ということもあり、デモも失敗する場合がありますし、今回の資料
  に書かれている内容が実際のものと異なる場合があるかもしれませ
  んので、ご了承ください。




                                                   2
Windows Azure Active Directoryとは

• アプリケーションに以下の機能を提供
  – ACS(アクセス制御)
     • Facebook などの IDプロバイダーや、オンプレミスのADFSなどを使用した
       認証と承認を一元的に行えるようにする機能
  – Windows Azure Active Directory(コアディレクトリおよび認証)
     • シングル サインオン(SSO)、ユーザーおよび グループの管理、オンプレミ
       スのActive Directory と同期、フェデレーションなどの機能
     • Windows Azure AD Rights Management
        – Microsoft Online Services にサブスクライブしている組織のコンテンツを暗号化
          して使用制限する機能


• 今回は、Windows Azure AD (コアディレクトリおよび認証)を紹
  介します!
WINDOWS AZURE ACTIVE DIRECTORY


                                 4
Windows Azure Active Directory(コアディレクトリ
         および認証)
•   特徴
    –   Windows Azure ADは、Microsoft社のSaaS製品で利用されている
         •   Office365、Microsoft Dynamics CRM Online、Windows Server Online Backup、Windows Intune
    –   RESTベースのサービス
    –   サーバ製品のActive Directoryとは異なる

•   できること
    –   管理ポータルからユーザとグループの管理
    –   認証と承認、シングル サインオン
    –   アプリケーションからユーザなどのディレクトリ情報の取得と操作
    –   オンプレミスのActive Directoryとディレクトリ同期

•   アプリケーションからの利用
    –   組織(テナント)向けアプリケーション
    –   複数組織(マルチテナント)向けアプリケーション



                                                                                                   5
Windows Azure AD構成




                     6
管理画面:サービス




            7
管理画面:ユーザとグループの管理




                   8
管理画面:ドメインの管理




               9
管理画面:インテグレーション方法の紹介




                      10
管理画面:アプリ開発者向け情報




                  11
WINDOWS AZURE ADアプリケーション


                           12
Windows Azure ADアプリケーションの種類

•   組織のアプリケーション(Apps for your organization)
    – 自分の組織向けのような一つのテナントに対応するアプリケーション
       • 利用者は、Office365などとSSOが可能
       • サンプルコード
          – http://code.msdn.microsoft.com/Write-Sample-App-for-79e55502


•   複数組織用のアプリケーション(Apps for multiple organization)
    – 複数の組織で使うためのマルチテナント対応のアプリケーション
       • アプリ提供者は、Office365などのアカウントを使用したアプリをSaaS提供可能
       • 利用者は、Office365などとSSOが可能
       • サンプルコード
          – http://www.windowsazure.com/en-us/develop/net/tutorials/multitenant-apps-for-active-
            directory/



                                                                                                   13
Windows Azure ADアプリケーション作成準備

• Windows Azure Active Directoryの新しいテナントを作成
   – http://g.microsoftonline.com/0AX00en/5


• Visual Studio 2012のインストール(Express for WebでもOK)
   – http://www.microsoft.com/visualstudio/jpn/products/visual-studio-
     express-products


• ASP.NET Fall 2012 Update BUILD Prerelease のインストール
   – http://www.asp.net/vnext/overview/fall-2012-update



                                                                         14
組織のアプリケーション
•   開発手順
    1.       Visual Studio 2012から新規Webプロジェクトの作成
    2.       ソリューションエクスプローラでプロジェクト選択後、右クリック
             で「Enable Windows Azure Authentication…」を実行
    3.       Windows Azure Active Directory Domainを入力
    4.       “Tenant Administrator”でログイン
    5.       完成
         •        自動でWeb.configと、Windows Azure ADにService Principalが設定される
    6.       Azure Websitesへ発行も可能
         •        同様にWeb.configと、Service PrincipalがWindows Azure ADに設定される

•   紹介ページ
    –    ASP.net
             •   http://www.asp.net/vnext/overview/fall-2012-update/windows-azure-
                 authentication
    –    松崎 剛 Blog
             •   http://blogs.msdn.com/b/tsmatsuz/archive/2012/11/09/windows-azure-active-
                 directory-web-sso-using-asp-net.aspx




                                                                                             15
16
17
18
複数組織用のアプリケーション
•   さきほどの組織のアプリケーションと違うところ
    – Client ID は Seller Dashboardで生成する
    – 自分の組織で使用する場合は、Consentリクエストに
      より、複数組織用アプリから自分のテナント情報へ
      のアクセスを許可する必要がある

•   アプリケーション利用イメージ
    1.   アプリの「サインアップ」をクリック
    2.   Windows Azure ADの認証ページにリダイレクト
    3.   テナントの管理者で認証
    4.   アプリのConsentリクエストを許可するか選択
         • Seller Dashboardで、パブリッシュされている場合
           はテストアプリとは、見た目が異なる
    5. アプリへリダイレクト
    6. 組織のディレクトリ情報を利用したアプリ利用


                                             19
20
Consentリクエスト

•   Windows Azure ADテナントにアプリからのアクセス許可を要求
    – セーラーダッシュボードに登録したクライアントIdを使用してConsentリクエスト
       • https://activedirectory.windowsazure.com/Consent/AuthorizeApplication.aspx?Applicatio
         nId={ClientId}&RequestedPermissions={RequestedPermissions}

    – パラメータ
       • ApplicationId(必須)
            – Seller Dashboard に登録した Client ID
       • RequestedPermissions(オプション)
            – DirectoryReader
                  »   組織のユーザアカウント、グループ情報のディレクトリデータを読み込む権限を要求。SSOを有効にす
                      る。
            – UserAccountAdministrator
                  »   組織のユーザアカウント、グループ情報のディレクトリデータを読み込みと書き込みする権限を要求。
                      SSOを有効にする
            – None(デフォルト)
                  »   SSOを有効にするが、ディレクトリデータへのアクセスは無効にする。



                                                                                                 21
22
23
24
Consentレスポンス

• https://{Redirect URL}&TenantId={TenantId}&Consent={Consent}
• パラメータ
   – TenantId
       • 許可されたWindows Azure AD組織のGUID
   – Consent
       • 許可された場合は”Granted“、リジェクトされた場合は”Denied”




                                                                 25
26
27
ディレクトリアクセス

• Graphにアクセス

  – Users
      • https://graph.windows.net/contoso.com/Users
  – Groups
      • https://graph.windows.net/contoso.com/Groups


  – Windows Azure Active Directory Graph
      • http://msdn.microsoft.com/en-us/library/windowsazure/hh974476.aspx




                                                                             28
Graph APIからテナントのユーザ取得結果を表示




                             29
SELLER DASHBOARD


                   30
Seller Dashboard
•   Client Idの管理
•   マルチテナントアプリの管理
•   Office365アプリの管理
•   支払の管理

•   アカウント作成
     –   企業向け
     –   個人向け
     –   ※アカウントが有効になるまで1日ぐらい時
         間がかかります

•   Client ID作成

•   https://sellerdashboard.microsoft.com/



                                             31
Client ID




                  Consentに
                  よりClient
                  IDでADに
                   アクセス
                    可能に



Seller DashboardのClient IDと同じIDで、Windows Azure ADのテナント内にService
Principalが作成される。

                                                              32
パブリッシュ
•   App Type
     –   Active Directory Appを選択

•   Applicationマニフェストの作成
     –   プロダクション向けのClient IDとClient Secretを作成
     –   マニフェストをXMLで記述
     –   AppPermissionRequestsエレメントのPolicyアトリ
         ビュート
           •   現在はアプリケーションがディレクトリ情報をアク
               セスするためのAppOnlyのみ対応
     –   Reasonエレメント
           •   Consentページに表示する言語を指定
     –   Seller Dashbordに登録する内容
           •   http://msdn.microsoft.com/en-us/library/jj552465.aspx


•   ステータス
     –   pending approval
           •   検証中
     –   Approved
           •   承認された




                                                                       33
MSONLINE FOR POWERSHELL


                          34
Windows Azure Active Directoryアクセスのための準備

• PowerShell用管理モジュールのインストール
  – Microsoft Online Services Sign-In Assistant 7.0
      • http://bit.ly/sCMOD3
  – Microsoft Online Services Module for Windows PowerShell
      • http://bit.ly/UxfTri


• コマンドリスト表示
  – Get-Command Msonline
  – Get-Command MsonlineExtended
• コマンドヘルプ表示
  – Get-Help Get-MsolRole


                                                              35
PowerShellでWindows Azure Active Directoryに接続

•   PowerShellで接続例
    – Import-Module msonline
    – Import-Module msonlineextended
    – Connect-MsolService -Credential (Get-Credential)

•   PowerShellで情報取得
    – テナント情報の取得
         • Get-MsolCompanyInformation
    – テナントIDの取得
         • (Get-MsolCompanyInformation).ObjectId
    – サービスプリンシパルの取得
         • Get-MsolServicePrincipal

    – 参考
         • http://onlinehelp.microsoft.com/ja-jp/office365-enterprises/hh125002.aspx


                                                                                       36
その他


      37
ロール
•   ロールのオブジェクトIDと名前の表示
      –   Get-MsolRole
           •   Company Administrator
                  –   Global administrator(ポータル上の名前)
           •   Helpdesk Administrator
                  –   Password administrator(ポータル上の名前)
           •   Billing Administrator
                  –   Billing administrator(ポータル上の名前)
           •   Service Support Administrator
                  –   Service administrator(ポータル上の名前)
           •   User Account Administrator
                  –   User management administrator(ポータル上の名前)
•   ロールのメンバー表示
      –   Get-MsolRoleMember

•   ※Office365でユーザを”Global administrator”にするとWA AD Roleは”Company Administrator”になる
•   ※Consentリクエストの承諾は”Company Administrator”ロールが必要
Claims
•   http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn
     –   ユーザのUPN。メールアドレスのようなRFC 2822スタイルの名前。UPNは変更される場合
         があるので、この名前で管理しないように。
•   http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname
     –   ファーストネーム
•   http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname
     –   ラストネーム
•   http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod
     –   IDプロバイダの認証URI
•   http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationinstant
     –   認証のUTC時間(例えば、2012-12-19T07:00:00.000Z)
•   http://schemas.microsoft.com/ws/2012/10/identity/claims/tenantid
     –   GUID表記のテナントID。グラフAPIのアクセスURLを作成するときに使用したりする。
料金
•   アクセス制御
     –   トランザクション回数で料金が発生していたが、無料に!

•   コアディレクトリおよび認証
     –   2013年12月1日まではキャンペーンで無料とアナウンスされていたが、その後も無料に!

•   Azure AD Rights Management
     –   別料金(料金は不明)

•   (参考)2012年11月30日のアナウンス
     –   http://blogs.msdn.com/b/windowsazure/archive/2012/11/30/windows-azure-active-directory-making-
         it-easier-to-establish-identity-management-in-the-cloud.aspx

•   ※微妙にわかりにくい状況(英語ページ)
     –   http://www.windowsazure.com/en-us/pricing/details/
•   ※データ転送料は別途発生すると考えられる



                                                                                                          40
今回の資料や今後のアップデートについて

• ブログで紹介していけたらと思います。
  – http://kentablog.cluscore.com
• あと、Twitterでアップデート情報を流すかもしれません。
  – @kekekekenta


• 夜遅くまでありがとうございました!!!




                                    41

Mais conteúdo relacionado

Destaque

.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今Yuki Igarashi
 
Microsoft Azure 概要 (2015 年 4 月版)
Microsoft Azure 概要 (2015 年 4 月版)Microsoft Azure 概要 (2015 年 4 月版)
Microsoft Azure 概要 (2015 年 4 月版)Osamu Monoe
 
[ビッグデータオールスターズ] クラウドサービス最新情報 機械学習/AIでこんなことまでできるんです! (Microsoft編)
[ビッグデータオールスターズ] クラウドサービス最新情報 機械学習/AIでこんなことまでできるんです! (Microsoft編)[ビッグデータオールスターズ] クラウドサービス最新情報 機械学習/AIでこんなことまでできるんです! (Microsoft編)
[ビッグデータオールスターズ] クラウドサービス最新情報 機械学習/AIでこんなことまでできるんです! (Microsoft編)Naoki (Neo) SATO
 
[Azure Council Experts (ACE) 第21回定例会] Microsoft Azureアップデート情報 (2016/12/09-201...
[Azure Council Experts (ACE) 第21回定例会] Microsoft Azureアップデート情報 (2016/12/09-201...[Azure Council Experts (ACE) 第21回定例会] Microsoft Azureアップデート情報 (2016/12/09-201...
[Azure Council Experts (ACE) 第21回定例会] Microsoft Azureアップデート情報 (2016/12/09-201...Naoki (Neo) SATO
 
Microsoft Azureの機械学習サービス (Azure Machine Learning/Microsoft Cognitive Services)
Microsoft Azureの機械学習サービス (Azure Machine Learning/Microsoft Cognitive Services)Microsoft Azureの機械学習サービス (Azure Machine Learning/Microsoft Cognitive Services)
Microsoft Azureの機械学習サービス (Azure Machine Learning/Microsoft Cognitive Services)Naoki (Neo) SATO
 
[Developers Summit 2017] MicrosoftのAI開発機能/サービス
[Developers Summit 2017] MicrosoftのAI開発機能/サービス[Developers Summit 2017] MicrosoftのAI開発機能/サービス
[Developers Summit 2017] MicrosoftのAI開発機能/サービスNaoki (Neo) SATO
 

Destaque (6)

.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
 
Microsoft Azure 概要 (2015 年 4 月版)
Microsoft Azure 概要 (2015 年 4 月版)Microsoft Azure 概要 (2015 年 4 月版)
Microsoft Azure 概要 (2015 年 4 月版)
 
[ビッグデータオールスターズ] クラウドサービス最新情報 機械学習/AIでこんなことまでできるんです! (Microsoft編)
[ビッグデータオールスターズ] クラウドサービス最新情報 機械学習/AIでこんなことまでできるんです! (Microsoft編)[ビッグデータオールスターズ] クラウドサービス最新情報 機械学習/AIでこんなことまでできるんです! (Microsoft編)
[ビッグデータオールスターズ] クラウドサービス最新情報 機械学習/AIでこんなことまでできるんです! (Microsoft編)
 
[Azure Council Experts (ACE) 第21回定例会] Microsoft Azureアップデート情報 (2016/12/09-201...
[Azure Council Experts (ACE) 第21回定例会] Microsoft Azureアップデート情報 (2016/12/09-201...[Azure Council Experts (ACE) 第21回定例会] Microsoft Azureアップデート情報 (2016/12/09-201...
[Azure Council Experts (ACE) 第21回定例会] Microsoft Azureアップデート情報 (2016/12/09-201...
 
Microsoft Azureの機械学習サービス (Azure Machine Learning/Microsoft Cognitive Services)
Microsoft Azureの機械学習サービス (Azure Machine Learning/Microsoft Cognitive Services)Microsoft Azureの機械学習サービス (Azure Machine Learning/Microsoft Cognitive Services)
Microsoft Azureの機械学習サービス (Azure Machine Learning/Microsoft Cognitive Services)
 
[Developers Summit 2017] MicrosoftのAI開発機能/サービス
[Developers Summit 2017] MicrosoftのAI開発機能/サービス[Developers Summit 2017] MicrosoftのAI開発機能/サービス
[Developers Summit 2017] MicrosoftのAI開発機能/サービス
 

Último

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 

Último (10)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 

Windows Azure Active Directory Preview を使用したアプリケーション入門

  • 1. Windows Azure Active Directory を使 用したアプリケーション入門 Japan Windows Azure User Group @kekekekenta Dec. 19, 2012
  • 2. はじめに • Windows Azure Active Directoryは開発者プレビューということもあ り、常に情報が変化している状況です。 • ということもあり、デモも失敗する場合がありますし、今回の資料 に書かれている内容が実際のものと異なる場合があるかもしれませ んので、ご了承ください。 2
  • 3. Windows Azure Active Directoryとは • アプリケーションに以下の機能を提供 – ACS(アクセス制御) • Facebook などの IDプロバイダーや、オンプレミスのADFSなどを使用した 認証と承認を一元的に行えるようにする機能 – Windows Azure Active Directory(コアディレクトリおよび認証) • シングル サインオン(SSO)、ユーザーおよび グループの管理、オンプレミ スのActive Directory と同期、フェデレーションなどの機能 • Windows Azure AD Rights Management – Microsoft Online Services にサブスクライブしている組織のコンテンツを暗号化 して使用制限する機能 • 今回は、Windows Azure AD (コアディレクトリおよび認証)を紹 介します!
  • 4. WINDOWS AZURE ACTIVE DIRECTORY 4
  • 5. Windows Azure Active Directory(コアディレクトリ および認証) • 特徴 – Windows Azure ADは、Microsoft社のSaaS製品で利用されている • Office365、Microsoft Dynamics CRM Online、Windows Server Online Backup、Windows Intune – RESTベースのサービス – サーバ製品のActive Directoryとは異なる • できること – 管理ポータルからユーザとグループの管理 – 認証と承認、シングル サインオン – アプリケーションからユーザなどのディレクトリ情報の取得と操作 – オンプレミスのActive Directoryとディレクトリ同期 • アプリケーションからの利用 – 組織(テナント)向けアプリケーション – 複数組織(マルチテナント)向けアプリケーション 5
  • 13. Windows Azure ADアプリケーションの種類 • 組織のアプリケーション(Apps for your organization) – 自分の組織向けのような一つのテナントに対応するアプリケーション • 利用者は、Office365などとSSOが可能 • サンプルコード – http://code.msdn.microsoft.com/Write-Sample-App-for-79e55502 • 複数組織用のアプリケーション(Apps for multiple organization) – 複数の組織で使うためのマルチテナント対応のアプリケーション • アプリ提供者は、Office365などのアカウントを使用したアプリをSaaS提供可能 • 利用者は、Office365などとSSOが可能 • サンプルコード – http://www.windowsazure.com/en-us/develop/net/tutorials/multitenant-apps-for-active- directory/ 13
  • 14. Windows Azure ADアプリケーション作成準備 • Windows Azure Active Directoryの新しいテナントを作成 – http://g.microsoftonline.com/0AX00en/5 • Visual Studio 2012のインストール(Express for WebでもOK) – http://www.microsoft.com/visualstudio/jpn/products/visual-studio- express-products • ASP.NET Fall 2012 Update BUILD Prerelease のインストール – http://www.asp.net/vnext/overview/fall-2012-update 14
  • 15. 組織のアプリケーション • 開発手順 1. Visual Studio 2012から新規Webプロジェクトの作成 2. ソリューションエクスプローラでプロジェクト選択後、右クリック で「Enable Windows Azure Authentication…」を実行 3. Windows Azure Active Directory Domainを入力 4. “Tenant Administrator”でログイン 5. 完成 • 自動でWeb.configと、Windows Azure ADにService Principalが設定される 6. Azure Websitesへ発行も可能 • 同様にWeb.configと、Service PrincipalがWindows Azure ADに設定される • 紹介ページ – ASP.net • http://www.asp.net/vnext/overview/fall-2012-update/windows-azure- authentication – 松崎 剛 Blog • http://blogs.msdn.com/b/tsmatsuz/archive/2012/11/09/windows-azure-active- directory-web-sso-using-asp-net.aspx 15
  • 16. 16
  • 17. 17
  • 18. 18
  • 19. 複数組織用のアプリケーション • さきほどの組織のアプリケーションと違うところ – Client ID は Seller Dashboardで生成する – 自分の組織で使用する場合は、Consentリクエストに より、複数組織用アプリから自分のテナント情報へ のアクセスを許可する必要がある • アプリケーション利用イメージ 1. アプリの「サインアップ」をクリック 2. Windows Azure ADの認証ページにリダイレクト 3. テナントの管理者で認証 4. アプリのConsentリクエストを許可するか選択 • Seller Dashboardで、パブリッシュされている場合 はテストアプリとは、見た目が異なる 5. アプリへリダイレクト 6. 組織のディレクトリ情報を利用したアプリ利用 19
  • 20. 20
  • 21. Consentリクエスト • Windows Azure ADテナントにアプリからのアクセス許可を要求 – セーラーダッシュボードに登録したクライアントIdを使用してConsentリクエスト • https://activedirectory.windowsazure.com/Consent/AuthorizeApplication.aspx?Applicatio nId={ClientId}&RequestedPermissions={RequestedPermissions} – パラメータ • ApplicationId(必須) – Seller Dashboard に登録した Client ID • RequestedPermissions(オプション) – DirectoryReader » 組織のユーザアカウント、グループ情報のディレクトリデータを読み込む権限を要求。SSOを有効にす る。 – UserAccountAdministrator » 組織のユーザアカウント、グループ情報のディレクトリデータを読み込みと書き込みする権限を要求。 SSOを有効にする – None(デフォルト) » SSOを有効にするが、ディレクトリデータへのアクセスは無効にする。 21
  • 22. 22
  • 23. 23
  • 24. 24
  • 25. Consentレスポンス • https://{Redirect URL}&TenantId={TenantId}&Consent={Consent} • パラメータ – TenantId • 許可されたWindows Azure AD組織のGUID – Consent • 許可された場合は”Granted“、リジェクトされた場合は”Denied” 25
  • 26. 26
  • 27. 27
  • 28. ディレクトリアクセス • Graphにアクセス – Users • https://graph.windows.net/contoso.com/Users – Groups • https://graph.windows.net/contoso.com/Groups – Windows Azure Active Directory Graph • http://msdn.microsoft.com/en-us/library/windowsazure/hh974476.aspx 28
  • 31. Seller Dashboard • Client Idの管理 • マルチテナントアプリの管理 • Office365アプリの管理 • 支払の管理 • アカウント作成 – 企業向け – 個人向け – ※アカウントが有効になるまで1日ぐらい時 間がかかります • Client ID作成 • https://sellerdashboard.microsoft.com/ 31
  • 32. Client ID Consentに よりClient IDでADに アクセス 可能に Seller DashboardのClient IDと同じIDで、Windows Azure ADのテナント内にService Principalが作成される。 32
  • 33. パブリッシュ • App Type – Active Directory Appを選択 • Applicationマニフェストの作成 – プロダクション向けのClient IDとClient Secretを作成 – マニフェストをXMLで記述 – AppPermissionRequestsエレメントのPolicyアトリ ビュート • 現在はアプリケーションがディレクトリ情報をアク セスするためのAppOnlyのみ対応 – Reasonエレメント • Consentページに表示する言語を指定 – Seller Dashbordに登録する内容 • http://msdn.microsoft.com/en-us/library/jj552465.aspx • ステータス – pending approval • 検証中 – Approved • 承認された 33
  • 35. Windows Azure Active Directoryアクセスのための準備 • PowerShell用管理モジュールのインストール – Microsoft Online Services Sign-In Assistant 7.0 • http://bit.ly/sCMOD3 – Microsoft Online Services Module for Windows PowerShell • http://bit.ly/UxfTri • コマンドリスト表示 – Get-Command Msonline – Get-Command MsonlineExtended • コマンドヘルプ表示 – Get-Help Get-MsolRole 35
  • 36. PowerShellでWindows Azure Active Directoryに接続 • PowerShellで接続例 – Import-Module msonline – Import-Module msonlineextended – Connect-MsolService -Credential (Get-Credential) • PowerShellで情報取得 – テナント情報の取得 • Get-MsolCompanyInformation – テナントIDの取得 • (Get-MsolCompanyInformation).ObjectId – サービスプリンシパルの取得 • Get-MsolServicePrincipal – 参考 • http://onlinehelp.microsoft.com/ja-jp/office365-enterprises/hh125002.aspx 36
  • 37. その他 37
  • 38. ロール • ロールのオブジェクトIDと名前の表示 – Get-MsolRole • Company Administrator – Global administrator(ポータル上の名前) • Helpdesk Administrator – Password administrator(ポータル上の名前) • Billing Administrator – Billing administrator(ポータル上の名前) • Service Support Administrator – Service administrator(ポータル上の名前) • User Account Administrator – User management administrator(ポータル上の名前) • ロールのメンバー表示 – Get-MsolRoleMember • ※Office365でユーザを”Global administrator”にするとWA AD Roleは”Company Administrator”になる • ※Consentリクエストの承諾は”Company Administrator”ロールが必要
  • 39. Claims • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn – ユーザのUPN。メールアドレスのようなRFC 2822スタイルの名前。UPNは変更される場合 があるので、この名前で管理しないように。 • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname – ファーストネーム • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname – ラストネーム • http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod – IDプロバイダの認証URI • http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationinstant – 認証のUTC時間(例えば、2012-12-19T07:00:00.000Z) • http://schemas.microsoft.com/ws/2012/10/identity/claims/tenantid – GUID表記のテナントID。グラフAPIのアクセスURLを作成するときに使用したりする。
  • 40. 料金 • アクセス制御 – トランザクション回数で料金が発生していたが、無料に! • コアディレクトリおよび認証 – 2013年12月1日まではキャンペーンで無料とアナウンスされていたが、その後も無料に! • Azure AD Rights Management – 別料金(料金は不明) • (参考)2012年11月30日のアナウンス – http://blogs.msdn.com/b/windowsazure/archive/2012/11/30/windows-azure-active-directory-making- it-easier-to-establish-identity-management-in-the-cloud.aspx • ※微妙にわかりにくい状況(英語ページ) – http://www.windowsazure.com/en-us/pricing/details/ • ※データ転送料は別途発生すると考えられる 40
  • 41. 今回の資料や今後のアップデートについて • ブログで紹介していけたらと思います。 – http://kentablog.cluscore.com • あと、Twitterでアップデート情報を流すかもしれません。 – @kekekekenta • 夜遅くまでありがとうございました!!! 41