「ブラウザのキャッシュ問題」と決別する、サインインセッションの制御

「設定を変えたのに、ユーザーには反映されていないみたいです……」

Microsoft 365 管理センターで設定を更新した直後に、こんな問い合わせが届いた経験はないでしょうか。
「ブラウザのキャッシュを消してください」と返しても、「消したのにまだダメです」と返ってくる。
その原因の多くは、ブラウザのキャッシュそのものではなく、Microsoft Entra ID(旧 Azure AD)が発行したトークンやセッション Cookie がまだ有効期間内に残っていることにあります。

こうした「設定が反映されない」問題の仕組みを整理し、管理者がユーザーのデスクに行かずとも遠隔でセッションを制御・強制終了するための実践的な手法を解説します。

そもそも「セッション」とは何か? — トークンの種類と有効期限

まずは
わかりやすく例で紹介してみます~

トークン = 「入館証」

まず「トークン」とは何か。

トークンは一言で言うと、

あなたが正しくログインしたことを証明する“入館証”

のようなものです。

Microsoft 365 にサインインすると、
認証基盤である Microsoft Entra ID が

「この人は本人確認OKです」

という証明書を発行します。
これが アクセス トークン です。

この入館証は、通常 約1時間有効 です。

有効期限内であれば、
その間は何度サービスにアクセスしても再ログインは求められません。

更新トークン = 「延長チケット」

1時間が過ぎたらどうなるのでしょうか?

実は、裏側では「更新トークン」という仕組みが動いています。

これは、

入館証を自動で更新するための延長チケット

のようなものです。

ユーザーが何も操作しなくても、
システムが自動的に新しいアクセス トークンを取得します。

そのため、私たちは「ログインし続けている」ように感じるのです。

セッション Cookie = 「受付に残っている記録」

では「セッション」とは何でしょうか。

これは、

ブラウザに保存されている“ログイン中ですよ”という記録

のことです。

特に「サインインしたままにする(KMSI)」を選ぶと、
ブラウザに長期間有効な Cookie が保存されます。

そのため、

  • ブラウザを閉じても
  • パソコンを再起動しても

ログイン状態が維持されます。

キャッシュ = 「表示を速くするための一時保存」

キャッシュは認証とは別物です。

これは、

Webページの表示を速くするための一時保存データ

です。

画像やデザイン情報を保存しておくことで、
次回の表示を高速化します。

重要なのはここです。

キャッシュと認証 Cookie は別の場所に保存されています。

そのため、

「キャッシュを削除してください」

と言っても、

ログイン状態(セッション)は消えないことが多いのです。

ちょっとまとめます。

  1. ユーザーは「入館証(アクセス トークン)」を持っている
  2. その有効期限内は再チェックされない
  3. さらにブラウザにはログイン記録(Cookie)が残っている

つまり、

すでに発行済みの“有効な入館証”がある間は、設定変更がすぐには反映されない

という状況が原則です。

用語たとえ
アクセストークン入館証
更新トークン延長チケット
セッションログイン中の記録
Cookieその記録の保存データ
キャッシュ表示高速化データ

それでは
本題です。

ユーザーが Microsoft 365 や SharePoint Online にサインインすると、Entra ID はいくつかの種類のトークンをブラウザやアプリに発行します。

それぞれの役割と有効期間を理解することが、セッション制御の第一歩です。

トークン種別役割既定の有効期間
アクセス トークン各リソース(Exchange Online 等)へのアクセス許可証約 1 時間
更新トークンアクセス トークンの再取得に使用最大 90 日(利用するたびにリセット)
セッション トークンブラウザの Cookie に格納、SSO を維持24 時間(非永続)/ 90 日(永続)
PRT(プライマリ更新トークン)Entra 参加済みデバイスで SSO を実現14 日(継続利用で延長)


CAE [Continuous Access Evaluation](継続的アクセス評価)による即時反映

