本文說明如何設定 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 功能,則必須為每項服務使用不同的專案,才能根據不同的底限設定運作。
事前準備
- 啟用要使用的 MCP 伺服器。詳情請參閱「啟用或停用 MCP 伺服器」。
- 在專案中啟用 Model Armor API。詳情請參閱「啟用 API」一文。
- 如有資料落地需求,請務必先設定記錄接收器,將記錄檔傳送至符合規定的儲存位置,再按照下一個步驟啟用 Cloud Logging。設定記錄接收器有助於確保 Model Armor 記錄檔儲存在適當管轄範圍內的值區。詳情請參閱「將記錄檔區域化」。
支援及不支援的 MCP 酬載
Model Armor 只會清理下列 MCP 酬載:
tools/call要求和回應prompts/get要求和回應- MCP 工具執行錯誤 (惡意 MCP 工具作者的提示詞注入目標)
Model Armor 允許下列未經過清理的酬載:
tools/listresources/*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 啟用記錄功能。
- 在啟用 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 伺服器。