Entra MCP firewallでMCPサーバーの一部ツールだけを禁止する方法

MCPサーバーで公開されているツールのうち、特定のツールだけを禁止したい場合は、Microsoft Entra Internet AccessのMCP firewallで、MCPサーバーのURLとツール名を条件にしたBlockルールを作成します。

ただし、MCP firewallが検査できるのは、Global Secure Accessを経由するリモートMCP通信のうち、streamable HTTPまたはServer-Sent Eventsで送受信されるJSON-RPC 2.0通信です。HTTPS通信の内容を解析するにはTLS検査も必要です。ローカルMCPサーバー、stdioなどの非HTTP通信、JSON-RPCのバッチ通信は対象になりません。([Microsoft Learn][1])

この記事では、特定ツールを禁止するために必要な通信経路、ライセンス、MCPポリシー、Security profile、条件付きアクセス、ログ確認までを順番に解説します。

目次

Entra MCP firewallで検査できる通信

Global Secure AccessのMCP firewallは、AIエージェントやMCPクライアントと、リモートMCPサーバーの間を流れる対応MCP通信を検査します。

検査できる通信と、現時点で対象外となる通信を整理すると、次のようになります。

通信・構成MCP firewallによる検査理由・注意点
streamable HTTPを使うリモートMCPサーバー対応JSON-RPC 2.0通信を検査可能
Server-Sent Eventsを使うリモートMCPサーバー対応対応するHTTPベースのトランスポート
HTTPSで暗号化されたMCP通信TLS検査が必要復号できなければMCPメッセージを解析できない
端末上で動作するローカルMCPサーバー対象外リモートネットワーク通信としてGlobal Secure Accessを通過しない
stdioを使うMCP通信対象外HTTPベースの通信ではない
その他の非HTTPトランスポート対象外MCP firewallの対応範囲外
JSON-RPCバッチ対象外バッチ形式は検査されない

MCP firewallは、MCP通信全体を無条件に保護する機能ではありません。対応するリモートMCP通信がGlobal Secure Accessを通過し、必要なTLS検査が行われた場合に限り、内容に基づくAllowまたはBlock判定が可能です。([Microsoft Learn][1])

特定ツールを禁止するための前提条件

MCPポリシーを設定する前に、次の環境を準備します。

必要なもの用途
Microsoft EntraテナントGlobal Secure Accessを構成する基盤
Microsoft Entra Internet AccessライセンスInternet AccessとMCP firewallの利用
Global Secure Access管理者MCPポリシーやSecurity profileの設定
条件付きアクセス管理者条件付きアクセスポリシーの設定
Entra参加済みまたはハイブリッド参加済み端末Global Secure Accessクライアントの実行
Global Secure Accessクライアント端末のインターネット通信をGlobal Secure Accessへ転送
TLS検査暗号化されたMCPメッセージの解析

TLS検査が重要なのは、MCPメッセージがHTTPS通信の暗号化されたペイロード内に含まれるためです。Global Secure Accessが通信内容を復号できなければ、サーバーURLだけでなく、ツール名やMCPメソッドなどを解析してMCPポリシーを適用することもできません。([Microsoft Learn][1])

MCPポリシーを作る前に通信経路を確認する

MCPポリシーを作成しても、対象端末の通信がGlobal Secure Accessを経由していなければルールは適用されません。

最初に、Internet Accessの転送設定とクライアントの状態を確認します。

Internet Access転送プロファイルを有効にする

Microsoft Entra管理センターでInternet Access traffic forwarding profileを有効にし、MCP通信を制御したいユーザーを割り当てます。

対象ユーザーが割り当てられていない場合、そのユーザーの端末通信は想定した経路に転送されず、MCPポリシーの対象になりません。

TLS検査を設定する

続いて、MCP通信を復号できるようにTLS検査ポリシーを設定します。

単にGlobal Secure Accessクライアントを導入しただけでは、暗号化されたMCPメッセージの中身を解析できません。特定ツールをツール名で禁止するには、MCP通信がTLS検査の対象になっていることが必要です。

