將 Model Armor 與 Google 和 Google Cloud MCP 伺服器整合

本文說明如何設定 Model Armor,在向公開 Model Context Protocol (MCP) 工具和伺服器的 Google Cloud服務傳送要求時,保護資料和內容。

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/*
  • 可串流的 HTTP/SSE (適用於 MCP)
  • MCP 通訊協定錯誤 (例如工具執行錯誤以外的所有錯誤)

設定 Google 和 Google Cloud 遠端 MCP 伺服器的防護機制

您可以使用 Model Armor 底限設定,保護 MCP 工具呼叫和回覆。底限設定會定義適用於整個專案的最低安全性篩選器。這項設定會對專案中的所有 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:負責任的 AI 技術 - 危險篩選器設定的信心水準。您可以修改這項設定,但較低的值可能會導致更多偽陽性。詳情請參閱「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. 在「Query」(查詢) 窗格中,輸入下列查詢:

    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。

後續步驟