Baby step - 思考と実験の足跡

日常のちょっとした、気になって試したこと集です。

GraphAPIで利用するアクセストークンの有効期限を変更するには

背景

ユーザーではなくアプリケーションに権限を持たせてGraphAPIを操作するアプリを開発しました。

cf. ユーザーなしでアクセスを取得 - Microsoft Graph | Microsoft Docs

アクセストークンの有効期間は、アクセストークンを取得するAPIのレスポンスより60分とわかりました。

セキュリティ的に、アクセストークンの有効期限をより短く指定したほうがいいのでは? と思い、アクセストークンの有効期限をを 変更する方法を調べてみました。

調査結果

アクセストークンの有効期間は10分から1日の範囲で指定できることがわかりました。

有効期限を長くするほどセキュリティリスクが高まり、短くするほどパフォーマンスが落ちるというトレードオフになっています。

cf. 構成可能なトークンの有効期間のプロパティ

有効期限を変更するには Azure AD PowerShellが必要とのこと。 また、トークンの有効期限ポリシーはテナント全体orアクセスされるリソースに対して設定されるらしい。

cf. カスタム Azure AD アプリのトークン有効期間の既定値を変更する | Microsoft Docs

うーん、気軽に変更できる感じではなさそうだ。。

まとめ

  • アクセストークンの有効期限は、アプリ開発者側で変更するのは難しい
  • アプリを利用するテナント管理者に、AzureAD PowerShellを使ってポリシーを設定してもらうのが良さそう

という理解をしました。

アプリ開発者側でPowerShellを使えば有効期限を変更できるかもしれないのですが、その場合アプリを許可したテナント側でしているポリシーを上書きしてしまうリスクがあるんですよね。。 (本当に上書きするか、は試せていません)

AzureAD周りは難しい。。