將 Model Armor 與 Google Cloud MCP 伺服器整合運用

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

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

事前準備

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

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

如要保護 MCP 工具呼叫和回應,請建立 Model Armor 底限設定,然後為專案啟用 MCP 內容安全功能。底限設定會定義適用於整個專案的最低安全性篩選條件。這項設定會對專案中的所有 MCP 工具呼叫和回應套用一致的篩選器。

  1. 設定 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 - 危險篩選器設定的信心水準。您可以修改這項設定,但較低的值可能會導致更多誤報。詳情請參閱「設定樓層」。
  2. 為專案啟用遠端 MCP 伺服器的 Model Armor 防護。

    gcloud beta services mcp content-security add modelarmor.googleapis.com --project=PROJECT_ID

    PROJECT_ID 替換為 Google Cloud專案 ID。執行這項指令後,Model Armor 會清理專案中的所有 MCP 工具呼叫和回應,無論呼叫和回應的來源為何。

  3. 如要確認 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 」一文所述。

  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

如要停用 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 流量。

後續步驟