Microsoft EntraでZero Trustを安全に段階導入する方法|report-onlyと緊急アクセス設定

Microsoft EntraでZero Trustを導入する際は、最初から「全ユーザー・全リソース・ブロック」を有効化してはいけません。安全な進め方は、アクセス経路の棚卸し、緊急アクセスアカウントの準備、Conditional Accessのreport-only検証、限定グループへの適用、Global Secure Accessの段階展開という順番です。

特に重要なのは、user riskとsign-in riskを一つのポリシーにまとめず、目的と修復方法が異なる別ポリシーとして管理することです。Microsoftも、report-only、緊急アクセスアカウントの除外、段階的な展開によって、ロックアウトや業務停止のリスクを抑える方法を案内しています。(TECHCOMMUNITY.MICROSOFT.COM)

目次

Entra Zero Trustを安全に導入する基本方針

Microsoft EntraにおけるZero Trustは、Conditional Accessだけを有効にすれば完成するものではありません。

Conditional Accessは、ユーザー、デバイス、場所、リスク、対象リソースなどの情報を基に、アクセスを許可するか、追加認証を求めるか、ブロックするかを判断するポリシーエンジンです。一方、Global Secure Accessは、Microsoft Entra Private AccessとMicrosoft Entra Internet Accessを通じて、オンプレミス、クラウド、SaaS、AIサービス、インターネットへの通信経路にもID中心の制御を広げます。(Microsoft Learn)

役割を整理すると、次のようになります。

機能主な役割主な対象
Conditional Accessアクセス可否と要求条件を判断するユーザー、管理者、クラウドアプリ、Private Accessアプリ
Microsoft Entra ID Protectionuser risk、sign-in riskを検出する侵害が疑われるIDやサインイン
Microsoft Entra Private Accessプライベート通信を取得して制御するオンプレミス、IaaS、RDP、SSH、SMB、社内Webアプリ
Microsoft Entra Internet Accessインターネット通信を取得して制御するSaaS、生成AI、一般Webサイト、インターネット接続
Global Secure Access Client端末から対象通信を転送するWindows端末など
Private Network ConnectorPrivate Accessと内部リソースを接続するオンプレミスやプライベートクラウド

安全な導入では、これらを一度に全社展開しません。まずConditional Accessで現在のアクセス状況を観測し、その後、Private Access、Internet Accessの順に対象を広げます。

最初にアクセス面を棚卸しする

ポリシーを作る前に、「誰が、どの端末から、どの経路で、何にアクセスしているか」を一覧化します。

Microsoft 365やAzureポータルだけを調べても不十分です。次のようなアクセスも対象に含めてください。

  • SaaSや生成AIサービス
  • オンプレミスの業務システム
  • RDP、SSH、SMBなどの非Web通信
  • Azureや他社クラウド上のプライベートリソース
  • PowerShell、Azure CLI、自動化スクリプト
  • POP、IMAP、SMTPなどを利用する古いシステム
  • ゲスト、委託先、外部パートナーによるアクセス
  • サービスアカウント、サービスプリンシパル、マネージドID
  • VPN、DirectAccess、プロキシ、拠点ルーターを通る通信

棚卸し表には、少なくとも次の項目を記録します。

項目記録する内容
利用者ユーザー、部署、管理者ロール、外部ユーザー
対象リソースアプリ名、FQDN、IPアドレス、ポート、プロトコル
認証方式パスワード、MFA、証明書、Kerberos、サービスプリンシパル
端末条件Entra参加、ハイブリッド参加、Intune準拠、BYOD
現在の経路直接接続、VPN、プロキシ、拠点ネットワーク
将来の経路Conditional Access、Private Access、Internet Access
障害時の影響全社停止、部署停止、個人のみ、影響軽微
代替経路既存VPN、管理用端末、緊急アクセスアカウント
管理責任者アプリ担当、ネットワーク担当、ID管理担当
例外期限一時除外の終了日と見直し日

ここで重要なのは、アプリ名だけではなく、実際に呼び出されるリソースまで確認することです。たとえば、ユーザーはTeamsにサインインしているつもりでも、裏側ではExchange OnlineやSharePoint Onlineなど複数のリソースが利用されます。

