Google と Google Cloud MCP サーバーと統合する

このドキュメントでは、Model Context Protocol(MCP)ツールとサーバーを公開する Google Cloudサービスにリクエストを送信するときに、データを保護し、コンテンツを保護するために Model Armor を構成する方法について説明します。

Model Armor は、MCP ツール呼び出しとレスポンスをサニタイズすることで、エージェント型 AI アプリケーションのセキュリティを強化します。このプロセスにより、プロンプト インジェクションやセンシティブ データ開示などのリスクを軽減できます。

制限事項

Model Armor を Google サーバーと Google Cloud MCP サーバーに統合する場合は、次の制限事項を考慮してください。

  • Model Armor と Google および MCP サーバーの統合では、Sensitive Data Protection の基本のみがサポートされます。 Google Cloud
  • Google と Google Cloud MCP サーバーで Model Armor の基本の Sensitive Data Protection を使用し、Gemini Enterprise Agent Platform で高度な Sensitive Data Protection を使用する場合は、各サービスに個別のプロジェクトを使用して、異なるフロア設定で適切に動作させる必要があります。
  • 法域は、データの処理と保存が行われる地理的リージョンと法的境界を定義します。これはデータ所在地にとって重要です。データが選択したロケーションに留まり、規制遵守を確実に満たすようにします。Model Armor はリージョン化されたサービスですが、Google と Google Cloud MCP サーバーでサポートされているサービスが動作するすべての Google Cloud リージョンで利用できるわけではありません。Model Armor が存在しない法域で MCP 対応サービスに対して Model Armor を有効にすると、データが別の法域の Model Armor エンドポイントに送信され、セキュリティ スクリーニングが行われることがあります。これらのクロス ジュリスディクション呼び出しは、MCP でサポートされているサービスのデータ所在地要件に影響する可能性があります。クロス ジュリスディクション呼び出しが、使用している特定のサービスのデータ所在地に与える影響については、各 MCP でサポートされているサービスのドキュメントをご覧ください。
  • Model Armor は、すべての Google および MCP サーバーと統合されているわけではありません。 Google Cloudサポートされている Google サーバーと Google Cloud MCP サーバーの一覧については、Model Armor をサポートするプロダクトをご覧ください。サポートされていない Google サーバーと MCP サーバーを呼び出すと、Model Armor のフロア設定は適用されません。 Google Cloud

始める前に

  1. 使用する MCP サーバーを有効にします。詳細については、MCP サーバーを有効または無効にするをご覧ください。
  2. プロジェクトで Model Armor API を有効にします。詳細については、API を有効にするをご覧ください。
  3. データ所在地の要件がある場合は、次の手順で Cloud Logging を有効にする前に、ログを準拠したストレージの場所に転送するようにログシンクを構成する必要があります。ログシンクを構成すると、Model Armor ログが適切な管轄区域のバケットに保存されます。詳細については、ログをリージョン化するをご覧ください。

サポートされている MCP ペイロードとサポートされていない MCP ペイロード

Model Armor は、次の MCP ペイロードのみをサニタイズします。

  • tools/call リクエストとレスポンス
  • prompts/get リクエストとレスポンス
  • MCP ツールの実行エラー (悪意のある MCP ツールの作成者によるプロンプト インジェクションのターゲット)

