■EdgeブラウザでOffice365に自動ログインしてしまう
Office365にサインインした時に、「組織がデバイスを管理できるようにする」とした場合(詳しくは前の記事へ)、認証情報がWindowsOSの「アカウント」に登録されます。更に「Azure Active Directory」の「デバイス」に端末情報が登録されます。この状態でEdgeブラウザからOffice365のサインインページに飛ぶと、パスワード入力などユーザが認証操作をすることなくログイン後ページが開きます。
※自動ログインの解除については「前の記事へ」に記載しています。
ブラウザのCookieやローカルストレージのファイルを消してもなお自動ログインができるため、WindowsOSに登録された認証情報を利用してログインしているのだろう、という事は想像できます。
■実際のシーケンスについて
実際のシーケンスがどうなっているかEdgeブラウザのツールで覗いてみました。詳細かつ正確なことは分かりませんでしたので想像します。
- Request-Headesに「authorization」が入っているシーケンスを見ると「graph.microsoft.com」というHOSTにアクセスしている。
- 「要求URL」が「https://graph.microsoft.com/v1.0/me/drive/root」となっている。
■Microsoft Graph について
OSに格納した情報を利用して「Office365の認証を行っている」、或いは「この「graph.microsoft.com」へのアクセスを行っている」のは何となく分かりますが、この「graph.microsoft.com」へのアクセスは一体何をしているのか?Webで手掛かりがないか、検索してみたところ以下のような情報が。
Microsoft ID プラットフォームから取得したアクセストークンを利用して「Microsoft Graph」を呼び出すと、「サインインしているユーザーのプロファイル情報」を返すことができる。
【Microsoft Graph の認証と承認の基本方法】
https://docs.microsoft.com/ja-jp/graph/auth/auth-concepts
もしかしたらOSが保持している「アカウント情報」は、この「graph.microsoft.com」へのアクセスキーやユーザIDなど、そんな情報なのかも知れません。
■そして想像してみる
「組織がデバイスを管理できるようにする」という設定を有効にすると、「Azure Active Directoryのデバイス一覧」に端末情報が登録され、その情報を毎回呼び出しているようなシーケンスを想像しています(デバイスが登録されているから認証OK的な?)。Windows10の「アカウント」-「職場または学校にアクセスする」から登録されているアカウントを「切断」すると「Azure Active Directory」の「デバイス」からも登録情報が削除されるので、以降は通常の認証に戻る・・・と想像しています。
想像だらけの内容になってしまいました。すみません。
—2021年4月追記—
多分、AzureADにデバイス登録すると「プライマリ更新トークン(PRT)」というものがOS上に格納され、この情報を利用すれば、すでに信頼済みとして扱われて認証なしにMS365にアクセスできるようです。
【参考:プライマリ更新トークン(PRT)について】
https://docs.microsoft.com/ja-jp/azure/active-directory/devices/concept-primary-refresh-token