将 Model Armor 与 Google 和 Google Cloud MCP 服务器集成

本文档介绍了如何在向 Google Cloud 公开 Model Context Protocol (MCP) 工具和服务器的服务发送请求时配置 Model Armor,以帮助保护 您的数据和安全内容。

Model Armor 通过清理 MCP 工具调用和响应来帮助保护您的智能体 AI 应用。此过程可降低提示注入和敏感数据披露等风险。

支持的 MCP 服务器

如需查看支持的 Google 和 Google Cloud MCP 服务器的列表, 请参阅支持 Model Armor 的产品。

如果您调用 不受支持的 Google 和 Google Cloud MCP 服务器,Model Armor 下限设置将不会应用。

过滤版本

对于与 Google 和 Google Cloud MCP 服务器, Model Armor 使用 v1 过滤版本。您无法替换此设置。

数据驻留注意事项

根据支持 MCP 的服务是使用跨管辖区路由还是符合数据驻留 要求的路由,您的数据驻留要求可能会受到影响。如需了解详情,请参阅与 Google 和 Google Cloud MCP 服务器集成。

准备工作

  1. 启用您想要通过 MCP 访问的 API。如需了解详情,请参阅 启用受支持的产品。
  2. 在项目中启用 Model Armor API。如需了解详情,请参阅启用 API。
  3. 如果您有数据驻留要求,则必须先配置日志接收器以将日志路由到符合要求的存储位置,然后再在下一个步骤中启用 Cloud Logging。配置日志接收器有助于确保 Model Armor 日志存储在相应管辖区的存储桶中。如需了解详情,请参阅区域化存储 日志。

支持和不支持的 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 工具调用和响应。

设置 Model Armor 下限设置,并启用 MCP 清理。如需了解详情,请参阅配置 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:Responsible AI - Dangerous 过滤设置的置信度。您可以修改此设置, 但较低的值可能会导致更多假正例。如需了解详情,请参阅 Model Armor 置信度。

验证 Model Armor 保护

为 MCP 服务器配置 Model Armor 保护后,您可以发送包含应被阻止的内容的请求,并检查 Model Armor 是否阻止了该请求,以验证其是否正常运行。以下步骤假定您已按照为 Google 和 Google Cloud MCP 服务器配置保护中的说明为 Model Armor 启用了日志记录。

  1. 在您启用 Model Armor 保护的项目中,使用其中一个参数中的有害值调用 MCP 工具。 例如,如果您启用了恶意 URI 过滤条件,请在参数中添加网络钓鱼测试网址,例如 http://testsafebrowsing.appspot.com/s/phishing.html。
  2. 验证 MCP 工具调用是否被阻止。根据 MCP 服务器和客户端的不同,您可能会收到错误或空响应,表明请求已被安全政策阻止。
  3. 在 Google Cloud 控制台中,前往 Logs Explorer 页面。

    转到日志浏览器

  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 流量

如需阻止 Model Armor 根据项目的下限设置自动扫描进出 Google MCP 服务器的流量,请运行以下命令:

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)的流量扫描和安全行为。

后续步骤