クライアント診断で転送ルールを確認する

対象端末のGlobal Secure Accessクライアントで、次の順に確認します。

  1. Global Secure Accessクライアントのアイコンを開く
  2. 「Troubleshooting」を開く
  3. 「Advanced Diagnostics」の「Run tool」を実行する
  4. Advanced Diagnosticsで「Forwarding Profile」を開く
  5. 「Rules」にInternet Accessルールが表示されていることを確認する

Internet Access traffic forwarding profileを有効にした直後は、クライアントへの反映に最大15分程度かかる場合があります。

最後に、対象端末から制御対象のMCPサーバーへ接続できることも確認します。接続自体が成立していない状態では、ポリシーによるBlockとネットワーク障害を区別できません。([Microsoft Learn][1])

特定ツールだけを禁止するMCPポリシーの考え方

一部ツールだけを禁止し、それ以外を利用可能にする場合は、基本的に次の構成にします。

設定項目設定例
Default actionAllow
対象サーバー制御対象のMCPサーバーURL
対象プリミティブTool
Tool name禁止するツール名
ルールのActionBlock

たとえば、あるMCPサーバーが次のツールを公開しているとします。

  • search_documents
  • read_document
  • delete_document

このうちdelete_documentだけを禁止したい場合は、Default actionをAllowにしたうえで、サーバーURLとdelete_documentを条件とするBlockルールを作成します。

この構成なら、条件に一致するdelete_documentの呼び出しを禁止しながら、同じサーバー上のsearch_documentsとread_documentは許可する設計にできます。Microsoft Learnでも、特定ツールをBlockし、同一サーバー上のその他のツールが動作することを確認する例が示されています。([Microsoft Learn][1])

MCPポリシーを作成する手順

Microsoft Entra管理センターへGlobal Secure Access管理者としてサインインし、次の場所を開きます。

Global Secure Access > Secure > MCP policies(Preview)

ポリシーの基本情報を設定する

「Create policy」を選択し、Basicsタブで次の項目を入力します。

  • ポリシー名
  • 説明

ポリシー名には、対象サーバーと制御内容が分かる名前を付けると管理しやすくなります。

例として、削除ツールを禁止する場合は、次のような名前が考えられます。

Block delete tool on document MCP server

Default actionを選択する

Policy settingsで、Default actionをAllowまたはBlockから選択します。

一部のツールだけを禁止する場合は、通常は次の組み合わせになります。

  • Default action:Allow
  • 個別ルール:Block

一方、承認済みのMCPサーバーだけを利用させたい場合は、次の構成が適しています。

  • Default action:Block
  • 承認済みサーバーのルール:Allow

Default actionを誤ると、意図していないツールまで使えなくなったり、未承認のMCPサーバーが許可されたりします。個別ルールを作る前に、「原則許可して例外を禁止するのか」「原則禁止して例外を許可するのか」を決めてください。

サーバーURLとツール名を条件に指定する

Add rulesでルールを追加し、ルール名、Priority、説明、Statusなどを設定します。

特定ツールを禁止する場合は、少なくとも次の条件を指定します。

  • MCPサーバーのURL
  • プリミティブの種類としてTool
  • 禁止するTool name
  • ActionとしてBlock

必要に応じて、MCPプロトコルバージョン、MCPメソッド、トランスポートプロトコル、Protected resource metadataなども条件として設定できます。([Microsoft Learn][1])

ツール名を登録する3つの方法

MCPポリシーには、検出済みの情報を利用する方法と、管理者が手動で登録する方法があります。

最近検出されたMCPサーバーから選ぶ

Generative AI Insightsに記録された最近のアクティビティから、MCPサーバーとツールを選択できます。

MCP policiesのルール作成画面で「View suggested MCP servers from recent activity」を開き、対象サーバーとツールを選択します。

事前に組織内で利用されているMCPサーバーを把握したい場合は、次の場所を確認します。

Global Secure Access > Monitor > Generative AI Insights