Conditional AccessのWhat Ifツールは特定条件をシミュレーションできますが、サービス間の依存関係までは判定しません。Microsoftも、TeamsのシミュレーションではExchange Onlineなどの依存リソースが考慮されない例を示しています。最終判断には、実際のサインインログが必要です。(Microsoft Learn)

緊急アクセスアカウントを先に準備する

Conditional Accessを作成する前に、緊急アクセスアカウントを用意します。通常の管理者アカウントがポリシー設定ミスや認証基盤障害で利用できなくなった場合に、テナントへ復旧アクセスするためのアカウントです。

Microsoftの現行ガイダンスでは、次の構成が推奨されています。(Microsoft Learn)

  1. 緊急アクセスアカウントを少なくとも2つ作成する
  2. オンプレミスADや外部IdPに依存しないクラウド専用アカウントにする
  3. .onmicrosoft.comドメインを使用する
  4. 通常の管理者とは異なる認証方法を登録する
  5. FIDO2セキュリティキーや証明書ベース認証など、フィッシング耐性のある方式を使用する
  6. Global Administratorを永続的に有効な状態で割り当てる
  7. 専用の安全な管理端末からのみ使用する
  8. すべての利用を監視し、サインイン時に通知する
  9. 少なくとも90日ごとにサインインと管理操作をテストする

緊急アクセス用グループを作る

個別のアカウントを各ポリシーから除外するのではなく、たとえば次のような専用セキュリティグループを作成します。

SG-EmergencyAccess

作成するConditional Accessポリシーでは、原則としてこのグループを除外します。将来、緊急アカウントを変更した場合も、グループメンバーを更新するだけで済みます。

report-onlyでも最初から除外を設定する

Microsoft Learnでは、report-onlyポリシーはアクセスをブロックしないため、この段階では緊急アクセスアカウントの除外は必須ではないと説明されています。一方、ブロックや制限を実際に強制するポリシーからは除外が必要です。(Microsoft Learn)

実務では、report-onlyで作成する段階から緊急アクセスグループを除外しておくことを推奨します。検証後にポリシーをOnへ変更した際、除外設定を追加し忘れる事故を防げるためです。

ただし、除外するのはアクセス制御だけです。緊急アクセスアカウントのサインインログや監査ログは必ず監視し、使用された時点で管理者へ通知してください。

Conditional Accessはreport-onlyから始める

report-onlyは、Conditional Accessポリシーの条件を実際のサインインに対して評価しながら、MFA要求、ブロック、セッション制御などを強制しないモードです。

判定結果は、サインインログのConditional AccessおよびReport-onlyの項目に記録されます。(Microsoft Learn)

report-onlyの結果を正しく読む

結果意味確認すべきこと
Report-only: Success必要な条件をすでに満たしている既存のMFAクレームや準拠状態で満たしていないか
Report-only: Failure条件に該当し、非対話型要件を満たせないブロック対象、非準拠端末、未対応クライアントを確認
Report-only: User action requiredMFAなどの利用者操作が必要になるMFA登録状況、認証方法、利用者への周知を確認
Report-only: Not appliedポリシーの条件に該当しない除外、対象アプリ、場所、端末条件が正しいか確認

「User action required」は、ポリシー設定に失敗したという意味ではありません。report-onlyではMFA画面を表示しないため、実際に強制した場合にユーザー操作が必要になるサインインを示します。

反対に、Successが多いから安全とも限りません。既存トークンにMFA情報が含まれていたため、追加操作なしで成功している可能性があります。新しい端末、セッション切れ、異なるネットワークなどでも検証する必要があります。

report-onlyポリシーの作成手順

基本的な手順は次のとおりです。

  1. Microsoft Entra管理センターへサインインする
  2. Entra IDからConditional Accessを開く
  3. Policiesから新しいポリシーを作成する
  4. 目的が分かるポリシー名を付ける
  5. 対象ユーザーまたはパイロットグループを指定する
  6. 緊急アクセスグループを除外する
  7. 対象リソースを選択する
  8. リスク、端末、場所、クライアントなどの条件を指定する
  9. MFA、認証強度、準拠端末、ブロックなどの制御を指定する
  10. Enable policyReport-onlyにする
  11. 設定内容を再確認して作成する

ポリシー名には、対象、目的、状態が分かる規則を設けると管理しやすくなります。