Model Armor では、サニタイズなしで次のペイロードが許可されます。

  • tools/list
  • resources/*
  • notifications/*
  • MCP 用のストリーミング可能な HTTP/SSE
  • MCP プロトコル エラー(ツール実行エラー以外のすべてのエラーなど)

Google と Google Cloud リモート MCP サーバーの保護を構成する

MCP ツール呼び出しとレスポンスを保護するには、Model Armor のフロア設定を使用します。フロア設定は、プロジェクト全体に適用される最小限のセキュリティ フィルタを定義します。この構成では、プロジェクト内のすべての MCP ツール呼び出しとレスポンスに一貫したフィルタセットが適用されます。

MCP のサニタイズを有効にして、Model Armor のフロア設定をセットアップします。詳細については、Model Armor のフロア設定を構成するをご覧ください。

次のコマンド例をご覧ください。

gcloud model-armor floorsettings update \
--full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
--enable-floor-setting-enforcement=TRUE \
--add-integrated-services=GOOGLE_MCP_SERVER \
--google-mcp-server-enforcement-type=INSPECT_AND_BLOCK \
--enable-google-mcp-server-cloud-logging \
--malicious-uri-filter-settings-enforcement=ENABLED \
--add-rai-settings-filters='[{"confidenceLevel": "MEDIUM_AND_ABOVE", "filterType": "DANGEROUS"}]'

PROJECT_ID は、実際の Google Cloud プロジェクト ID に置き換えます。

次の設定に注意してください。

  • INSPECT_AND_BLOCK: Google MCP サーバーのコンテンツを検査し、フィルタに一致するプロンプトとレスポンスをブロックする適用タイプ。
  • ENABLED: フィルタまたは適用を有効にする設定。
  • MEDIUM_AND_ABOVE: 責任ある AI - 危険フィルタ設定の信頼度。この設定は変更できますが、値を小さくすると偽陽性が増える可能性があります。詳細については、Model Armor の信頼度をご覧ください。

Model Armor の保護を確認する

MCP サーバーの Model Armor 保護を構成したら、ブロックされるべきコンテンツを含むリクエストを送信し、Model Armor がそれをブロックすることを確認して、機能していることを確認できます。次の手順では、Google と Google Cloud MCP サーバーの保護を構成するで説明されているように、Model Armor のロギングが有効になっていることを前提としています。

  1. Model Armor 保護を有効にしたプロジェクトで、パラメータの 1 つに有害な値を含む MCP ツールを呼び出します。たとえば、不正な URI フィルタを有効にした場合は、http://testsafebrowsing.appspot.com/s/phishing.html などのパラメータにフィッシング テスト URL を含めます。
  2. MCP ツールの呼び出しがブロックされていることを確認します。MCP サーバーとクライアントによっては、リクエストがセキュリティ ポリシーによってブロックされたことを示すエラーまたは空のレスポンスが返されることがあります。
  3. Google Cloud コンソールで、[ログ エクスプローラ] ページに移動します。

    [ログ エクスプローラ] に移動

  4. [クエリ] ペインに次のクエリを入力します。

    resource.type="model-armor_managed_service"
    logName="projects/PROJECT_ID/logs/modelarmor.googleapis.com%2Fdetection"
    

    PROJECT_ID は、実際のプロジェクト ID に置き換えます。

  5. [クエリを実行] をクリックします。

  6. [クエリ結果] セクションで結果を確認します。Model Armor がリクエストをブロックした場合、検出された脅威(MALICIOUS_URI_DETECTED など)の詳細を示すログエントリが表示されます。

Model Armor による MCP トラフィックのスキャンを無効にする

プロジェクトのフロア設定に基づいて、Google MCP サーバーとの間のトラフィックを Model Armor が自動的にスキャンしないようにするには、次のコマンドを実行します。

gcloud model-armor floorsettings update \
  --full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
  --remove-integrated-services=GOOGLE_MCP_SERVER

PROJECT_ID は、 Google Cloud プロジェクト ID に置き換えます。Model Armor は、このプロジェクトのフロア設定で定義されたルールを Google MCP サーバー トラフィックに自動的に適用しません。

Model Armor のフロア設定と一般的な構成は、MCP だけでなく、他のものにも影響する可能性があります。Model Armor は Gemini Enterprise Agent Platform などのサービスと統合されているため、フロア設定を変更すると、MCP だけでなく、統合されたすべてのサービスでトラフィック スキャンと安全性の動作に影響する可能性があります。

次のステップ