はじめに
Azure ADを利用していると一定期間後に認証画面が表示され、多少面倒に感じます。
今回は、利用者のPCの裏側で代わりに処理してくれるプライマリ更新トークンについて
まとめてみました。
登場人物紹介
(1) プライマリ更新トークン(PRT)
ざっくり言うと、マスターキーのようなものです。これがあれば、マスターキーに対応しているどのデスクトップアプリ/ブラウザでも認証の役割を果たします。
英語では、「Primary Refresh Token」なので、頭文字を取って、PRTと略されることが多いです。以降は、プライマリ更新トークンをPRTと記載します。
(2) Cloud APプラグイン/Web Account Manager/Web Account Managerプラグイン
ざっくり言うと、プライマリ更新トークンを処理する役割のプログラムの名称です。
デスクトップアプリ、ブラウザがこのプログラムと連携できる仕組みがあり、PRTが利用者PC内に存在すれば、利用する際に、認証画面が求められません。
一方で、連携する仕組みがない場合は、認証画面が求められることがあります。
デスクトップアプリ利用時には、Web Account Managerを利用するのですが、略して、WAMと言います。以降は、Web Account ManagerをWAMと記載します。
プライマリ更新トークンの利用条件
以下の条件でAzure ADにデバイス登録されていれば、利用できるようです。
(1) Azure AD参加もしくはハイブリッド Azure AD 参加済み
(2) Azure AD登録
ただし、(2) Azure AD登録の場合は特定の利用条件を満たさないとプライマリ更新トークンが失効するので、注意が必要です。詳しくは、「PRTの更新」章で解説します。
利用シーン1 ブラウザ利用
CloudAPに対応しているブラウザが利用できます。
Microsoft社の公式ドキュメントでは、Edge、Google Chrome、Firefoxが紹介されています。
https://learn.microsoft.com/ja-jp/azure/active-directory/devices/concept-primary-refresh-token#how-is-a-prt-used
落とし穴
上記の公式ドキュメントにも載っているのですが、Google Chrome、Firefoxの場合は
追加構成が必要です。
- Google Chromeの場合: Windows 10 Accounts または Office Online アドオンが必要です。
- Firefoxの場合: ブラウザ設定で、[プライバシーとセキュリティ]>[Windowsのシングルサインオンを許可する]をONにする必要があります。
利用シーン2 デスクトップアプリ利用
WAM対応のアプリケーションが利用できます。
落とし穴
WAM対応アプリの一覧が見つからなかったので、アプリケーション毎に対応しているかの確認が必要となりました。
非対応の場合は、開発元に対応を依頼するか、諦めてAzure AD認証を行いましょう。
以下のサイトより、Microsoft 365アプリ(Power Point等のOfficeアプリ)は対応していることは確認できました。
https://learn.microsoft.com/ja-jp/microsoft-365/troubleshoot/administration/disabling-adal-wam-not-recommended#more-information
PRTの更新について
PRTの有効期限は14日後であり、更新処理がなければ、失効します。
更新パターンとしては、(1) Azure AD登録の場合と(2) Azure AD 参加の場合があります。
(1) Azure AD登録の場合
WAM対応のアプリケーションの認証中にのみ、 PRT は発行および更新されます。 ブラウザー利用時には、PRTは発行、更新はされません。
そのため、WAM対応のアプリケーションを利用していなければ、PRTは14日後に失効し、ブラウザでは認証画面が定期的に表示されるようになります。
※デスクトップアプリは更新トークンがあるため、認証画面は求められる可能性は低いです。
詳しい仕組みを知りたい方は、「トークンの認証フローを詳しく知りたい方は」章のサイトの内容をご確認下さい。
Azure AD登録デバイスでプライマリ更新トークンを利用するには、利用者が日常的にWAM対応のアプリケーションを利用する環境が必要です。
(2) Azure AD 参加の場合
上記に加え、Windows サインイン中、CloudAP プラグインが 4 時間ごとに PRT を更新します。
そのため、長期休暇等で、14日以上PCにサインインしないことがなければ失効しません。
トークンの認証フローを詳しく知りたい方は
今回は、プライマリ更新トークンに絞って、解説しました。
その他の主なAzure ADトークンとしては、以下があります。
(1) ブラウザ利用時に使用するセッショントークン
(2) デスクトップアプリケーション利用時に使用するアクセストークン/更新トークン
こちらを学習する際は下記サイトがおすすめです。
https://github.com/yusukekodama/PMActivities/blob/master/Webinar/Schedule.md
- Session 5-6 マイクロソフトサポート部門が送る 「Azure AD 認証情報のキャッシュを解き明かす」
- Season 6-2 Azure AD 認証情報のキャッシュを解き明かす 第 2 第 モバイルのシナリオ (Guest Speaker: Customer Support Services)
非常に分かりやすいYoutubeの解説とパワーポイント資料があり、こちらを反復して学習すれば、Azure ADの認証フローを習得できると思います。