ポリシー名の例用途
CA-OBS-RISK-SIGNIN-MEDHIGHsign-in riskの全体観測
CA-OBS-RISK-USER-HIGHuser riskの全体観測
CA-ENF-PILOT-MFA-ALLRESOURCESパイロットユーザーへのMFA強制
CA-ENF-GSA-PRIVATE-FINANCE財務部門のPrivate Access制御
CA-BLOCK-LEGACYAUTHレガシ認証のブロック

既存のOnポリシーをreport-onlyへ戻さない

既存ポリシーの変更を検証する場合、現在Onになっているポリシーをreport-onlyへ変更してはいけません。変更した時点で、既存の強制が停止するためです。

安全な方法は、現在のポリシーを複製し、変更案を反映したコピーをreport-onlyで作成することです。現在のOnポリシーとreport-onlyのコピーを比較し、結果を確認した後で本番ポリシーを変更します。(Microsoft Learn)

複数ポリシーは上書きではなく合算される

Conditional Accessには、ファイアウォールルールのような上から順番に評価する優先順位はありません。1回のサインインに複数ポリシーが適用される場合、適用対象となったすべてのポリシーを満たす必要があります。

たとえば、あるポリシーがMFAを要求し、別のポリシーが準拠端末を要求している場合、MFAと準拠端末の両方が必要です。別のポリシーでアクセスが許可されていても、どれか一つがブロックすればアクセスできません。(Microsoft Learn)

パイロットポリシーだけを見るのではなく、既存ポリシーとの組み合わせを確認してください。

user riskとsign-in riskは別ポリシーにする

user riskとsign-in riskは似ていますが、検出対象と必要な対応が異なります。

  • user riskは、ユーザーID自体が侵害されている可能性を表します
  • sign-in riskは、特定の認証要求が本人によるものではない可能性を表します

Microsoft Entra ID Protectionでは、この二つのリスクを別々にConditional Accessへ渡します。(Microsoft Learn)

項目user risksign-in risk
判定対象ユーザーIDやアカウント個別のサインイン要求
代表的な意味資格情報漏えいや継続的な侵害の疑い今回のアクセスが本人ではない疑い
Microsoftの基本例HighMedium、High
主な制御Require risk remediationMFAの認証強度を要求
主な結果認証方式に応じたアカウント修復強い認証で今回のサインインを確認
必要ライセンスMicrosoft Entra ID P2Microsoft Entra ID P2

現行のMicrosoftガイダンスでは、user riskはHigh、sign-in riskはMediumとHighを対象とする構成例が示されています。ただし、実際のリスクレベルは組織の許容度やサポート体制に合わせて決定します。(Microsoft Learn)

sign-in riskポリシーの構成例

設定項目設定例
UsersAll users
ExcludeSG-EmergencyAccess
Target resourcesAll resources
Sign-in riskMedium、High
GrantGrant access
Authentication strengthMultifactor authentication
Sign-in frequencyEvery time
Enable policyReport-only

sign-in riskポリシーを本番化する前に、対象ユーザーがMFAを登録済みか確認してください。リスクがあるセッションではMFA登録が許可されないため、未登録ユーザーはサインインを完了できず、AADSTS53004が表示される場合があります。(Microsoft Learn)

したがって、先に認証方法登録キャンペーンや通常のMFAポリシーを展開し、MFA登録率を確認してからsign-in riskを強制する必要があります。

user riskポリシーの構成例

設定項目設定例
UsersAll users
ExcludeSG-EmergencyAccess
Target resourcesAll resources
User riskHigh
GrantGrant access
ControlRequire risk remediation
Sign-in frequencyEvery time
Enable policyReport-only

Require risk remediationでは、ユーザーの認証方式や検出された脅威に応じた修復が行われます。パスワードを利用するユーザーでは、MFAによる本人確認後に安全なパスワード変更を行う流れが中心です。

ハイブリッドID環境では、オンプレミス側のパスワード変更をuser riskの修復として扱うために、パスワードハッシュ同期などの構成確認が必要です。MFA未登録ユーザーも自己修復できないため、先に認証方法の準備状況を確認してください。(Microsoft Learn)

リスクポリシーを分ける理由

