本文說明如何設定 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 底限設定。
事前準備
- 啟用要使用的 MCP 伺服器。詳情請參閱「啟用或停用 MCP 伺服器」。
- 在專案中啟用 Model Armor API。詳情請參閱「啟用 API」。
- 如有資料落地規定,您必須先設定記錄檔接收器,將記錄傳送至符合規定的儲存位置,再於下一個程序中啟用 Cloud Logging。設定記錄檔接收器有助於確保 Model Armor 記錄儲存在適當管轄區內的 bucket 中。詳情請參閱「區域化記錄」。
支援及不支援的 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 工具呼叫和回應套用一致的篩選器。
設定啟用 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
- 在啟用 Model Armor 保護的專案中,呼叫 MCP 工具,並在其中一個參數中提供有害值。舉例來說,如果您啟用「惡意 URI」篩選器,請在參數中加入網路釣魚測試網址,例如
http://testsafebrowsing.appspot.com/s/phishing.html。 - 確認 MCP 工具呼叫遭到封鎖。視 MCP 伺服器和用戶端而定,您可能會收到錯誤訊息或空白回應,表示要求遭到安全政策封鎖。
前往 Google Cloud 控制台的「Logs Explorer」頁面。
在「Query」(查詢) 窗格中,輸入下列查詢:
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 伺服器。