與 Google 和 Google Cloud MCP 伺服器整合

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

Model Armor 可清除 MCP 工具呼叫和回應,確保代理式 AI 應用程式安全無虞。這個程序可降低提示詞注入和私密/機密資料揭露等風險。

限制

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

  • Model Armor 和 Google 及 Google Cloud MCP 伺服器整合功能僅支援基本 Sensitive Data Protection。
  • 如要搭配 Google 和 MCP 伺服器使用 Model Armor 基本版 Sensitive Data Protection,並搭配 Gemini Enterprise Agent Platform 使用 Advanced Sensitive Data Protection,則必須為每項服務使用不同的專案,才能根據不同的底限設定運作。 Google Cloud
  • Model Armor 僅適用於特定區域。如果您在 Model Armor 無法使用的區域中,使用已啟用 MCP 的服務,該服務會向其他區域的 Model Armor 端點發出跨區域呼叫,以處理要求。Model Armor 是區域化服務,並遵守管轄區層級的資料落地規定。不過,如果啟用 MCP 的服務跨區域呼叫 Model Armor,資料可能會傳輸到啟用 MCP 服務的作業區域以外。這可能會影響延遲時間,並對啟用 MCP 的服務造成資料落地影響。如要瞭解這項異動對您使用的特定服務資料存放位置有何影響,請參閱各項啟用 MCP 的服務說明文件。
  • Model Armor 並未與所有 Google 和 MCP 伺服器整合。 Google Cloud如需支援的 Google 和 MCP 伺服器清單,請參閱「支援 Model Armor 的產品」。 Google Cloud 如果您呼叫不支援的 Google 和 Google Cloud MCP 伺服器,系統不會套用 Model Armor 底限設定。

事前準備

  1. 啟用要使用的 MCP 伺服器。詳情請參閱「啟用或停用 MCP 伺服器」。
  2. 在專案中啟用 Model Armor API。詳情請參閱「啟用 API」。
  3. 如有資料落地規定,您必須先設定記錄檔接收器,將記錄傳送至符合規定的儲存位置,再於下一個程序中啟用 Cloud Logging。設定記錄檔接收器有助於確保 Model Armor 記錄儲存在適當管轄區內的 bucket 中。詳情請參閱「區域化記錄」。

支援及不支援的 MCP 酬載

Model Armor 只會清除下列 MCP 酬載:

  • tools/call 要求和回應
  • prompts/get 要求和回應
  • MCP 工具執行錯誤 (惡意 MCP 工具作者用來進行提示詞注入的目標)

Model Armor 允許下列未經過清理的酬載:

  • tools/list
  • resources/*
  • notifications/*
  • 適用於 MCP 的可串流 HTTP/SSE
  • MCP 通訊協定錯誤 (例如工具執行錯誤以外的所有錯誤)

設定 Google 和 Google Cloud 遠端 MCP 伺服器的防護功能

如要保護 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 伺服器設定防護機制」一文所述,為 Model Armor 啟用記錄功能。 Google Cloud

  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) 的流量掃描和安全行為。

後續步驟