二つのリスクを別ポリシーにすると、次の利点があります。

  • サインイン単位の異常とアカウント単位の侵害を区別できる
  • MFA要求とアカウント修復の影響を別々に測定できる
  • 誤検知時に片方だけを調整できる
  • サインインログで適用理由を追いやすい
  • パイロット展開やロールバックを個別に行える
  • ヘルプデスクへの問い合わせ原因を特定しやすい

一つの巨大なポリシーへ条件を詰め込むより、小数の目的別ポリシーとして管理した方が、障害時の原因切り分けが容易です。

旧ID Protectionリスクポリシーは移行する

2026年9月3日時点のMicrosoft Learnでは、Microsoft Entra ID Protectionで設定する旧形式のuser risk、sign-in riskポリシーは、2026年10月1日に廃止予定と案内されています。

旧ポリシーを利用しているテナントでは、次の順序で移行します。

  1. 同等のConditional Accessポリシーをreport-onlyで作成する
  2. サインインログで影響を確認する
  3. パイロットグループでConditional Access側をOnにする
  4. 問題がないことを確認する
  5. 対象を段階的に拡大する
  6. 旧ID Protectionポリシーを無効化する

新旧ポリシーを同時に強制すると、想定外の重複制御が起きる可能性があります。切り替え順序と変更記録を明確にしてください。(Microsoft Learn)

report-onlyの評価方法

report-onlyを作成した後は、単に数日放置するのではなく、複数の方法で結果を確認します。

サインインログ

個別のサインインについて、次の項目を確認します。

  • 適用されたポリシー
  • 適用されなかったポリシーと理由
  • 対象リソース
  • クライアントアプリ
  • 端末情報
  • ネットワークや場所
  • user risk、sign-in risk
  • MFAの実行状況
  • Report-onlyの判定結果
  • 相関IDとエラーコード

管理者、一般ユーザー、モバイル利用者、社外利用者、サービスアカウントなど、利用形態の異なるユーザーを抽出して確認します。

Conditional Access Insights and Reporting

Conditional Access Insights and Reportingワークブックを利用すると、report-onlyとOnのポリシーを期間、ユーザー、アプリ、端末、場所、sign-in riskなどで比較できます。

利用には、Conditional Access用のMicrosoft Entra ID P1以上に加え、サインインログを送信するLog Analyticsワークスペースが必要です。(Microsoft Learn)

特に確認したいのは、次の数値です。

  • 想定外のFailure
  • User action requiredとなるユーザー数
  • MFA未登録ユーザー
  • 非準拠端末からのアクセス
  • レガシクライアントの利用
  • 管理者アカウントへの影響
  • 部署やアプリごとの偏り

What Ifツール

What Ifツールでは、ユーザー、対象アプリ、端末プラットフォーム、クライアント、場所、リスクなどを指定して、適用されるポリシーをシミュレーションできます。

ただし、What Ifだけで本番化を判断してはいけません。サービス依存関係や実際の通信経路が再現されないためです。What Ifは例外的な条件を確認する補助ツール、サインインログは実際の利用状況を確認する主な証拠として使い分けます。(Microsoft Learn)

次の段階へ進む判断基準

少なくとも次の条件を満たしてから、パイロットでOnにします。

確認項目判断基準
緊急アクセス2アカウントともサインインと管理操作を確認済み
MFAパイロット対象者が利用可能な認証方法を登録済み
管理者管理ポータル、PowerShell、CLIへの影響を確認済み
アプリ主要なクラウドアプリと依存リソースを確認済み
端末Windows、macOS、iOS、Androidなど利用端末を確認済み
自動処理バッチ、スクリプト、サービスアカウントへの影響を確認済み
サポート問い合わせ窓口と復旧手順を準備済み
ロールバックポリシー無効化とグループ除外の担当者を決定済み

検証期間は一律の日数ではなく、通常業務のサイクルを一巡できる長さにします。月末処理や給与処理など、特定時期にしか使われないシステムがある場合は、その業務まで確認してから全社展開します。

report-only特有の注意点

report-onlyでは制御が強制されませんが、完全にユーザーへ影響しないとは限りません。

Microsoftは、準拠端末を要求するreport-onlyポリシーにより、macOS、iOS、Androidで端末証明書の選択を求められる場合があると案内しています。端末準拠の強制は行われなくても、証明書選択画面が繰り返し表示される可能性があります。(Microsoft Learn)

