與 Google 和 Google Cloud MCP 伺服器整合

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

Model Armor 會清除 MCP 工具呼叫和回應,協助保護代理式 AI 應用程式,降低提示詞注入和敏感資料揭露等風險。

支援的 MCP 伺服器

如需支援的 Google 和 MCP 伺服器清單,請參閱「支援 Model Armor 的產品」。 Google Cloud

如果您呼叫不支援的 Google 和 Google Cloud MCP 伺服器,系統不會套用 Model Armor 底限設定。

資料落地注意事項

管轄區是指處理及儲存資料的地理區域和法律界線。這對資料落地至關重要,可確保資料只會留存在所選位置,以符合法規遵循。Model Armor 是一項區域化服務,但並非在所有 Google Cloud Google 和 Google Cloud MCP 伺服器支援的服務營運區域都適用。如果您在啟用 Model Armor 的管轄區,為支援 MCP 的服務啟用 Model Armor,但該管轄區沒有 Model Armor,系統可能會將您的資料傳送至其他管轄區的 Model Armor 端點進行安全檢查。這些跨管轄區的呼叫可能會影響 MCP 支援服務的資料落地規定。如要瞭解跨管轄區呼叫對您使用的特定服務資料落地有何影響,請參閱各項 MCP 支援服務的說明文件。

限制

將 Model Armor 與 Google 和 Google Cloud MCP 伺服器整合時,請注意下列限制。

  • Model Armor 和 Google 及 Google Cloud MCP 伺服器 整合功能僅支援基本 Sensitive Data Protection。
  • 如要搭配 Google 和 Google Cloud MCP 伺服器使用 Model Armor 基本 Sensitive Data Protection 功能,並搭配 Gemini Enterprise Agent Platform 使用進階 Sensitive Data Protection 功能,則必須為每項服務使用不同的專案,才能根據不同的底限設定運作。

事前準備

  1. 啟用要使用的 MCP 伺服器。詳情請參閱「啟用或停用 MCP 伺服器」。
  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 和遠端 MCP 伺服器的防護功能 Google Cloud

如要保護 MCP 工具呼叫和回應,可以使用 Model Armor 底限設定。底限設定會定義適用於整個專案的最低安全篩選器。這項設定會對專案中的所有 MCP 工具呼叫和回應,套用一致的篩選器組合。

設定啟用 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": "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 和 MCP 伺服器設定保護機制 Google Cloud 」一文所述,為 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。

後續步驟