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

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

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

支持的 MCP 服务器

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

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

数据驻留注意事项

管辖区定义了处理和存储数据的地理区域和法律边界。这对于数据驻留至关重要,可确保数据保留在所选位置内,以满足监管合规要求。Model Armor 是一项区域化服务,但并非在所有运行 Google 和 Google Cloud MCP 服务器支持的服务的区域都可用。 Google Cloud 如果您在 Model Armor 不存在的管辖区为 MCP 支持的服务启用 Model Armor,您的数据可能会被发送到其他管辖区中的 Model Armor 端点进行安全筛查。这些跨管辖区的调用可能会影响 MCP 支持服务的数据驻留要求。如需了解跨管辖区的调用如何影响您使用的特定服务的数据驻留,请参阅每个 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 页面。

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

后续步骤