モバイルやmacOSの利用者が多い場合は、次のいずれかで検証します。

  • 最初はWindowsのみを対象にする
  • 端末プラットフォームごとにreport-onlyポリシーを分ける
  • 小規模な端末検証グループを作る
  • 証明書プロンプトが発生しないか実機で確認する

「report-onlyだから利用者影響はゼロ」と決めつけないことが重要です。

パイロット展開では観測用と強制用を分ける

全ユーザーを対象としたreport-onlyポリシーを、そのままOnへ変更するのは避けます。

次の二層構成にすると安全です。

  1. 全ユーザーを対象にした観測用ポリシーをreport-onlyで維持する
  2. パイロットグループだけを対象にした強制用ポリシーを別に作成する

たとえば、次のように分けます。

ポリシー対象状態
CA-OBS-RISK-SIGNIN-MEDHIGH全ユーザーReport-only
CA-ENF-RISK-SIGNIN-PILOTパイロットグループOn
CA-OBS-RISK-USER-HIGH全ユーザーReport-only
CA-ENF-RISK-USER-PILOTパイロットグループOn

パイロットには、IT部門だけでなく、次のような利用者を含めます。

  • 一般的な事務ユーザー
  • 管理者
  • モバイル利用者
  • 在宅勤務者
  • 拠点勤務者
  • macOS利用者
  • 社内業務アプリの利用者
  • PowerShellやCLIを利用する担当者

IT担当者だけで検証すると、一般ユーザー固有の端末、認証、アプリ依存関係を見逃しやすくなります。

Microsoft Entra Private Accessを段階展開する

Conditional Accessの基礎が安定したら、Microsoft Entra Private AccessでオンプレミスやプライベートクラウドへのZero Trustを進めます。

Private Accessは、VPNのようにネットワーク全体へ接続させるのではなく、FQDN、IPアドレス、ポートなどで定義したプライベートリソースへのアクセスを制御できます。(Microsoft Learn)

Private Network Connectorを冗長化する

Private Accessでは、内部リソースへ到達できるネットワーク上にPrivate Network Connectorを配置します。

本番環境では、一つのコネクタグループに少なくとも2台のコネクタを配置します。同一グループ内のコネクタは、高可用性と負荷分散の単位として動作します。(Microsoft Learn)

可能であれば、次の点も分散します。

  • 別々のWindows Server
  • 異なる仮想化ホスト
  • 異なる障害ドメイン
  • 異なるインターネット出口
  • アプリに近いネットワーク配置

コネクタが正常でも、DNS解決や内部ルーティング、ファイアウォールポートが不足していると接続できません。対象アプリごとに、FQDN、IP、TCPまたはUDPポート、名前解決経路を確認します。

Private Accessの推奨展開順序

Microsoftは、Quick Accessからアプリ単位のセグメント化へ進む段階的な考え方を示しています。(Microsoft Learn)

段階実施内容
接続準備コネクタ、DNS、対象リソースを構成する
小規模検証影響の小さいアプリをパイロット公開する
VPN移行必要に応じてQuick Accessで既存VPN相当の範囲を提供する
利用状況の発見Application Discoveryで実際の通信を分析する
アプリ単位の分割重要アプリを個別のエンタープライズアプリとして登録する
最小権限化必要なユーザーとグループだけを割り当てる
Conditional Access適用MFA、認証強度、準拠端末などを要求する
VPN縮小検証済みの対象からVPN経路を廃止する

Quick AccessはVPNから移行しやすい反面、広いIP範囲やワイルドカードFQDNを設定すると、従来のVPNに近い広範な接続になります。

そのため、Quick Accessを最終形とせず、一時的な移行手段として扱います。利用状況を確認した後、重要システムからper-app accessへ分割し、ユーザーごとの最小権限へ移行します。

クライアントを先に配布し、通信転送は後から割り当てる

Global Secure Access Clientを配布した直後から、全ユーザーのPrivate Access通信を転送する構成は避けます。

