Model Armor 与 Google Cloud MCP 服务器集成

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

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

准备工作

  1. 启用您要使用的 MCP 服务器。如需了解详情,请参阅启用或停用 MCP 服务器
  2. 在项目中启用 Model Armor API。如需了解详情,请参阅启用 API
  3. 如果您有数据驻留要求,则必须先配置日志接收器以将日志路由到合规的存储位置,然后再在后续步骤中启用 Cloud Logging。配置日志接收器有助于确保 Model Armor 日志存储在相应的区域存储分区中。如需了解详情,请参阅区域化存储日志

为 Google 和 Google Cloud 远程 MCP 服务器配置保护

为了保护 MCP 工具调用和响应,您需要创建 Model Armor 下限设置,然后为项目启用 MCP 内容安全功能。下限设置用于定义适用于整个项目的最低安全过滤条件。此配置会对项目中的所有 MCP 工具调用和响应应用一组一致的过滤条件。

  1. 设置启用了 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": "HIGH", "filterType": "DANGEROUS"}]'

    PROJECT_ID 替换为您的 Google Cloud 项目 ID。

    请注意以下设置:

    • INSPECT_AND_BLOCK:用于检查 Google MCP 服务器的内容并屏蔽与过滤条件匹配的提示和回答的强制执行类型。
    • ENABLED:用于启用过滤或强制执行的设置。
    • HIGH:Responsible AI - Dangerous 过滤设置的置信度。您可以修改此设置,但较低的值可能会导致更多假正例。如需了解详情,请参阅配置下限设置
  2. 为您的项目启用针对远程 MCP 服务器的 Model Armor 保护。

    gcloud beta services mcp content-security add modelarmor.googleapis.com --project=PROJECT_ID

    PROJECT_ID 替换为您的 Google Cloud项目 ID。运行此命令后,Model Armor 会清理项目中的所有 MCP 工具调用和响应,无论这些调用和响应来自何处。

  3. 如需确认 Google MCP 流量是否已发送到 Model Armor,请运行以下命令:

    gcloud beta services mcp content-security get --project=PROJECT_ID
    

    PROJECT_ID 替换为 Google Cloud 项目 ID。

验证 Model Armor 保护

为 MCP 服务器配置 Model Armor 保护后,您可以发送包含应被屏蔽的内容的请求,并检查 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

如需在 Google Cloud 项目中停用 Model Armor,请运行以下命令:

gcloud beta services mcp content-security remove modelarmor.googleapis.com \
    --project=PROJECT_ID

PROJECT_ID 替换为 Google Cloud 项目 ID。

Model Armor 不会扫描指定项目的 Google MCP 流量。

禁止使用 Model Armor 扫描 MCP 流量

如果您想在项目中使用 Model Armor,但又想停止使用 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 不会扫描项目中的 MCP 流量。

后续步骤