本文提供 Cloud Storage 最佳做法和指南,適用於在 Google Cloud上執行生成式 AI 工作負載的情況。搭配使用 Cloud Storage 和 Vertex AI,儲存訓練資料、模型構件和正式環境資料。
以下是搭配使用 Cloud Storage 與 Vertex AI 的應用實例:
- 儲存訓練資料:Vertex AI 可讓您將訓練資料集儲存在 Cloud Storage 值區中。使用 Cloud Storage 有多項優點:
- Cloud Storage 可處理任何大小的資料集,讓您訓練模型時,不必擔心儲存空間不足。
- 您可以在 Cloud Storage bucket 中設定精細的存取權控管和加密措施,確保敏感訓練資料受到保護。
- Cloud Storage 可讓您追蹤變更並還原至先前的資料版本,提供有價值的稽核追蹤記錄,並協助重現訓練實驗。
- Vertex AI 與 Cloud Storage 完美整合,可讓您在平台中存取訓練資料。
- 儲存模型構件:您可以將訓練好的模型構件 (包括模型檔案、超參數設定和訓練記錄) 儲存在 Cloud Storage 值區。使用 Cloud Storage 可讓您執行下列操作:
- 將所有模型構件儲存在 Cloud Storage 中,做為集中式存放區,方便存取及管理。
- 追蹤及管理不同版本的模型,方便比較及視需要回溯。
- 授予隊友和協作者特定 Cloud Storage bucket 的存取權,有效率地共用模型。
- 儲存正式版資料:對於用於正式版的模型,Cloud Storage 可以儲存提供給模型進行預測的資料。舉例來說,您可以使用 Cloud Storage 執行下列操作:
- 儲存使用者資料和互動記錄,即時提供個人化推薦內容。
- 保留圖片,以便使用模型進行隨選處理和分類。
- 使用模型維護交易資料,即時識別詐欺行為。
- 與其他服務整合:Cloud Storage 可與 Vertex AI 工作流程中使用的其他 Google Cloud 服務無縫整合,例如:
- Dataflow 可簡化資料預先處理和轉換管道。
- BigQuery:存取儲存在 BigQuery 中的大型資料集,用於模型訓練和推論。
- Cloud Run 函式,可根據模型預測或 Cloud Storage 值區中的資料變更執行動作。
- 控管費用:Cloud Storage 採用「即付即用」計費模式,因此您只需要為實際使用的儲存空間付費。這有助於節省成本,尤其是在處理大型資料集時。
- 啟用高可用性和耐久性:Cloud Storage 可確保資料高可用性,並防止故障或服務中斷,保證 ML 資產的可靠性及穩健存取。
- 啟用多地區支援:將資料儲存在多個 Cloud Storage 地區,這些地區在地理位置上更靠近使用者或應用程式,可提升效能並縮短資料存取和模型預測的延遲時間。
必要的 Cloud Storage 控制項
使用 Cloud Storage 時,強烈建議您採用下列控制項。
禁止公開存取 Cloud Storage bucket
| Google 控制項 ID | GCS-CO-4.1 |
|---|---|
| 類別 | 必要 |
| 說明 |
|
| 適用產品 |
|
| 路徑 | constraints/storage.publicAccessPrevention |
| 運算子 | == |
| 值 |
|
| 類型 | 布林值 |
| 相關的 NIST-800-53 控制項 |
|
| 相關的 CRI 設定檔控制項 |
|
| 相關資訊 |
使用統一值區層級存取權
| Google 控制項 ID | GCS-CO-4.2 |
|---|---|
| 類別 | 必要 |
| 說明 |
|
| 適用產品 |
|
| 路徑 | constraints/storage.uniformBucketLevelAccess |
| 運算子 | == |
| 值 |
|
| 類型 | 布林值 |
| 相關的 NIST-800-53 控制項 |
|
| 相關的 CRI 設定檔控制項 |
|
| 相關資訊 |
保護服務帳戶的 HMAC 金鑰
| Google 控制項 ID | GCS-CO-6.9 |
|---|---|
| 類別 | 必要 |
| 說明 | HMAC 金鑰是與 Cloud Storage 中的服務帳戶或使用者帳戶相關聯的長期憑證。使用 HMAC 金鑰建立簽名,然後將其加入傳送至 Cloud Storage 的要求中。簽名可證明使用者或服務帳戶已授權要求。 與短期憑證 (例如 OAuth 2.0 權杖),HMAC 金鑰不會自動過期,且在手動撤銷前都有效。HMAC 金鑰是高風險憑證,一旦遭盜用,就能持續存取您的資源。您必須確保已採取適當機制來保護這些資料。 |
| 適用產品 |
|
| 路徑 | storage.projects.hmacKeys/id |
| 運算子 | Exists |
| 值 |
|
| 類型 | 字串 |
| 相關的 NIST-800-53 控制項 |
|
| 相關的 CRI 設定檔控制項 |
|
| 相關資訊 |
偵測服務帳戶列舉 Cloud Storage bucket 的行為
| Google 控制項 ID | GCS-CO-7.2 |
|---|---|
| 類別 | 必要 |
| 說明 | 服務帳戶是專為應用程式設計的非人類身分,行為可預測且自動化。一般來說,服務帳戶不需要列出儲存空間,因為這些儲存空間已對應。因此,如果發現服務帳戶嘗試擷取所有 Cloud Storage 值區的清單,請立即展開調查。惡意行為人取得服務帳戶存取權後,通常會使用偵察列舉做為偵察技術。 |
| 適用產品 |
|
| 運算子 | == |
| 值 |
|
| 類型 | 字串 |
| 相關的 NIST-800-53 控制項 |
|
| 相關的 CRI 設定檔控制項 |
|
| 相關資訊 |
偵測服務帳戶對 Cloud Storage 儲存空間的 Identity and Access Management (IAM) 政策所做的修改
| Google 控制項 ID | GCS-CO-7.3 |
|---|---|
| 類別 | 必要 |
| 說明 | 設定快訊,偵測 Cloud Storage bucket 的 IAM 政策是否經過修改,以授予公開存取權。當 在快訊中,將 |
| 適用產品 |
|
| 相關的 NIST-800-53 控制項 |
|
| 相關的 CRI 設定檔控制項 |
|
| 相關資訊 |
根據生成式 AI 用途建議使用的控制項
視生成式 AI 的用途而定,我們建議您採取額外控制措施。這些控制措施包括資料保留控制項,以及其他以政策為依據的控制項,這些控制項會根據您的企業政策運作。
確保 Cloud Storage bucket 保留政策使用 Bucket Lock
| Google 控制項 ID | GCS-CO-6.1 |
|---|---|
| 類別 | 建議 |
| 說明 | 請根據法規要求,確保每個 Cloud Storage bucket 的保留政策都已鎖定。將保留期限設為符合您需求的時間範圍。 |
| 適用產品 |
|
| 路徑 | storage.buckets/retentionPolicy.isLocked |
| 運算子 | != |
| 值 |
|
| 類型 | 布林值 |
| 相關的 NIST-800-53 控制項 |
|
| 相關的 CRI 設定檔控制項 |
|
| 相關資訊 |
為 SetStorageClass 動作設定生命週期規則
| Google 控制項 ID | GCS-CO-6.11 |
|---|---|
| 類別 | 建議 |
| 說明 | 對具有 |
| 適用產品 |
|
| 路徑 | storage.buckets/lifecycle.rule.action.type |
| 運算子 | == |
| 值 |
|
| 類型 | 字串 |
| 相關的 NIST-800-53 控制項 |
|
| 相關的 CRI 設定檔控制項 |
|
| 相關資訊 |
設定儲存空間級別的允許地區
| Google 控制項 ID | GCS-CO-6.12 |
|---|---|
| 類別 | 建議 |
| 說明 | 確認生命週期設定的儲存空間類別不在允許的區域分類中。 |
| 適用產品 |
|
| 路徑 | storage.buckets/lifecycle.rule.action.storageClass |
| 運算子 | nin |
| 值 |
|
| 類型 | 字串 |
| 相關的 NIST-800-53 控制項 |
|
| 相關的 CRI 設定檔控制項 |
|
| 相關資訊 |
啟用 Cloud Storage 值區的生命週期管理
| Google 控制項 ID | GCS-CO-6.13 |
|---|---|
| 類別 | 建議 |
| 說明 | 確認已啟用並設定 Cloud Storage 的生命週期管理功能。生命週期控制項包含儲存空間生命週期的設定。確認這項設定中的政策符合您的需求。 |
| 適用產品 |
|
| 路徑 | storage.buckets/lifecycle |
| 運算子 | Exists |
| 值 |
|
| 類型 | 物件 |
| 相關的 NIST-800-53 控制項 |
|
| 相關的 CRI 設定檔控制項 |
|
| 相關資訊 |
為 Cloud Storage 值區啟用生命週期管理規則
| Google 控制項 ID | GCS-CO-6.14 |
|---|---|
| 類別 | 建議 |
| 說明 | 確認已啟用並設定 Cloud Storage 的生命週期管理規則。規則控制項包含儲存空間生命週期的設定。確認這項設定中的政策符合您的需求。 |
| 適用產品 |
|
| 路徑 | storage.buckets/lifecycle.rule |
| 運算子 | Empty |
| 值 |
|
| 類型 | 陣列 |
| 相關的 NIST-800-53 控制項 |
|
| 相關的 CRI 設定檔控制項 |
|
| 相關資訊 |
查看並評估有效物件的暫時性訴訟保留
| Google 控制項 ID | GCS-CO-6.16 |
|---|---|
| 類別 | 建議 |
| 說明 | 找出所有將 temporaryHold 設為 TRUE 的物件,並開始調查和驗證程序。這項評估適用於下列用途:
|
| 適用產品 |
|
| 路徑 | storage.objects/temporaryHold |
| 運算子 | == |
| 值 |
|
| 類型 | 布林值 |
| 相關的 NIST-800-53 控制項 |
|
| 相關的 CRI 設定檔控制項 |
|
| 相關資訊 |
強制執行 Cloud Storage bucket 的資料保留政策
| Google 控制項 ID | GCS-CO-6.17 |
|---|---|
| 類別 | 建議 |
| 說明 | 確保所有 Cloud Storage bucket 都有資料保留政策。 |
| 適用產品 |
|
| 路徑 | storage.buckets/retentionPolicy.retentionPeriod |
| 運算子 | agesmaller |
| 值 |
|
| 類型 | int64 |
| 相關的 NIST-800-53 控制項 |
|
| 相關的 CRI 設定檔控制項 |
|
| 相關資訊 |
強制執行 Cloud Storage bucket 的分類標記
| Google 控制項 ID | GCS-CO-6.18 |
|---|---|
| 類別 | 建議 |
| 說明 | 資料分類是所有資料治理和安全計畫的基礎。請務必為每個值區套用分類標籤,例如「公開」、「內部」、「機密」或「受限」。 確認 |
| 適用產品 |
|
| 路徑 | storage.buckets/labels.classification |
| 運算子 | notexists |
| 值 |
|
| 類型 | 延長 |
| 相關的 NIST-800-53 控制項 |
|
| 相關的 CRI 設定檔控制項 |
|
| 相關資訊 |
強制使用 Cloud Storage bucket 的記錄 bucket
| Google 控制項 ID | GCS-CO-6.3 |
|---|---|
| 類別 | 建議 |
| 說明 | 確認每個 Cloud Storage bucket 都包含記錄 bucket。 |
| 適用產品 |
|
| 路徑 | storage.buckets/logging.logBucket |
| 運算子 | notexists |
| 值 |
|
| 類型 | 字串 |
| 相關的 NIST-800-53 控制項 |
|
| 相關的 CRI 設定檔控制項 |
|
| 相關資訊 |
設定 Cloud Storage bucket 的刪除規則
| Google 控制項 ID | GCS-CO-6.5 |
|---|---|
| 類別 | 建議 |
| 說明 | 在 Cloud Storage 中, 設定 |
| 適用產品 |
|
| 路徑 | storage.buckets/lifecycle.rule.action.type |
| 運算子 | == |
| 值 |
|
| 類型 | 字串 |
| 相關的 NIST-800-53 控制項 |
|
| 相關的 CRI 設定檔控制項 |
|
| 相關資訊 |
確認刪除規則的 isLive 條件為 False
| Google 控制項 ID | GCS-CO-6.6 |
|---|---|
| 類別 | 建議 |
| 說明 | 如果是刪除規則,請確認規則的 在 Cloud Storage 中, 實務應用:
|
| 適用產品 |
|
| 路徑 | storage.buckets/lifecycle.rule.condition.isLive |
| 運算子 | == |
| 值 |
|
| 類型 | 布林值 |
| 相關的 NIST-800-53 控制項 |
|
| 相關的 CRI 設定檔控制項 |
|
| 相關資訊 |
強制執行 Cloud Storage bucket 的版本控管
| Google 控制項 ID | GCS-CO-6.7 |
|---|---|
| 類別 | 建議 |
| 說明 | 確保所有 Cloud Storage bucket 均已啟用版本管理功能。用途包括:
|
| 適用產品 |
|
| 路徑 | storage.buckets/versioning.enabled |
| 運算子 | != |
| 值 |
|
| 類型 | 布林值 |
| 相關的 NIST-800-53 控制項 |
|
| 相關的 CRI 設定檔控制項 |
|
| 相關資訊 |
強制為 Cloud Storage bucket 設定擁有者
| Google 控制項 ID | GCS-CO-6.8 |
|---|---|
| 類別 | 建議 |
| 說明 | 確認 |
| 適用產品 |
|
| 路徑 | storage.buckets/labels.owner |
| 運算子 | notexists |
| 值 |
|
| 類型 | 延長 |
| 相關的 NIST-800-53 控制項 |
|
| 相關的 CRI 設定檔控制項 |
|
| 相關資訊 |
啟用重要 Cloud Storage 活動的記錄功能
| Google 控制項 ID | GCS-CO-7.4 |
|---|---|
| 類別 | 建議 |
| 說明 | 根據用途,針對特定儲存空間物件啟用額外記錄功能。舉例來說,您可以記錄私密資料 bucket 的存取權,追蹤存取者和存取時間。啟用額外記錄功能時,請考量您可能會產生的記錄量。 |
| 適用產品 |
|
| 相關的 NIST-800-53 控制項 |
|
| 相關的 CRI 設定檔控制項 |
|
| 相關資訊 |
後續步驟
查看 Dataflow 控制項。
參閱這篇文章,瞭解更多生成式 AI 工作負載適用的Google Cloud 安全性最佳做法和指南。