安全な順序は次のとおりです。

  1. パイロット端末へクライアントを配布する
  2. まだPrivate Accessプロファイルを割り当てない
  3. クライアントの正常性とサインイン状態を確認する
  4. Private Accessをパイロットグループだけに割り当てる
  5. 対象アプリ、DNS、Kerberos、RDP、SSHなどを確認する
  6. 問題があればプロファイル割り当てを解除する
  7. 部署単位で対象を拡大する

Traffic forwarding profileは、ユーザーやグループ単位で割り当てられます。Microsoft Learnでは、プロファイルが過去に有効化されている場合と、新しく有効化する場合で初期の割当状態が異なることが示されています。切り替える前に、必ずUser and group assignmentsの実際の表示を確認してください。(Microsoft Learn)

既存VPNはすぐに廃止しない

Private Accessのパイロット中は、復旧経路として既存VPNを維持します。

次の項目を確認してから、対象システムごとにVPNを縮小します。

  • 通常時の接続
  • 多要素認証
  • パスワード変更後の接続
  • 端末再起動後の接続
  • 社外ネットワークからの接続
  • DNSサフィックスと名前解決
  • Kerberos SSO
  • RDP、SSH、SMBなどの非Web通信
  • コネクタ1台停止時のフェイルオーバー
  • Conditional Accessで拒否された場合の表示
  • 障害時のロールバック

DirectAccessを利用している端末では、Private AccessとのトンネルやNRPTルールの競合が文書化されています。同一端末での共存を前提とせず、パイロット端末からDirectAccessを削除した後にPrivate Accessを有効化します。(Microsoft Learn)

Microsoft Entra Internet Accessを段階展開する

Private Accessが社内リソースへのアクセスを対象とするのに対し、Microsoft Entra Internet Accessは、SaaS、生成AI、一般Webサイトなどのインターネット通信を対象にします。

Internet Accessプロファイルを割り当てると、対象端末のインターネット通信がGlobal Secure Access ClientからMicrosoftのSecurity Service Edgeへ転送され、設定したセキュリティポリシーが適用されます。(Microsoft Learn)

Internet Accessの展開手順

  1. 利用するライセンスと管理ロールを確認する
  2. パイロットグループを作成する
  3. Global Secure Access Clientをパイロット端末へ配布する
  4. Internet Accessプロファイルの割当対象を確認する
  5. Webコンテンツフィルタリングポリシーを作成する
  6. セキュリティプロファイルを作成する
  7. セキュリティプロファイルをConditional Accessへ関連付ける
  8. Internet Accessプロファイルをパイロットグループへ割り当てる
  9. ブラウザー、Office、業務アプリ、更新処理などを検証する
  10. 部署単位で対象を拡大する

Webコンテンツフィルタリングでは、通信転送、フィルターポリシー、セキュリティプロファイル、Conditional Access、ユーザー割り当てを組み合わせて構成します。(Microsoft Learn)

AIサービスは利用目的ごとに分ける

生成AIを一律に許可または禁止するだけでは、業務利用の実態に合わないことがあります。

棚卸しでは、少なくとも次の分類を行います。

分類主な判断
承認済みAI会社契約済みの生成AI認証、データ保護、利用部署を確認
未承認AI個人契約や未審査サービスアップロード制限やブロックを検討
AI搭載SaaSOfficeアドイン、開発ツール通常のWeb以外の通信経路も確認
API利用アプリやスクリプトからのAI APIユーザー通信とワークロード通信を分離
外部MCPなど外部ツールや連携サーバー接続先、権限、データ送信範囲を確認

ブラウザーからのアクセスだけを検証しても、Officeアドイン、デスクトップアプリ、API、バックグラウンド通信を見落とす可能性があります。端末やアプリごとの通信ログを確認し、許可経路を明確にします。

TLS検査で動かなくなるアプリを確認する

Internet AccessでTLS検査を利用する場合、証明書ピンニングを使用するアプリや、独自の証明書検証を行うクライアントが正常に通信できなくなることがあります。

パイロットでは、次の処理を確認してください。

  • OSやアプリの更新
  • 銀行、決済、電子申請などの業務サイト
  • 開発ツールのパッケージ取得
  • バックアップソフト
  • セキュリティ製品の更新
  • VPNやリモートサポートツール
  • モバイルアプリ
  • APIクライアント
  • 証明書ピンニングを使用するSaaS