initializeレスポンスのイベントを確認すると、MCPサーバーから報告されたツールや機能を確認できます。

MCPサーバーへ接続してツールを検出する

既知のMCPサーバーURLを追加し、「Discover」を実行する方法もあります。

サーバーが公開しているツールが一覧表示されたら、禁止対象のツールを選択し、Tool nameの条件として使用します。

ツールを手動で登録する

MCPサーバーが認証を必要とする場合や、管理画面から直接到達できない場合は、プリミティブを手動で追加できます。

サーバーURLを追加して「Add Manually」を選び、次のいずれかを指定します。

  • Tool
  • Resource
  • Prompt

そのうえで、NameとDescriptionを入力します。

ツール名の入力を誤るとルールが一致しないため、可能な場合はGenerative AI Insightsやサーバーの検出結果と照合してください。([Microsoft Learn][1])

MCPポリシーをSecurity profileへリンクする

MCPポリシーを作成しただけでは、対象ユーザーへ強制適用されません。作成したポリシーをSecurity profileへリンクします。

Microsoft Entra管理センターで、次の場所を開きます。

Global Secure Access > Secure > Security profiles

対象のSecurity profileを選択し、次の手順でリンクします。

  1. 「Link policies」ビューへ切り替える
  2. 「Link a policy」を選択する
  3. 「Existing MCP policy」を選択する
  4. 作成したMCPポリシーを選ぶ
  5. PositionとStateを確認する
  6. 「Add」を選択する

MCPポリシー、Security profile、条件付きアクセスは別々の設定です。MCPポリシーだけを作ってテストを始めると、「設定したのに禁止されない」という状態になりやすいため注意してください。([Microsoft Learn][1])

条件付きアクセスでSecurity profileを適用する

Security profileをユーザーへ適用するには、条件付きアクセスポリシーを作成します。

Microsoft Entra管理センターで、次の場所を開きます。

Identity > Protection > Conditional Access

新しい条件付きアクセスポリシーを作成し、主に次の項目を設定します。

項目設定内容
UsersMCPポリシーを適用するユーザーまたはグループ
Target resourcesAll internet resources with Global Secure Access
Network、Conditions、Grant組織の要件に応じて設定
SessionUse Global Secure Access Security Profile
Security profileMCPポリシーをリンクしたプロファイル

最初から全ユーザーへ適用するのではなく、検証用ユーザーまたは検証用グループで許可・禁止の結果を確認してから、適用対象を広げる方法が安全です。

条件付きアクセスで対象リソースやSecurity profileを指定しなければ、作成したMCPルールは意図したユーザーの通信に適用されません。([Microsoft Learn][1])

許可ツールと禁止ツールを実際に確認する

設定後は、Global Secure Accessクライアントが導入された管理端末で、対象のMCPクライアントまたはAIエージェントを使用して確認します。

特定ツールだけを禁止した場合は、少なくとも次の2種類を試してください。

  1. Blockルールに指定したツールを呼び出す
  2. 同じMCPサーバー上にある、禁止していないツールを呼び出す

期待する結果は次のとおりです。

テスト内容期待する結果
禁止したツールを呼び出すBlockされる
同一サーバー上の許可ツールを呼び出す利用できる
対象外ユーザーから呼び出す適用設計に応じた結果になる
Global Secure Accessを経由しない通信MCPポリシーでは制御されない

製品固有のMCPクライアントは、接続方式や通信経路が異なる可能性があります。本記事では個別クライアントの実機動作までは断定せず、実際に利用するクライアントごとに許可・禁止の両方を確認することを前提とします。

Traffic logsとGenerative AI Insightsで結果を確認する

画面上でエラーが表示されたかどうかだけで判断せず、Global Secure Accessのログも確認します。

Traffic logsを確認する

ネットワークレベルのAllowまたはBlock結果は、次の場所で確認します。

Global Secure Access > Monitor > Traffic logs

Traffic logsの参照には、少なくともReports Reader相当の権限が必要です。

Generative AI Insightsを確認する

