本文提供最佳做法,協助平台團隊、資安工程師和雲端架構師在 Google Kubernetes Engine (GKE) 部署 AI 工作負載。您可以使用 GKE 保護模型權重等專屬智慧財產 (IP)、篩選內容來維護品牌聲譽,以及提升法規遵循。
除了實施這些最佳做法,也請採用其他 GKE 和 AI 工作負載安全性最佳做法,例如:
瞭解您的安全責任
AI 工作負載的資安態勢取決於環境中的各個層級,例如 Cloud de Confiance by S3NS 基礎架構和使用的模型。下表說明這些層級、各層級的安全性負責人,以及該層級的安全性責任:
| 圖層 | 說明 | 責任 |
|---|---|---|
| 基礎架構 | 底層基礎架構,例如虛擬機器 (VM)、網路元件,以及執行 AI 工作負載的儲存硬體。 Cloud de Confiance 擁有基礎架構,並提供強大的安全基準。 | 貴機構的平台管理員會導入控管措施,在下列領域提升安全性:
|
| 模型 | 模型、模型權重、訓練管道和安全屬性。如果您執行的是自行訓練或微調的模型,則須負責保護模型層。如果您執行第三方供應商 (例如 Gemini) 的代管模型,則由供應商負責模型安全。 | 在模型層級,模型擁有者負責下列領域的安全:
|
| 應用程式 | 提示、程式碼、系統指令和使用者體驗。 貴組織的應用程式操作員和平台管理員負責應用程式層的安全。 | 在應用程式層,應用程式操作人員、開發人員和平台管理員負責下列領域的安全性:
|
您必須套用控管機制,保護自己負責的層級。下列範例說明 GKE 客戶的常見部署類型,以及這些部署的相應安全責任:
- 您執行受管理模型,例如 Gemini:您可以在基礎架構和應用程式層級套用控管機制。即使使用內建安全篩選器的受管理模型,您仍須負責提示詞注入防禦措施,保護特定應用程式邏輯。
- 自行執行模型:如果您執行的是經過微調的模型、開放原始碼模型或自行訓練的模型,則必須負責各層的安全。
- 您是多租戶 AI 服務供應商:如果您在 GKE 上執行模型,並向多個租戶公開推論端點,為自己的使用者提供 AI 服務,則須負責額外的控管措施。這些多租戶控管機制包括邏輯和實體租戶隔離 (例如專屬節點集區、命名空間和網路政策)、個別租戶頻率限制,以及使用不同的客戶自行管理加密金鑰 (CMEK) 加密租戶靜態資料。
提升基礎架構層的安全性
在基礎架構層, Cloud de Confiance 和 GKE 提供基準資安態勢,預設會實作多種安全控管機制。如要提升 AI 工作負載基礎架構的安全性,請根據您執行的 AI 工作負載類型,以及要達成的特定安全目標,設定額外的安全控管機制。以下各節說明可用來保護 AI 基礎架構各項元件的產品和服務。
保護 GKE 節點
請使用下列服務保護機密資料,例如處理提示和回覆的推論工作負載,或存取專屬模型的訓練工作負載:
使用硬體認證加密使用中的機密資料:在機密 Google Kubernetes Engine 節點上執行推論工作負載,將硬體層級記憶體加密功能擴充至 GPU 和 TPU 等加速器,以及 AMD SEV-SNP 或 Intel TDX CPU。如要部署受監管的項目和敏感推論工作負載,請使用機密 GKE 節點。機密 GKE 節點不會保護工作負載,免於應用程式層級漏洞攻擊,或具有節點層級存取權的授權使用者。
如果供應商的客戶有嚴格的隔離要求 (例如主權工作負載),GKE Hypercluster 可提供加密認證,確保即使是底層基礎架構營運商Cloud de Confiance,也無法檢查租戶資料。
降低節點冒用風險:在 受防護的 GKE 節點上執行工作負載,這類節點提供可驗證的節點完整性和身分驗證。所有工作負載類型都使用 Shielded GKE 節點。
避免工作負載使用靜態憑證:使用 GKE 適用的 Workload Identity Federation,透過短效期的聯合憑證從應用程式程式碼存取 Cloud de Confiance 服務,並防止非必要的 Compute Engine 中繼資料公開給應用程式。在所有正式環境叢集中使用 Workload Identity Federation for GKE,尤其是需要存取叢集外部服務中的資料時。
實施網路控管
您可以使用下列功能和產品,提升 AI 工作負載的網路安全性:
使用別名 IP 位址範圍:虛擬私有雲原生叢集會使用別名 IP 位址範圍,在 Pod 之間轉送流量,而不是使用虛擬私有雲網路中的靜態路徑。一律使用 VPC 原生叢集。
限制節點的網路存取權:使用私人節點,預設禁止節點與公開網際網路之間的流量。如要公開推論端點,應在端點和網際網路之間,使用 Google Cloud Armor 等代管服務。
預設拒絕叢集內流量:使用 Kubernetes NetworkPolicies 拒絕 Pod 之間、命名空間之間的流量,以及傳出至網際網路的流量。只允許需要特定存取權的應用程式網路流量。
為網際網路端點新增邊緣防護:您可以使用 Google Cloud Armor 實施頻率限制、DDoS 防護、地理位置存取控管和第 7 層攻擊緩解措施,保護公開至網際網路的推論端點。如果您有對外開放的 AI API,請使用 Cloud Armor 處理巨流量和應用程式層攻擊,避免攻擊影響運算基礎架構。將 Cloud Armor 與私有節點結合使用,盡量提升推論端點的安全性。
防範攻擊期間的資料竊取行為:使用 VPC Service Controls 為 Cloud de Confiance 資源建立安全 perimeter。即使憑證遭到入侵,攻擊者也無法將資料帶出 perimeter。對受監管的工作負載使用 VPC Service Controls。
管理身分與存取權
如要識別使用者及控管叢集和工作負載的存取權,請使用下列授權機制:
控管 Cloud de Confiance 資源的存取權:使用 Cloud de ConfianceIdentity and Access Management (IAM) 存取權政策,控管哪些主體可以與 GKE 叢集和節點互動。
控管叢集中的 Kubernetes 資源存取權:使用 Kubernetes 角色式存取控管 (RBAC) 政策,控管各種主體對各叢集內 Kubernetes API 資源的操作。
設定推論端點和管理介面的零信任存取權: 使用 Chrome Enterprise 進階版 等服務,根據身分和裝置資安態勢 (而非網路拓撲) 設定使用者存取權。
管理金鑰和密鑰
將所有加密金鑰和機密資料 (例如 API 金鑰和憑證) 存放在叢集外部。下列產品可協助您儲存這些資源:
管理加密金鑰:使用 Cloud Key Management Service 管理所有加密金鑰。您也可以在 Cloud KMS 中建立客戶自行管理的加密金鑰 (CMEK),使用您控管的金鑰加密資料,這通常是受監管產業的必要做法。
儲存機密應用程式資料:使用 Secret Manager 儲存工作負載使用的機密資料,例如應用程式密鑰、API 金鑰和憑證。如要從 Pod 讀取這項資料,請使用 GKE 適用的 Workload Identity Federation,僅授予特定工作負載身分 Pod 所需資源的存取權。
提升供應鏈安全性
下列 Cloud de Confiance 服務可協助您提升整個軟體供應鏈的安全性:
- 掃描容器映像檔安全漏洞:將容器映像檔儲存在預設啟用安全漏洞掃描功能的 Artifact Registry 存放區。為登錄檔中的每個映像檔啟用持續 CVE 偵測功能。
只允許經過驗證的映像檔進入正式環境:使用二進位授權,在部署時強制執行容器映像檔簽章的政策型授權。只有經過認證的映像檔才能進入正式環境。
設定安全偵測和態勢管理:使用 Security Command Center 查看 AI 專屬威脅偵測和態勢管理發現項目,例如 Gemini Enterprise Agent Platform 端點設定錯誤,或訓練資料 bucket 暴露在外。Security Command Center 會將這些 AI 發現項目與 Artifact Registry 安全漏洞和 IAM 分析結果整合,全面掌握機群狀況。
追蹤 AI 構件:使用專為 Kubernetes AI 工作負載建構的物料清單工具 (例如
k8s-aibom),產生模型、資料集和架構的完整清單。
提升模型層級的安全性
如果您執行的是自行訓練或微調的模型,或是自行設定的開放原始碼模型,則應設定各種控制項,提高模型的安全性。如果您執行的是第三方供應商提供的代管模型,則不適用這個層級。以下各節說明如何提升模型的完整性、機密性和安全性。
提升模型完整性
提高模型完整性,以便在模型可透過推論端點存取之前,找出竄改證據。請參考下列準則,提升模型完整性:
- 簽署模型構件:先以加密方式簽署模型權重,再將權重發布至登錄檔。部署模型時,請使用二進位授權認證驗證簽章。簽署及驗證模型構件,有助於判斷模型在儲存或傳輸期間是否遭到竄改,並為正式環境模型提供可驗證的監管鏈。
- 找出訓練後修改:開放原始碼 Activation Model Scanner (AMS) 會分析模型的活化特徵,並與基準比較,偵測訓練後是否經過修改 (例如新增後門、權重擾動或未經授權的微調)。在將模型發布至正式版登錄檔之前,請先在 CI/CD 管道中執行 AMS 等掃描器。對於高價值或受監管的模型,請定期安排 AMS 掃描正式版構件,偵測初始發布後是否遭到竄改。
保護模型機密性
如果模型權重涉及機密,例如專屬微調、以受管制資料訓練的模型,或具競爭力的智慧財產,請按照下列指南保護權重:
加密靜態權重:將權重儲存在加密的物件儲存庫 (例如 Cloud Storage bucket),並限制 IAM 存取權。Cloud Storage 預設會加密靜態儲存的客戶內容。您也可以選擇使用 CMEK,以您控管的金鑰加密資料,這通常是受管制產業的要求。詳情請參閱 Cloud Storage 說明文件中的「資料加密選項」。
保護使用中的權重:在機密 GKE 節點上執行模型,確保推論期間記憶體中的權重經過加密。機密 GKE 節點可協助您保護智慧財產,避免基礎架構營運商在管理程序層級遭到入侵及未經授權存取。機密 GKE 節點無法防範應用程式層級的漏洞攻擊,或具有節點層級存取權的授權使用者。
控管所有權重存取權:記錄所有儲存空間中模型構件的存取權。使用 IAM 存取權政策,限制特定服務帳戶和有記錄存取需求的人員存取。使用 Kubernetes RBAC 政策和 Chrome Enterprise 進階版,嚴格限制叢集的管理存取權,包括容器的殼層存取權、節點 VM 的 SSH 存取權,或節點層級的偵錯。這些措施可協助您保護模型權重,避免擁有節點層級存取權的使用者存取,這類存取權不在機密 GKE 節點的涵蓋範圍內。
改善模型安全屬性
訓練模型時,您可以實作各種安全設定。如果您要訓練或微調自己的模型,請投資與模型用途相關的安全訓練。模型的安全性屬性包括拒絕行為、對齊訓練,以及抵禦越獄攻擊。如果使用預先訓練的模型,請選擇安全性屬性符合應用程式需求的模型。
應用程式開發人員和操作人員可以在應用程式層實施各種控制措施,在模型無法涵蓋的領域提升安全性。
提升應用程式層級的安全性
在應用程式層,營運人員和開發人員最能控管 AI 專屬安全設定。在應用程式層,您可以實施安全控管措施,保護資料、建立格式正確的要求,以及保護提示和回覆。這些控制項通常適用於推論工作負載,可處理使用者提示、工作階段和回應。下列各節說明各種控制項、產品和服務,可協助您在應用程式層達成特定安全性目標。
防範內容層威脅
檢查所有提示詞和回覆,找出提示詞注入、機密資料外洩和有害內容等安全性問題。由於 GKE 節點設計為無法存取內容,因此請在應用程式和推論端點之間部署 Model Armor。Model Armor 採用特定的資料處理和儲存原則,旨在提升掃描期間的資料隱私權。
保護系統提示詞
過濾輸出內容,防止提示詞外洩,並設定 Model Armor 資料竊取偵測功能,找出擷取模式。如果是高度敏感的指令,請在不會向使用者傳回文字的呼叫中處理指令。
管理工作階段和轉送
向使用者公開推論端點時,請使用 GKE Inference Gateway。Inference Gateway 擴充了 Gateway API,可根據 AI 推論工作負載專屬的指標和資料轉送流量。您可以自動調度工作負載以因應需求,並與 Model Armor 和 Apigee 整合,進行內容篩選、工作階段層級的可觀測性及配額強制執行。
提升 AI 代理安全性
如果 AI 工作負載是代理,則需要額外的應用程式層控制項,例如:
- 限制 Cloud de Confiance API 的存取權:搭配 IAM 存取權政策使用 Workload Identity Federation for GKE,限制代理程式工作負載 Pod 可存取的 API。請為每個代理程式使用專屬的 Kubernetes ServiceAccount,並僅授予該主體工作負載所需的 IAM 權限。
- 在沙箱中執行程式碼或不信任的工具:使用 GKE 上的 Agent Sandbox,在沙箱環境中執行代理,這些代理會執行產生的程式碼,或與未經驗證的第三方工具互動。GKE 上的 Agent Sandbox 採用 GKE Sandbox 或 Kata Containers 等隔離機制,可防範容器跳脫。
設定可觀測性和事件應變
收集記錄並監控各種指標,及早找出潛在攻擊,並限制漏洞攻擊的影響。以下各節提供一些準則,可協助您改善偵測和回應。
收集記錄和指標
為盡快找出威脅,請盡可能採用下列觀測能力最佳做法:
- 收集 GKE 記錄檔。
- 針對敏感作業 (例如 KMS 金鑰使用) 啟用資料存取稽核記錄。
- 除非政策明確允許,否則請勿記錄提示或完成內容。如果您收集多模態提示和回應資料 (搶先版),請根據安全防護政策刪除或限制存取已儲存的資料。
- 收集對 SRE 而言重要的指標。
- 為特定類型的 AI 模型伺服器設定自動應用程式監控。
- 在 Cloud Logging 或您自己的安全資訊與事件管理 (SIEM) 平台中匯總記錄。
- 使用記錄指標,根據記錄內容建立指標。
偵測 AI 特有威脅
在 Logging 和 Cloud Monitoring 中設定快訊,偵測各種 AI 特有威脅。具體設定的警告政策,取決於收集的記錄類型和組織需求。如要進一步瞭解可用的快訊政策,請參閱「快訊選項比較」。設定 AI 專屬威脅的警告,例如:
| AI 專屬威脅和信號 | |
|---|---|
| 提示詞注入 | Model Armor 記錄 (用於清理或拒絕提示) |
| 系統提示詞擷取 | Model Armor 和快取命中異常 |
| 機密資料暴露 | Model Armor 回覆記錄 |
| 推論成本濫用 | Inference Gateway 指標的工作階段層級詞元用量 |
| 工作階段操弄 | 根據推論閘道指標,每個租戶的新工作階段速度 |
| 模型指紋 | 功能探查模式 |
| 計時側通道 | 架構緩解措施 (快取分區) |
建立事件應變程序
如何應變各種事件取決於組織架構和安全需求。以下指南說明偵測到特定類型的 AI 工作負載威脅時,應採取的行動:
Model Armor 中的內容偵測:封鎖要求、記錄事件,並設定快訊,在比率超過門檻時通知您。對屢次違規的使用者設定頻率限制。
推論偵測:使用 Inference Gateway 限制房客。終止確認有濫用行為的工作階段。
跨層關聯性:Model Armor 偵測結果加上權杖濫用模式,表示有協調式濫用行為。定義關聯規則,並找出可信度門檻,超過這個門檻後,偽陽性警示的風險就會降低。自動終止超過這個門檻的工作階段。
在整個部署生命週期中實施安全措施
在整個部署生命週期中,盡可能提升 AI 部署作業的安全性。 在特定生命週期階段,實施可保護一或多個層級的控管措施。以下各節將提供生命週期各階段的指南。
部署基礎架構
建立或設計執行 AI 工作負載的基礎架構時,請盡可能導入下列控制措施:
| 類別 | |
|---|---|
| GKE 節點 |
|
| 網路 |
|
| 身分與存取權管理 |
|
| 機密資料管理 |
|
| 觀測能力 |
|
操作工作負載和基礎架構
部署 AI 工作負載及執行正式環境系統時,請盡可能導入下列控制措施:
| 類別 | |
|---|---|
| 工作負載安全防護 |
|
| 網路 |
|
| 敏感資料保護 | 在受監管的環境中,使用 CMEK 以自己的金鑰加密資料。 |
| 觀測能力 |
|
大規模管理部署作業
隨著組織規模擴大,請實作下列控管機制,自動管理安全性:
- 使用組織政策服務設定機構層級防護機制。
- 使用 Kubernetes 許可 Webhook 強制執行許可時政策。
- 自動對高可信度偵測結果採取初步應變措施。
- 建立跨層 SIEM 關聯和個別租戶行為基準。
最佳做法摘要
下表彙整本文建議的最佳做法:
| 主題 | |
|---|---|
| 提升基礎架構層的安全性 | 保護 GKE 節點、實作網路控管、管理身分和存取權、管理金鑰和密碼,以及提升供應鏈安全。 |
| 提升模型層的安全性 | 提升模型完整性、保護模型機密性,以及改善模型安全屬性。 |
| 提升應用程式層的安全性 | 防範內容層威脅、保護系統提示、管理工作階段和轉送,以及提升 AI 代理安全性。 |
| 設定觀測能力和事件應變 | 收集記錄和指標、偵測 AI 特有的威脅,並建立事件應變程序。 |
| 在整個部署生命週期導入安全措施 | 部署基礎架構、操作工作負載和基礎架構,以及大規模控管部署作業。 |