GraphAPIで利用するアクセストークンの有効期限を変更するには
背景
ユーザーではなくアプリケーションに権限を持たせてGraphAPIを操作するアプリを開発しました。
cf. ユーザーなしでアクセスを取得 - Microsoft Graph | Microsoft Docs
アクセストークンの有効期間は、アクセストークンを取得するAPIのレスポンスより60分とわかりました。
セキュリティ的に、アクセストークンの有効期限をより短く指定したほうがいいのでは? と思い、アクセストークンの有効期限をを 変更する方法を調べてみました。
調査結果
アクセストークンの有効期間は10分から1日の範囲で指定できることがわかりました。
有効期限を長くするほどセキュリティリスクが高まり、短くするほどパフォーマンスが落ちるというトレードオフになっています。
有効期限を変更するには Azure AD PowerShellが必要とのこと。 また、トークンの有効期限ポリシーはテナント全体orアクセスされるリソースに対して設定されるらしい。
cf. カスタム Azure AD アプリのトークン有効期間の既定値を変更する | Microsoft Docs
うーん、気軽に変更できる感じではなさそうだ。。
まとめ
- アクセストークンの有効期限は、アプリ開発者側で変更するのは難しい
- アプリを利用するテナント管理者に、AzureAD PowerShellを使ってポリシーを設定してもらうのが良さそう
という理解をしました。
アプリ開発者側でPowerShellを使えば有効期限を変更できるかもしれないのですが、その場合アプリを許可したテナント側でしているポリシーを上書きしてしまうリスクがあるんですよね。。 (本当に上書きするか、は試せていません)
AzureAD周りは難しい。。