MCPセッション、ツール呼び出し、検出されたMCPサーバーは、次の場所で確認します。

Global Secure Access > Monitor > Generative AI Insights

Activityフィルターで「MCP」を選択すると、MCP関連のイベントに絞り込めます。Generative AI Insightsの参照には、少なくともSecurity Reader相当の権限が必要です。([Microsoft Learn][1])

ルールを作ったのに禁止されない場合の確認項目

MCPツールがBlockされない場合は、次の順番で確認すると原因を切り分けやすくなります。

確認項目主な問題
MCPサーバーはリモートかローカルMCPサーバーは検査対象外
トランスポートは対応しているかstdioや非HTTP通信は対象外
JSON-RPCバッチではないかバッチ通信は検査対象外
Internet Access転送プロファイルが有効か通信がGlobal Secure Accessを経由していない
ユーザーが転送対象に割り当てられているか対象ユーザーの通信が転送されない
Forwarding ProfileにInternet Accessルールがあるかクライアントへ設定が反映されていない
TLS検査が動作しているか暗号化されたMCPメッセージを解析できない
Server URLが実際の接続先と一致しているかルール条件に一致しない
Tool nameが正確かツール名条件に一致しない
MCPポリシーをSecurity profileへリンクしたかポリシーが適用経路に組み込まれていない
条件付きアクセスでプロファイルを指定したかユーザーへSecurity profileが適用されていない
Traffic logsに判定結果があるかBlockではなく経路や接続自体の問題の可能性

特に重要なのは、通信経路、TLS検査、MCPポリシー、Security profile、条件付きアクセスの5つを別々に確認することです。ツール名のルールだけを見直しても、通信がGlobal Secure Accessを通っていなければ解決しません。

プレビュー版の既知の制限

MCP firewallは、2026年8月6日更新のMicrosoft Learnではプレビュー機能として案内されています。正式提供までに、画面、仕様、設定手順が変更される可能性があります。([Microsoft Learn][1])

また、MCPサーバーのプリミティブとして特定のTools、Resources、Promptsを設定した場合、ルールを後から再表示しても、プリミティブの詳細が管理画面に表示されない既知の制限があります。

画面上にツール名が表示されないからといって、直ちに設定が消えたとは判断できません。設定内容を確認する必要がある場合は、Microsoft Graph APIを使用してルールの詳細を確認します。([Microsoft Learn][1])

特定ツールだけを禁止するときの設定まとめ

MCPサーバーの一部ツールだけを禁止する場合は、次の順番で設定します。

  1. Internet Access traffic forwarding profileを有効にする
  2. 対象ユーザーを転送プロファイルへ割り当てる
  3. Entra参加済み端末へGlobal Secure Accessクライアントを導入する
  4. Forwarding ProfileでInternet Accessルールを確認する
  5. TLS検査を有効にする
  6. MCP policyのDefault actionをAllowにする
  7. サーバーURLとTool nameを条件にしたBlockルールを作る
  8. MCPポリシーをSecurity profileへリンクする
  9. 条件付きアクセスの対象をAll internet resources with Global Secure Accessにする
  10. Sessionで対象のGlobal Secure Access Security Profileを指定する
  11. 禁止ツールと許可ツールの両方を実行する
  12. Traffic logsとGenerative AI Insightsで判定結果を確認する

最初に確認すべきなのは、MCPサーバーのツール一覧ではなく、その通信をGlobal Secure Accessが取得し、TLS検査によってMCPメッセージを解析できる構成になっているかです。

その前提を満たしたうえで、Default Allowと特定ツールのBlockルールを組み合わせれば、対応するリモートMCPサーバーについて、サーバー全体を停止せずに危険性の高いツールだけを制限できます。
[1]: https://learn.microsoft.com/en-us/entra/global-secure-access/how-to-configure-mcp-firewall “Configure Global Secure Access MCP firewall to secure Model Context Protocol traffic – Global Secure Access | Microsoft Learn”

この記事を書いた人

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

コメント

コメントする

目次