本文說明如何設定 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 伺服器整合」。
事前準備
- 透過 MCP 啟用要存取的 API。詳情請參閱「啟用支援的產品」。
- 在專案中啟用 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 和 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 啟用記錄功能。
- 在已啟用 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 伺服器。