以前は「アクセス トークンが切れるまで最大 1 時間は設定が反映されない」のが通説でした。
しかし現在は、CAE 対応のリソース(Exchange, SharePoint, Teams 等)において、以下のイベントが発生した場合は即座にポリシーが再評価され、セッションが中断されます。

  • ユーザーの無効化・削除
  • パスワードの変更・リセット
  • ユーザーへの MFA 有効化
  • 管理者が「セッションの取り消し」を実行したとき
  • (設定している場合)信頼できない場所(IP)への移動

反映に時間がかかるケース

一方で、「グループメンバーシップの変更」や「CAE対象外のポリシー更新」などは、依然として既存のアクセス トークンが更新されるまで(最大 1 時間程度)反映されない場合があります。

KMSI: Keep Me Signed In

さらに、ブラウザで「サインインしたままにする」(KMSI)を選択したユーザーの場合、
ESTSAUTHPERSISTENT という永続 Cookie が発行されます。
既定では長期間(最大約90日)有効となり、ブラウザを閉じても残ります。
なお、「キャッシュのみを削除」した場合はこの Cookie は削除されません。
認証 Cookie はブラウザのキャッシュとは別領域に保存されています。

参考:Azure AD が発行するトークンの有効期間と考え方 (2023 年版)

管理者が取るべきアクション

シナリオ 1:ポリシーを変えたのに特定ユーザーに反映されない

原因:
ユーザーのクライアント(ブラウザやアプリ)が、まだ有効なアクセス トークンや更新トークン、セッション Cookie を保持している可能性があります。

解決策:
管理者側で「サインインの取り消し」を行い、古いトークンを強制的に無効化して再ログインを促す。

① Microsoft Entra 管理センターから(GUI 操作)

  1. Microsoft Entra 管理センター にサインイン
  2. [ID] > [ユーザー] > [すべてのユーザー] を開く
  3. 対象ユーザーを選択 > [サインアウト](または [サインインの取り消し])をクリック

注意点:
この操作で無効化されるのは「更新トークン」です。
CAE対象外のリソース(一部のサードパーティアプリ等)の場合、既に発行済みの「アクセス トークン」の期限(最大1時間)が切れるまではアクセスが継続する場合があります。

② PowerShell から(Microsoft Graph PowerShell)

複数ユーザーを一括処理したい場合や、自動化フローに組み込みたい場合は PowerShell が有効です。

参考:Microsoft Entra ID でユーザー アクセスを取り消す

シナリオ 2:「退職者のアクセスを今すぐ止めたい」

退職・異動が発生した場合、単にアカウントを無効化するだけでは、既存のアクセス トークンが生きている間はリソースへのアクセスが続く可能性があります。

アカウントを無効化すると多くの場合は、即時にアクセスは停止しますが、確実性を高めるために「サインインの取り消し」も実施することが推奨されます。

シナリオ 3:「管理されていないデバイスからのアクセスを制限したい」

個人デバイスや共有 PC で「サインイン状態を維持する」を選択されると、ブラウザを閉じてもセッションが残り続けます。

対策:
条件付きアクセスの「セッション」設定を活用します。

設定例:
「未管理デバイスからのアクセスの場合は、ブラウザ終了時にセッションを破棄する(非永続的ブラウザ セッション)」や「サインインの頻度を1時間に制限する」といった制御が可能です。


参考:適応型セッション有効期間ポリシーを構成する

セッションの有効期限を「ポリシー」でコントロールする

個別の強制サインアウトは応急処置です。

恒久的な対策には、条件付きアクセスの認証セッション管理を使います。

これは、
以前提供されていた「構成可能なトークン有効期間 (Configurable Token Lifetime)」に代わる、現在の推奨設定です。

設定できる主な項目は以下の 2 つです。

① サインイン頻度(Sign-in Frequency)

ユーザーに再認証を要求する最大間隔を指定します。
指定した時間が経過すると、トークン更新時に再認証が求められます。

設定方法:

  1. Microsoft Entra 管理センターにサインイン
  2. [保護] > [条件付きアクセス] > [ポリシー] から新規作成または既存ポリシーを選択
  3. [アクセス制御] > [セッション] > [サインインの頻度] を有効にし、時間または日数を設定
  4. (オプション)[サインインの頻度を毎回にする] を選択して、アクセスのたびに再認証を要求

実務的な設定値の例:

