本文档介绍了如何在向 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 服务器集成。
准备工作
- 启用您想要通过 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 服务器。