本文档介绍了如何在向开放 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 支持服务的文档。准备工作
- 启用您想要通过 MCP 访问的 API。如需了解详情,请参阅 启用受支持的产品。
- 在项目中启用 Model Armor API。如需了解详情,请参阅启用 API。
- 如果您有数据驻留要求,则必须先配置日志接收器以将日志路由到符合要求的存储位置,然后再按照下一个步骤启用 Cloud Logging。配置日志接收器有助于确保 Model Armor 日志存储在相应管辖区的存储分区中。如需了解详情,请参阅区域化存储 日志。
支持和不支持的 MCP 载荷
Model Armor 仅清理以下 MCP 载荷:
tools/call请求和响应prompts/get请求和响应- MCP 工具执行错误 (恶意 MCP 工具作者提示注入的目标)
Model Armor 允许以下载荷,无需清理:
tools/listresources/*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 启用了日志记录。
- 在您启用 Model Armor 保护的项目中,使用其中一个参数中的有害值调用 MCP 工具。
例如,如果您启用了恶意 URI 过滤条件,请在参数中添加网络钓鱼测试网址,例如
http://testsafebrowsing.appspot.com/s/phishing.html。 - 验证 MCP 工具调用是否被屏蔽。根据 MCP 服务器和客户端的不同,您可能会收到错误或空响应,表明请求已被安全政策屏蔽。
在 Google Cloud 控制台中,前往 Logs Explorer 页面。
在查询 窗格中,输入以下查询:
resource.type="model-armor_managed_service" logName="projects/PROJECT_ID/logs/modelarmor.googleapis.com%2Fdetection"请将
PROJECT_ID替换为您的项目 ID。点击运行查询 。
检查查询结果 部分中的结果。如果 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)的流量扫描和安全行为。
后续步骤
- 详细了解 Model Armor。
- 详细了解 Google Cloud MCP 服务器。