障害が発生した場合は、単にInternet Access全体を無効化するのではなく、対象通信の仕様を確認し、必要なバイパスを限定的に設定します。Microsoftの運用ガイダンスでも、TLS検査の失敗増加時には証明書ピンニングの変更やバイパス一覧を確認するよう案内されています。(Microsoft Learn)

report-onlyと通信転送のパイロットは別物

Zero Trust導入で見落としやすいのが、Conditional Accessのreport-onlyと、Global Secure Accessのtraffic forwarding profileは別の制御だという点です。

report-onlyにすれば、Conditional AccessによるMFA要求やブロックは強制されません。しかし、Private AccessやInternet Accessのプロファイルをユーザーへ割り当てると、通信経路そのものは変更されます。(Microsoft Learn)

つまり、次のような障害はreport-onlyでは防げません。

  • DNSを解決できない
  • コネクタから内部アプリへ到達できない
  • 通信ポートが不足している
  • 他のVPNやSSEクライアントと競合する
  • TLS検査でアプリが失敗する
  • 誤ったFQDNやIP範囲が取得される
  • インターネット通信の遅延が増える

そのため、安全対策は二重に行います。

  • Conditional Accessはreport-onlyで検証する
  • Traffic forwarding profileはパイロットグループだけに割り当てる

どちらか一方だけでは、ロックアウトや通信障害を十分に防げません。

サービスアカウントを安易に除外しない

Conditional Accessの計画では、サービスアカウントや自動処理を必ず確認します。

ユーザーとしてサインインする古いサービスアカウントは、MFAを実行できないため、Conditional Accessの強制で停止する可能性があります。一方、サービスプリンシパルの呼び出しは、通常のユーザー対象Conditional Accessでは制御されません。

Microsoftは、スクリプトやコードでユーザー型サービスアカウントを使用している場合、可能なものはマネージドIDへ置き換え、サービスプリンシパルにはworkload identities向けConditional Accessを利用するよう案内しています。(Microsoft Learn)

一時的に除外する場合は、次の情報を残します。

  • 除外理由
  • システム所有者
  • 利用している認証方式
  • 移行先の認証方式
  • 移行期限
  • 除外の再確認日
  • 障害時の連絡先

「止まると困るから永久除外」ではなく、例外を技術的負債として管理することが重要です。

必要なライセンスを確認する

主なライセンス要件は次のとおりです。契約形態や機能提供条件は変更される可能性があるため、導入時点のMicrosoft製品条項と管理センターの表示も確認してください。(Microsoft Learn)

機能主なライセンス要件
基本的なConditional AccessMicrosoft Entra ID P1またはP2
user risk、sign-in riskMicrosoft Entra ID P2
Conditional Access InsightsワークブックEntra ID P1以上、Log Analyticsワークスペース
Microsoft Entra Private AccessEntra Suiteまたは単体ライセンスに加え、Entra ID P1またはP2
Microsoft Entra Internet AccessEntra Suiteまたは単体ライセンスに加え、Entra ID P1またはP2
Internet Access for Microsoft servicesEntra ID P1またはP2に含まれる範囲あり
端末準拠条件対象ユーザーのIntuneライセンスなど
Workload identities向けConditional AccessMicrosoft Entra Workload ID Premium

ライセンスの保有数だけでなく、ポリシー対象となるユーザー全員に必要なライセンスが割り当てられているか確認します。

アプリごとに確認すべき制約

Zero Trustポリシーを全社展開する前に、アプリごとの制約を確認します。

確認対象主な注意点
MFA未登録ユーザーリスクのあるセッションではMFA登録できない場合がある
ハイブリッドユーザーuser risk修復にパスワードハッシュ同期などが必要
レガシ認証MFAや最新のConditional Access制御に対応しない
Teamsなど複合サービスExchangeやSharePointなど依存リソースがある
RDP、SSH、SMBFQDN、IP、ポート、DNS、認証方式を確認する
Kerberosアプリドメインコントローラー、SPN、チケット取得経路を確認する
サービスプリンシパルユーザー向けポリシーではなくWorkload IDを検討する
ゲスト、委託先認証方法、端末管理、テナント切り替えを確認する
証明書ピンニングTLS検査で通信に失敗する可能性がある
VPN、DirectAccessルート、DNS、NRPT、トンネルの競合を確認する
BYOD準拠端末を要求できるか、代替制御が必要か確認する
モバイル端末report-onlyでも証明書プロンプトが出る場合がある

