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クライアントで、次の順に確認します。
- Global Secure Accessクライアントのアイコンを開く
- 「Troubleshooting」を開く
- 「Advanced Diagnostics」の「Run tool」を実行する
- Advanced Diagnosticsで「Forwarding Profile」を開く
- 「Rules」にInternet Accessルールが表示されていることを確認する
Internet Access traffic forwarding profileを有効にした直後は、クライアントへの反映に最大15分程度かかる場合があります。
最後に、対象端末から制御対象のMCPサーバーへ接続できることも確認します。接続自体が成立していない状態では、ポリシーによるBlockとネットワーク障害を区別できません。([Microsoft Learn][1])
特定ツールだけを禁止するMCPポリシーの考え方
一部ツールだけを禁止し、それ以外を利用可能にする場合は、基本的に次の構成にします。
| 設定項目 | 設定例 |
|---|---|
| Default action | Allow |
| 対象サーバー | 制御対象のMCPサーバーURL |
| 対象プリミティブ | Tool |
| Tool name | 禁止するツール名 |
| ルールのAction | Block |
たとえば、あるMCPサーバーが次のツールを公開しているとします。
search_documentsread_documentdelete_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を選択し、次の手順でリンクします。
- 「Link policies」ビューへ切り替える
- 「Link a policy」を選択する
- 「Existing MCP policy」を選択する
- 作成したMCPポリシーを選ぶ
- PositionとStateを確認する
- 「Add」を選択する
MCPポリシー、Security profile、条件付きアクセスは別々の設定です。MCPポリシーだけを作ってテストを始めると、「設定したのに禁止されない」という状態になりやすいため注意してください。([Microsoft Learn][1])
条件付きアクセスでSecurity profileを適用する
Security profileをユーザーへ適用するには、条件付きアクセスポリシーを作成します。
Microsoft Entra管理センターで、次の場所を開きます。
Identity > Protection > Conditional Access
新しい条件付きアクセスポリシーを作成し、主に次の項目を設定します。
| 項目 | 設定内容 |
|---|---|
| Users | MCPポリシーを適用するユーザーまたはグループ |
| Target resources | All internet resources with Global Secure Access |
| Network、Conditions、Grant | 組織の要件に応じて設定 |
| Session | Use Global Secure Access Security Profile |
| Security profile | MCPポリシーをリンクしたプロファイル |
最初から全ユーザーへ適用するのではなく、検証用ユーザーまたは検証用グループで許可・禁止の結果を確認してから、適用対象を広げる方法が安全です。
条件付きアクセスで対象リソースやSecurity profileを指定しなければ、作成したMCPルールは意図したユーザーの通信に適用されません。([Microsoft Learn][1])
許可ツールと禁止ツールを実際に確認する
設定後は、Global Secure Accessクライアントが導入された管理端末で、対象のMCPクライアントまたはAIエージェントを使用して確認します。
特定ツールだけを禁止した場合は、少なくとも次の2種類を試してください。
- Blockルールに指定したツールを呼び出す
- 同じ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サーバーの一部ツールだけを禁止する場合は、次の順番で設定します。
- Internet Access traffic forwarding profileを有効にする
- 対象ユーザーを転送プロファイルへ割り当てる
- Entra参加済み端末へGlobal Secure Accessクライアントを導入する
- Forwarding ProfileでInternet Accessルールを確認する
- TLS検査を有効にする
- MCP policyのDefault actionをAllowにする
- サーバーURLとTool nameを条件にしたBlockルールを作る
- MCPポリシーをSecurity profileへリンクする
- 条件付きアクセスの対象をAll internet resources with Global Secure Accessにする
- Sessionで対象のGlobal Secure Access Security Profileを指定する
- 禁止ツールと許可ツールの両方を実行する
- 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”

コメント