シナリオ推奨設定
機密性の高いアプリ(財務・人事系)1〜4 時間
一般的な業務アプリ(SharePoint、Teams)1 日〜7 日
管理されたデバイスからのアクセス組織のセキュリティポリシーに応じて
制限を緩和する設計も可能
非管理デバイス・共有 PC1 時間または「毎回」

② 永続的なブラウザ セッション(Persistent Browser Session)

ブラウザを閉じた後もセッション Cookie を保持するかどうかを制御します。

  • 永続的 → ブラウザを閉じても認証 Cookie を保持します
    (「サインインしたままにする」と同様の動作になりますが、管理者がポリシーで制御します)
  • 非永続的 → ブラウザを閉じると Cookie 削除(共有 PC に最適)

非管理デバイスや共有 PC 向けには「非永続的」に設定することで、ブラウザを閉じるとセッション Cookie が削除され、次回アクセス時に再認証が求められます。

参考:Entra ID 初学者向けシリーズ第 1 弾 – 条件付きアクセス 入門

参考:条件付きアクセスのアダプティブ セッションの有効期間ポリシー

参考:パブリック プレビュー: 条件付きアクセスにより機密性の高いアプリやリスクの高いアクションでユーザーに再認証を促す

さらに強力な武器:継続的アクセス評価(CAE)

従来の仕組みでは、発行済みのアクセス トークンが有効な間(通常約 1 時間)は、ポリシー変更が即時に反映されない場合がありました。
この問題を解決するのが 継続的アクセス評価(Continuous Access Evaluation / CAE) です。

CAE に対応した主要な Microsoft 365 サービス(例:Exchange Online、SharePoint Online など)では、以下のイベントが発生したときにほぼリアルタイムでアクセス トークンが無効化されます。

  • ユーザーアカウントの無効化・削除
  • パスワードの変更
  • 管理者によるセッション取り消し
  • IP アドレスの変更やデバイス準拠状態の変化など、条件付きアクセスに関連する重要なセキュリティイベント

CAE 対応トークンは、従来より長い有効期間(最大 24 時間)を持ちながら、重要なセキュリティイベントが発生した場合にはほぼリアルタイムで失効します。

よくある「なぜ?」Q&A

Q: 管理センターで「サインインの取り消し」をしたのに、まだアクセスできているのはなぜ?

A: 既に発行済みのアクセス トークンは、短時間(通常約 1 時間)有効な場合があるためです。
CAE(継続的アクセス評価)対応サービスでは多くの場合ほぼリアルタイムで失効しますが、非対応サービスではトークンが自然に期限切れになるまで一定時間アクセスできることがあります。

Q: ユーザーにブラウザの Cookie を消してもらっても解決しないのはなぜ?

A: 「ブラウザのキャッシュ削除」で消えるのは一般的なページキャッシュです。
認証 Cookie(例:ESTSAUTH、ESTSAUTHPERSISTENT など)を削除するには、「Cookie とサイトデータ」を削除する必要があります。
「キャッシュのみ削除」では認証状態は解除されません。

ただし、根本的な解決には管理者側からのセッション取り消しが確実です。

Q: 条件付きアクセスのサインイン頻度を設定したのに反映されない

A: 既に発行済みのアクセス トークンや更新トークンが有効な間は、古い認証状態が継続することがあります。

参考:安全なリモート アクセスを実現するための条件付きアクセスに関するよくある質問

まとめ

ユーザーから「設定が反映されない」という連絡が来たときの対処フローをまとめます。

即時対応(応急処置)

  • Microsoft Entra 管理センターから対象ユーザーの「サインインの取り消し」を実行

中長期対応(恒久対策)

  • 条件付きアクセスで サインイン頻度 を適切に設定(非管理デバイスは短めに)
  • 共有 PC・非管理デバイス向けに 非永続的なブラウザ セッション を強制
  • CAE(継続的アクセス評価)対応サービスを前提に設計する

セッション制御を正しく理解し適切に設定することで、ユーザーの「困った」に、スマートに応えることができればいいですね!

免責事項:Microsoft 365の機能や仕様は変更される可能性がありますので、実施前には最新の公式ドキュメントをご確認ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人