「Microsoft 365が使えたから問題ない」ではなく、対象アプリ、利用端末、認証方式、通信経路の組み合わせごとに検証します。

失敗しやすい設定と回避策

失敗例起きる問題回避策
全ユーザー・全リソース・BlockをすぐOnにする管理者を含めてロックアウトするreport-only、緊急アカウント除外、パイロット展開を行う
report-onlyの全体観測ポリシーをそのままOnにする一度に全社へ強制されるパイロット用の強制ポリシーを別作成する
既存のOnポリシーをreport-onlyへ変更する現在の保護が停止するコピーをreport-onlyで作成する
User action requiredを障害と判断するMFA対象者を誤って除外する実際に必要となるユーザー操作として評価する
What Ifだけで本番化するサービス依存関係を見逃す実際のサインインログとアプリテストを併用する
緊急アカウントを1つだけ作る資格情報や端末の故障時に復旧できない独立したアカウントを少なくとも2つ用意する
サービスアカウントを一括除外する恒久的な認証の弱点が残るマネージドIDやWorkload IDへ移行する
GSAプロファイルを全ユーザーへ割り当てるDNSや通信経路の不具合が全社へ波及するパイロットグループから割り当てる
Quick Accessを最終構成にする広すぎるネットワークアクセスが残るApplication Discovery後にper-appへ分割する
Private Access導入直後にVPNを廃止する障害時の代替経路がなくなるアプリ単位で検証後に縮小する
TLS検査を一括適用する証明書ピンニング対応アプリが停止する実機検証し、必要な通信だけを限定的に除外する

特に「All users」と「All resources」を組み合わせたブロックポリシーは慎重に扱います。Microsoftも、管理者のロックアウトにつながる可能性があるとして注意を促しています。(Microsoft Learn)

実務で使える段階導入ランブック

フェーズ実施内容次へ進む条件ロールバック
準備アクセス棚卸し、ライセンス確認、担当者決定対象と影響範囲が明確ポリシーを作成しない
復旧経路緊急アクセスアカウントを2つ作成サインインと管理操作に成功通常管理者設定を見直す
全体観測riskポリシーをreport-onlyで作成想定外のFailureを把握ポリシーをOffにする
パイロット強制限定グループにriskポリシーをOn問い合わせと失敗を解消パイロットポリシーをOffまたは割当解除
Private Access検証コネクタ、クライアント、限定アプリを展開DNS、認証、フェイルオーバー成功プロファイル割当解除、VPNへ戻す
Private Access拡大部署単位で対象を追加主要アプリをper-app化対象グループを前段階へ戻す
Internet Access検証Web、SaaS、AI通信をパイロット転送業務アプリとTLS検査を確認Internet Access割当解除
全社展開グループ単位で段階的に拡大監視とサポート体制が安定直前の展開グループを解除
旧経路縮小VPNや旧ポリシーを段階廃止代替経路が検証済み一時的に旧経路を再有効化

各変更では、実施者、承認者、開始時刻、対象グループ、変更前設定、ロールバック手順を記録します。障害が起きてから復旧方法を考えるのではなく、変更作業の一部として復旧手順を用意してください。

まとめ

Microsoft EntraでZero Trustをロックアウトせず導入するには、Conditional Accessの設定だけでなく、ID、端末、アプリ、ネットワーク経路を一つの変更計画として扱う必要があります。

最初に実施すべきことは、次の4点です。

  1. AI、SaaS、オンプレミス、インターネットを含むアクセス面を棚卸しする
  2. 独立した緊急アクセスアカウントを少なくとも2つ用意する
  3. user riskとsign-in riskを別ポリシーとしてreport-onlyで作成する
  4. 全体観測用とパイロット強制用のポリシーを分ける

Conditional Accessが安定した後は、Private Accessを限定アプリから展開し、続いてInternet AccessでSaaSやAI、Web通信へ制御を広げます。

ただし、report-onlyで防げるのはConditional Accessによる強制だけです。Global Secure Accessによる通信経路の変更は別途パイロットグループで検証し、VPNや既存経路を復旧手段として残したまま進めることが、安全な段階導入の要点です。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次