16. 自己紹介 髙尾 哲朗
仙台IT文化祭2017 http://2017.sendaiitfes.org/ #sendaiitfes 18
システム構築のプロセス評価、改善、策定、開発フレームワークの
設計、実装管理、プリセールスやプロジェクトの立ち上げなど
ブログ :http://blog.processtune.com
プロフィール :Tetsuro Takao on
Facebook, Twitter or http://mvp.microsoft.com
コミュニティ :.NETラボの運営スタッフ
Microsoft MVP:Visual Studio and Development Technologies
[July 2010 – June 2018]
22. Microsoft Graph is related to Azure AD
仙台IT文化祭2017 http://2017.sendaiitfes.org/ #sendaiitfes 24
https://blogs.msdn.microsoft.com/aadgraphteam/2016/07/08/microsoft-graph-or-azure-ad-graph/
AAD認証
何にアクセスするか
どの範囲でアクセスす
るか専用のトークン
23. Microsoft Graph is related to Azure AD
仙台IT文化祭2017 http://2017.sendaiitfes.org/ #sendaiitfes 25
AAD認証
何にアクセスするか
どの範囲でアクセスす
るか専用のトークン
1
2
3
2
24. インテリジェントクラウド
仙台IT文化祭2017 http://2017.sendaiitfes.org/ #sendaiitfes 26
Microsoft Graph
Office 365
Artificial-
Intelligence
Dynamics 365
API Gateway
(The Endpoint
V2.0)
Bot
Deep
learning
Data and
analytics
Cognitive
Cortana
Intelligence
Microsoft Cognitive Toolkit(CNTK)
App Intelligent EdgeIntelligent Cloud
Azure IoT Gateway SDK
Azure Service Fabric
Azure Functions
Microsoft Bot Framework
Microsoft Cognitive Services
Power BI Embedded
Microsoft Graph SDK
https://developer.microsoft.com/ja-jp/graph/code-samples-and-sdks
Microsoft GraphからOffice 365 API V2.0がエクスポーズされ、OneDriveのファイルやメール、スケジュール、Plannerのタスクなどの情報のゲートウェイを担い、認証を含めデータアクセスを透過的に提供することになります。インテリジェントクラウドはMicrosoft Graphだけでなく、AIを含めBotやCortana Intelligenceなどさまざまな基盤により構成されますが、Microsoft Graphは重要な多くの役割を担います。
インテリジェントクラウドを活用するためのSDKはiOS用、 Android用、UWP用が提供されており、Visual Studioでインテリジェントエッジとしてのクライアントアプリケーションを開発するのに役立ちます。
【クリック】
Microsoft Graphを例にインテリジェントエッジとしてのクライアントアプリケーションを開発する方法について解説を行います。
インテリジェント・クラウドとインテリジェント・エッジを解説するときに使われるキーワードはマルチ・デバイス、AIとサーバーレス・コンピューティングです。
【クリック】
過去にGUIというコンテキストがUXに拡張された時代がありました。このとき開発者は、「非同期処理によるUIのインタラクティブの変化」や「親指操作を主とするスモールスクリーンのUI操作の変化」、「ペンやタッチといった入力の変化」を経験してきました。これらの変化は2009年にバルマーが発表した戦略「three screens and a cloud」に呼応した開発者たちがMultiple devicesに対応したアプリケーション作成をスタートしたパラダイムシフトだったと私は感じています。
今度のパラダイムシフトは、Build 2017でサティアが「Intelligent cloud and Intelligent edge」戦略を宣言して、HoloLensを含むiOSやAndroidおよび、スクリーンレスなデバイスがAIやコグニティブ(経験的知識に基づく認知)を利用するアプリケーションを作成し始めることだと考えています。
【クリック】
マイクロソフトは「開発者はこれらすべてのデバイスにつながるプラットフォームを必要としている」と言及しています。われわれ開発者はマルチ・デバイス、AIとサーバーレス・コンピューティングを大いに活用できるということです。
【クリック】
【クリック】
このページを読み進んでいくと「マルチ・デバイス、AI everywhereとサーバーレス・コンピューティングの組み合わせでIntelligent cloud and intelligent edge時代を駆動する」と宣言しています。
【クリック】
では、Microsoft Graphがこれらに対してどのような役割を果たすかをお話ししていきます。
Microsoft GraphはIntelligent cloudの基盤となる中心的な存在です。
【クリック】
ここは、Microsoft GraphとAzure Active Directory Graphの関係を記したブログです。現在、The Endpoint V2.0と呼ばれる認証のエンドポイントは、最近までAzure Active Directory Endpoint V2.0と言われてました。Microsoft Graphは、Azure Active Directoryの認証基盤、ユーザー管理、グループ管理、リソース管理(プリンターとか)を発展させて、人と人、人とモノ、物と物をつなげるようにしたニューラルネットワークです。 Graph理論のインプリメンテーションであるMicrosoft Graphはノードとエッジによって人と人、人と物とデバイスを結びつけたりします。このアーキテクチャのエクスペリエンスによって、皆さんが作成するアプリケーションで扱う情報には必ず周辺情報から先へのつながりがあることを、ユーザーは期待するようになります。ユーザーの情報へのアクセスのための操作方法が変化するという意味です。たとえば、現在の多くのホームページにFacebookの共有アイコンがあり、いいねアイコンやツイートアイコンがあるのが当たり前のように、インテリジェントエッジなアプリケーションには、周辺情報へのつながりがポイントになり、共有、コラボレートといったクリエイティビティを開発者が提供することになります。
また、クリエイティビティと同様にデバイスや情報にアクセスする際のセキュリティと安全性も提供することができます。
開発者の皆さんに提供されているセキュリティ機構は、Azure Active Directoryのアカウントの場合はAzure Active DirectoryとMicrosoft Graphが連携するわけです。Microsoft Graphから見ると、Azure Active Directoryは、アイデンティティプロバイダーのひとつです。
そのため、このセキュリティはモビリティにも安全性が保証されます。ここでのモビリティはマルチデバイスと≒なのですが、安全性は、この「範囲付きアクセス」が実現します。【クリック】
この認証機構はOAuth2.0に完全に準拠しています。そのため、FacebookなどのOAuthアイデンティティ・プロバイダーの情報についてもリソースの範囲を限定してコンテンツやリソースにアクセスできます。
【クリック】
何にアクセスするか、どの範囲でアクセスするかをリクエストします。どの範囲というのは、読み書きや読み取り専用といったアクセスの権限の範囲も含めて、例えば個人情報のうちアカウントとメールアドレスだけ取得するといった情報範囲を指します。これをスコープといいます。
【クリック】
そして、Azure Active Directoryアカウントの場合はAzure Active Directoryに問い合わせを行います。
【クリック】
エッジ側では、ターゲットのリソースのこのスコープ専用のトークンを取得するわけです。
【クリック】
同じ仕組みで、他のアイデンティティプロバイダーの認証機構とコンテンツへのスコープ付きアクセスが可能になるわけです。
FacebookやTwitter、LinkedInのアクティビティを含め、GoogleカレンダーやメールなどのコンテンツとOffice 365やOne Driveのコンテンツを組み合わせAzure上で配信するようなアプリケーションも作成することができます。
Microsoft Graph SDKはマルチデバイスに対応しており、トークン取得までの手続きはどのクライアントでも同様の手続きになります。
ネイティブアプリケーションやWebアプリケーションを意識する必要はありません。
Microsoft Graph SDKはマルチデバイスに対応しており、トークン取得までの手続きはOauth 2.0準拠なので開発対象のOSや言語、ネイティブアプリケーションやWebアプリケーションを意識する必要はありません。
そのため、このページを必ず一読されることをお勧めします。
英語のページはGet access tokens to call Microsoft Graphという同じページがあります。