Azure AD トークンの有効期間と考え方 2023年版
この記事の内容
- Azure AD が発行するトークンの有効期間について、2023年時点の最新の考え方を解説します
- かつて主流だった「1時間に1回の強制認証」がなぜセキュリティを低下させるのかを説明します
- アクセストークンに存在した「困った時間」の問題と、その解決策を紹介します
- 継続的アクセス評価(CAE)の仕組みと、それによってトークンの有効期間が28時間に延びた背景を解説します
- セキュリティと利便性を両立させる現代の Azure AD 認証の考え方をまとめます
はじめに
日本マイクロソフトの Azure AD / ADFS サポートチームが運営する「Japan Azure Identity Support Blog」に、Azure AD が発行するトークンの有効期間とその考え方について解説した記事が公開されました。
本記事では、その内容をもとに、Azure AD の認証トークンがどのように扱われているのか、そして管理者が知っておくべき最新の考え方をご紹介します。
Azure AD のトークンとは
Azure AD の認証・認可の仕組みを理解するうえで、アクセストークンは非常に重要な要素です。アクセストークンを取得すると、そのトークンが有効な期間中は Azure のリソースにアクセスできるようになります。
このとき、条件付きアクセスポリシーのチェックはトークンを取得するタイミングで行われます。つまり、一度トークンを取得してしまえば、その有効期間中はポリシーの再評価が行われません。
かつての「1時間」という有効期間と「困った時間」
以前、Azure AD が発行するアクセストークンの有効期間は 1時間 でした。この仕様には、次のような問題がありました。
社内ネットワークからのみアクセスを許可するように条件付きアクセスポリシーを設定していたとします。しかし、社内でアクセストークンを取得した後、その1時間の有効期間内に社外(カフェや空港など)に移動してしまった場合、そのトークンを使って引き続きリソースにアクセスできてしまうという状況が発生していました。
これを「困った時間」と呼びます。トークンを取得してから有効期限が切れるまでの間、条件が変化していてもアクセスが継続できてしまう時間帯のことです。
「1時間に1回の強制認証」という誤った対策
この「困った時間」への対策として、1時間に1回の頻度で対話的な認証を強制するという設定を採用している組織が多くあります。
認証のたびに条件付きアクセスポリシーが再評価されるため、セキュリティが向上するように思えます。しかし、Japan Azure Identity Support Blog では、この考え方は逆にセキュリティを低下させると報告されています。
理由は以下のとおりです。
- 何度も何度も認証を求められるため、ユーザーが簡単なパスワードを設定してしまいがちになる
- パスワードを何度も入力する機会が増えるほど、フィッシングなどのリスクが高まる
これは、パスワードを定期的に変更させることが安全だという誤解と同じ構造の問題です。管理者が「より安全にしよう」と考えて設定した内容が、逆にリスクを高めてしまうケースです。
継続的アクセス評価(CAE)による解決
この問題を根本的に解決するために、現在は 継続的アクセス評価(Continuous Access Evaluation / CAE) という機能が提供されています。
CAE が有効化されると、クライアントの利用環境に変化が生じた際、サービスプロバイダー側(例:Exchange Online)がリアルタイムでその変化を検知し、アクセストークンの有効期間中であっても条件付きアクセスポリシーの再評価を行うことができます。
たとえば Exchange Online であれば、CAE に対応しているため、ネットワークの変化などを検知した段階でポリシーの再評価が実施されます。
この仕組みにより、かつて存在した「困った時間」は理屈のうえでは解消されます。
CAE 有効化後のトークン有効期間:28時間へ
CAE が有効化されている環境では、条件付きアクセスポリシーのチェックが常時行われているのと同等の状態を保つことができます。
そのため、アクセストークンの有効期間を長く設定しても問題ないという考え方に変わっています。現在は 28時間 という有効期間が設定されています。
これにより、ユーザーは頻繁に認証を求められることなく、快適に作業を続けられます。
現代の Azure AD 認証における考え方
最新の考え方をまとめると、次のようになります。
- 高い強度の認証を採用する:多要素認証(MFA)や生体認証など、パスワード単体より強度の高い認証方式を使用する
- 再認証の要求を極力減らす:本人であることの確からしさが高い場合は、何度も認証を求めない
- パスワードを使う機会を減らす:再認証の頻度を下げることで、パスワードそのものを入力する機会が減り、安全性が向上する
この3点を実現することで、セキュリティと利便性の両立が可能になります。
CAE が有効化されているにもかかわらず、1時間に1回の対話的認証を強制するような設定をしていると、ユーザーは何度もパスワードを入力しなければならず、結果としてセキュリティリスクが高まってしまいます。
管理者の方へ:今すぐ設定を見直してください
以下に該当する組織の管理者の方は、設定の見直しを強くおすすめします。
- 1時間に1回の頻度で対話的な認証を強制するポリシーを設定している
- CAE が有効化されているにもかかわらず、トークンの有効期間を短く設定している
このような設定は、セキュリティを高めるどころか、逆にリスクを生む可能性があります。
まとめ
Azure AD のトークン有効期間に関する考え方は、継続的アクセス評価(CAE)の登場によって大きく変わりました。
かつては「1時間に1回の強制認証でセキュリティを確保する」という考え方が一般的でしたが、CAE が有効化された現在では、この設定は逆効果になりえます。現在のアクセストークンの有効期間は28時間となっており、CAE によって常時ポリシーの監視が行われる仕組みが整っています。
最新の考え方は、高い強度の認証を用い、再認証の頻度を下げることでセキュリティと利便性を同時に実現するというものです。Azure AD はこの方向に向けて機能を拡張し続けており、管理者の方は最新の情報を継続的にウォッチし、推奨設定に沿った構成を取ることが重要です。