本文說明如何設定 Model Armor,在傳送要求至公開 Model Context Protocol (MCP) 工具和伺服器的 Google Cloud服務時,保護資料和確保內容安全。
Model Armor 可清除 MCP 工具呼叫和回應,確保代理式 AI 應用程式安全無虞。這個程序可降低提示詞注入和私密/機密資料外洩等風險。
事前準備
- 啟用要使用的 MCP 伺服器。詳情請參閱「啟用或停用 MCP 伺服器」。
- 在專案中啟用 Model Armor API。詳情請參閱「啟用 API」。
- 如有資料落地規定,您必須先設定記錄接收器,將記錄傳送至符合規定的儲存位置,再啟用 Cloud Logging。設定記錄接收器有助於確保 Model Armor 記錄儲存在適當的區域值區中。詳情請參閱「區域化記錄」。
設定 Google 和 Google Cloud 遠端 MCP 伺服器的防護功能
如要保護 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": "HIGH", "filterType": "DANGEROUS"}]'
將
PROJECT_ID替換為 Google Cloud 專案 ID。請注意下列設定:
INSPECT_AND_BLOCK:強制執行類型,可檢查 Google MCP 伺服器的內容,並封鎖符合篩選條件的提示和回覆。ENABLED:啟用篩選器或強制執行的設定。HIGH:負責任的 AI - 危險篩選器設定的信心水準。您可以修改這項設定,但較低的值可能會導致更多誤報。詳情請參閱「設定樓層」。
為專案啟用遠端 MCP 伺服器的 Model Armor 防護。
gcloud beta services mcp content-security add modelarmor.googleapis.com --project=PROJECT_ID
將
PROJECT_ID替換為 Google Cloud專案 ID。執行這項指令後,Model Armor 會清理專案中的所有 MCP 工具呼叫和回應,無論呼叫和回應的來源為何。如要確認 Google MCP 流量是否已傳送至 Model Armor,請執行下列指令:
gcloud beta services mcp content-security get --project=PROJECT_ID將
PROJECT_ID替換為 Google Cloud 專案 ID。
確認 Model Armor 保護機制
為 MCP 伺服器設定 Model Armor 保護機制後,您可以傳送含有應遭封鎖內容的要求,並檢查 Model Armor 是否封鎖該要求,藉此確認保護機制是否正常運作。下列步驟假設您已啟用 Model Armor 的記錄功能,如「為 Google 和遠端 MCP 伺服器設定保護措施 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
如要停用 Google Cloud 專案的 Model Armor,請執行下列指令:
gcloud beta services mcp content-security remove modelarmor.googleapis.com \
--project=PROJECT_ID
將 PROJECT_ID 替換為 Google Cloud 專案 ID。
Model Armor 不會掃描指定專案的 Google MCP 流量。
停用 Model Armor 的 MCP 流量掃描功能
如要在專案中使用 Model Armor,並停止使用 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 不會掃描專案中的 MCP 流量。
後續步驟
- 進一步瞭解 Model Armor。
- 進一步瞭解 Google Cloud MCP 伺服器。