AI エージェントが外部のツール、API、データ ソースを利用して推論と動作を行うようになり、大規模言語モデル (LLM) とツール間の通信の標準インターフェイスとして モデル コンテキスト プロトコル (MCP ) が登場しました。 この変化により、新しいセキュリティ リスクも生じます。 MCP サーバーは、ファイル アクセス、データベース クエリ、ツールの実行などの強力な機能を公開します。これにより、セキュリティで守られていない場合に大きな攻撃対象領域が作成されます。 包括的な制御がないと、悪意のあるエージェントや正しく構成されていないエージェントは、機密データを流出させたり、意図しない副作用を引き起こしたり、信頼できるサービスを偽装したりする可能性があります。
グローバル セキュア アクセス MCP ファイアウォールは、ネットワーク ベースの ID 中心のセキュリティ制御であり、AI エージェントとリモート MCP サーバー間の MCP トラフィックに対する一元的な可視性、ポリシーの適用、およびランタイム保護を提供します。 これにより、グローバル セキュア アクセス セキュリティ サービス エッジ (SSE) 機能 (ID ベースのアクセス、条件付きアクセス、継続的アクセス評価) が MCP プロトコル 層に拡張されます。
グローバル セキュア アクセスでは、MCP プロトコルの仕様や MCP クライアント、ホスト、またはサーバーの実装を変更することなく、ツールの呼び出し、リソース アクセス、プロンプト テンプレート、サーバー メタデータなど、すべての MCP 対話に対してセキュリティ ポリシーを検査、監査、適用できるようになりました。これにより、グローバルに分散されたエッジで AI エージェントのモデルゼロ トラスト実現できます。
Note
MCP ファイアウォールは現在プレビュー段階です。 この情報は、リリース前に大幅に変更される可能性があるプレリリース製品に関連しています。 Microsoft は、ここに記載されている情報に関して、明示または黙示を問わず、一切の保証を行いません。 詳細については、Microsoft Entra プレビューの用語を参照してください。
この記事では、グローバル セキュア アクセスを通過する MCP トラフィックを検査および制御する MCP ポリシーを作成する方法について説明します。
サポートされているシナリオ
MCP ファイアウォールは、MCP トラフィック (ストリーミング可能な HTTP イベントと Server-Sent イベントを介して 2.0JSON-RPC) を検査し、さまざまな条件に基づいて 許可 または ブロック の決定を適用します。 次の主要なシナリオがサポートされています。
すべての MCP トラフィックをブロックします。 信頼された MCP サーバーを確認して承認するまで、テナント全体のすべての MCP 通信を無効にします。
MCP サーバーを許可またはブロックします。 サーバー URL パターンに基づいて、MCP サーバーの許可リストまたは拒否リストを作成します。
MCP プリミティブを許可またはブロックします。 ツール、リソース、またはプロンプト テンプレートをサーバーごとに選択的に許可またはブロックします。
特定のメソッドとプロトコル バージョンを許可またはブロックします。 暗号化されていない HTTP 経由での MCP 接続試行をブロックするか、古い潜在的に脆弱な MCP バージョンからの接続をブロックしてプロトコルの検疫を適用します。
前提条件
MCP ファイアウォールを構成するには、次の前提条件が必要です。
有効な Microsoft Entra テナント。
有効な Microsoft Entra Internet Access ライセンス。 詳細については、「Global Secure Access とは」のライセンスに関するセクションを参照してください。 必要に応じて、ライセンスを購入するか、試用版ライセンスを取得できます。
グローバル セキュリティで保護されたアクセスの設定を構成するグローバル セキュリティで保護されたアクセス管理者ロールを持つユーザー。
条件付きアクセス ポリシーを構成するための 条件付きアクセス管理者 ロールを持つユーザー。
参加済みまたはハイブリッド参加済みのデバイス (または仮想マシン) にインストールMicrosoft Entraグローバル セキュア アクセス クライアントMicrosoft Entra。
トランスポート層セキュリティ (TLS) 検査 が有効になっている。 MCP メッセージはトラフィックの暗号化されたペイロード内を移動するため、TLS 検査が必要です。 TLS 検査がないと、グローバル セキュリティで保護されたアクセスは MCP ポリシーを解析または適用できません。
初期構成
MCP ポリシー用に環境を準備するには、次の初期セットアップ手順を完了します。
インターネット アクセス トラフィック転送プロファイルを有効に し、正しいユーザー割り当てを確認します。
検査のために MCP トラフィックが復号化されるように TLS 検査ポリシーを構成します。
グローバル セキュア アクセス クライアントをインストールして構成します。
Windowsまたは macOS にグローバル セキュア アクセス クライアントをインストールします。
Important
続行する前に、クライアントのインターネット トラフィックがグローバル セキュア アクセス経由でルーティングされていることを確認します。
[グローバルなセキュリティで保護されたアクセス] アイコンを選択し、[トラブルシューティング] タブを選択します。
[ 高度な診断] で、[ 実行ツール] を選択します。
[グローバル なセキュリティで保護されたアクセスの高度な診断] ウィンドウで、[ 転送プロファイル ] タブを選択します。
[ルール] セクションにインターネット アクセス規則が存在することを確認します。 この構成は、Microsoft Entra 管理センターでインターネット アクセス トラフィック プロファイルを有効にした後、クライアントに適用されるまでに最大 15 分かかる場合があります。
MCP ポリシーでカバーする予定の MCP サーバーにクライアントが到達できることを確認します。
MCP ポリシーを構成する
MCP ファイアウォールを構成するには、次の手順を実行します。
MCP ポリシーを作成します。
MCP ポリシーをセキュリティ プロファイルにリンクします。
条件付きアクセス ポリシーを構成します。
MCP ポリシーを作成する
- グローバル セキュア アクセス 管理者として Microsoft Entra 管理センターにログインします。
- グローバル セキュリティで保護されたアクセス>安全>MCP ポリシー (プレビュー) を参照します。
- [+ ポリシーの作成] を選択します。
- [ 基本 ] タブで、ポリシー 名 と 説明を入力します。
- [ ポリシー設定 ] タブで、[許可] または [ブロック] の 既定のアクション を選択します。
- [ ルールの追加 ] タブで、1 つ以上のルールを追加します。 ルールごとに、ルール名、優先度、説明、状態を入力し、一致条件を構成します。
- 通信に使用される MCP バージョンに基づいて、 MCP プロトコルのバージョン を許可またはブロックするように構成します。
- また、特定の MCP メソッド、 トランスポート プロトコル、保護 されたリソース メタデータを構成することもできます。
- 要件に基づいて MCP サーバー プリミティブ を構成します。
すべての MCP トラフィックをブロックします。 割り当てられたユーザー全体のすべての MCP プロトコル トラフィックを無効にする、サーバーまたはプリミティブ スコープのないブロックルールを追加します。
検出された MCP サーバーで一致します。 Gen AI 分析情報に基づいて検出された MCP サーバーにルールのスコープを設定する
[最近のアクティビティから推奨される MCP サーバーを表示する] をクリックします。
推奨される MCP サーバーから 1 つ以上のサーバーとツールを選択します。
[ サーバーとツールの追加] を選択します。
既知の MCP サーバーで一致します。 次の方法で、ルールのスコープを 1 つ以上の既知の MCP サーバーに設定します。
サーバー URL — サーバー URL またはコンマ区切りリストを入力します。
[サーバーの追加] をクリック します。
検出されたツールで一致します。 サーバーが公開するツールを検出して追加します。
MCP サーバー URL を追加します。 [ サーバーの追加] を選択します。
サーバーが追加されたら、[ 検出] を選択します。
このサーバーで使用できるツールが一覧表示され、分類が自動的に適用されます。
このルールの対象となるツールを細かく選択できます。
このルールを適用するツール名に一致する条件を選択します。
プリミティブを手動で追加します。 MCP サーバーで認証が必要な場合、または到達できない場合は、ツール、リソース、またはプロンプトも手動で追加できます。
MCP サーバー URL を追加します。 [ サーバーの追加] を選択します。
[ 手動で追加] を選択します。
[ツール]、[リソース]、または [プロンプト] からプリミティブ型を選択します。
[名前] と [説明] を入力します。
[] を選択し、[] を追加します。
このルールを適用するツール名に一致する条件を選択します。
- [アクション] を [許可] または [ブロック] に設定します。
- 追加をクリックします。
- すべてのルールが追加されたら、[ 次へ] を選択します。
- [ 校閲 ] タブで、設定を確認します。
- [ 作成 ] をクリックしてポリシーを作成します。
Tip
ルールを作成する前に、組織で使用されている MCP サーバーとツールを検出するには、グローバル セキュア アクセス>Monitor>Generative AI 分析情報で MCP トラフィックを確認します。
initialize応答イベントを選択して、サーバーの報告されたツールと機能を表示します。 詳細については、「 グローバル セキュア アクセスでモデル コンテキスト プロトコル (MCP) トラフィック ログを表示する方法」を参照してください。
これらの分析情報は、上記の 最近のアクティビティ オプションから推奨される MCP サーバーの表示 にも送られます。
MCP ポリシーをセキュリティ プロファイルにリンクする
[グローバル セキュア アクセス]>[セキュア]>[セキュリティ プロファイル] に移動します。
変更するセキュリティ プロファイルを選択します。
リンクポリシービューに切り替えます。
リンクを構成します。
[ + ポリシーのリンク>MCP ポリシーの作成を選択します。
[ ポリシー名 ] メニューから、作成した MCP ポリシーを選択します。
Position と State の既定値をそのまま使用します。
[] を選択し、[] を追加します。
セキュリティ プロファイルを閉じます。
条件付きアクセス ポリシーを構成する
グローバル セキュア アクセス セキュリティ プロファイルを適用するには、次の構成で条件付きアクセス ポリシーを作成します。
Microsoft Entra 管理センターにサインインします。
Identity>Protection>Conditional Access に移動します。
[ + 新しいポリシーの作成] を選択します。
ポリシーに名前を付けます。
ポリシーを適用するユーザーとグループを選択します。
グローバル セキュリティで保護されたアクセスを使用して、 ターゲット リソース を すべてのインターネット リソースに設定します。
必要に応じて、[ ネットワーク]、[ 条件]、[ 許可 ] セクションを構成します。
[ セッション] で、[ グローバルなセキュリティで保護されたアクセス セキュリティ プロファイルを使用 する] を選択し、作成したセキュリティ プロファイルを選択します。
ポリシーを作成するには、[ 作成] を選択します。
詳細については、「 条件付きアクセス ポリシーの作成とリンク」を参照してください。
MCP ポリシーが正常に構成されました。
MCP ポリシーをテストする
GSA を使用して管理対象デバイス上の MCP クライアントまたは AI エージェントを使用して、ポリシー条件に一致する MCP サーバーに接続することで、構成をテストします。 ポリシーが想定どおりにトラフィックを許可またはブロックすることを確認します。
例 1: MCP サーバー上の特定のツールをブロックする
この例では、MCP サーバーの残りの部分を許可しながら、1 つのツールをブロックします。
MCP ポリシーで、 アクション が [ブロック] に設定されたルールを追加します。
一致条件で、 サーバー URL を ターゲット MCP サーバーに設定し、ブロックするツールに一致するツール 名 条件を追加します。
前に説明したように、ポリシーをセキュリティ プロファイルにリンクし、条件付きアクセス ポリシーで適用します。
グローバル セキュア アクセス クライアントがインストールされているマネージド デバイスで、MCP クライアントまたはエージェントを使用してサーバーに接続し、ブロックされたツールを呼び出します。
同じサーバー上の他のツールが引き続き動作している間に、ツール呼び出しがブロックされていることを確認します。
ブロックを確認するには、グローバルセキュリティで保護されたアクセス>Monitor>Traffic ログと Generative AI 分析情報の MCP アクティビティを確認します。
例 2: 承認された MCP サーバーのみを許可する
この例では、MCP サーバーの承認済みリストを許可しながら、すべての接続をブロックします。
MCP ポリシーで、既定のアクションとして [ブロック] を追加します。
[アクション] が [許可] に設定されたルールを作成します。
一致条件で、 サーバー URL を許可される MCP サーバーの一覧に設定します。
前に説明したように、ポリシーをセキュリティ プロファイルにリンクし、条件付きアクセス ポリシーで適用します。
グローバル セキュア アクセス クライアントがインストールされているマネージド デバイスで、MCP クライアントまたはエージェントを使用してサーバーに接続します。
指定したサーバーへの接続のみが許可されていることを確認します。 他のサーバーへの接続がブロックされます。
ブロックを確認するには、グローバルセキュリティで保護されたアクセス>Monitor>Traffic ログと Generative AI 分析情報の MCP アクティビティを確認します。
監視およびログ記録
グローバル セキュリティで保護されたアクセスのトラフィック ログを確認する
ネットワーク レベルのトラフィック ログを表示し、許可またはブロックの決定を確認するには:
Microsoft Entra 管理センターに、少なくともレポート閲覧者としてサインインします。
グローバル セキュア アクセス>モニター>トラフィックログに移動します。
Generative AI 分析情報 での MCP アクティビティの確認
MCP セッション、ツール呼び出し、および検出されたサーバーを確認するには:
Microsoft Entra 管理センターに、少なくともセキュリティ閲覧者としてサインインします。
Global Secure Access>Monitor>Generative AI 分析情報 に移動します。
アクティビティ フィルターを使用し、MCP を選択して MCP トラフィック イベントのみを表示します。
キャプチャされたフィールドとその解釈方法の詳細については、「 グローバル セキュア アクセスでモデル コンテキスト プロトコル (MCP) トラフィック ログを表示する方法」を参照してください。
既知の制限
MCP ファイアウォールは、ストリーミング可能な HTTP および Server-Sent イベント トランスポート経由でのみ MCP トラフィックを検査します。 stdio またはその他の非 HTTP トランスポート経由の MCP トラフィックはサポートされていません。
リモート MCP サーバーのみが検査されます。 デバイスで実行されているローカル MCP サーバーは、グローバル セキュリティで保護されたアクセスには表示されません。
JSON-RPC バッチは検査されません。
特定のツール、リソース、またはプロンプトが MCP サーバー プリミティブの下で構成されている場合、これらの詳細は、後続のルールの取得時に UI にレンダリングされません。 詳細は、代わりに Microsoft Graph API を使用して確認できます。