本頁將逐步說明如何在 Google Distributed Cloud (GDC) 氣隙環境中,建立一次寫入多次讀取 (WORM) 儲存空間值區。本文將說明建立 WORM bucket 的先決條件和步驟,包括定義保留期限,以及使用角色繫結授予存取權。您可以根據這項資訊強制執行嚴格的資料保留做法和不可變更性,為記錄和稽核記錄等用途提供強大且符合規範的資料儲存空間。
這個頁面適用於基礎架構營運商群組的 IT 管理員,或應用程式營運商群組的開發人員,他們負責管理 GDC 氣隙環境中儲存空間的資料保留和法規遵循設定。詳情請參閱 GDC 氣隙環境適用的目標對象說明文件。
事前準備
儲存空間值區是範圍僅限特定專案的資源。專案會做為容器,將值區分組,並透過 Management API 伺服器管理這些值區。如要在此頁面執行作業,您必須建立新專案,或選取具備足夠權限的現有專案。
必要的 IAM 角色
請與 IAM 專案管理員聯絡,要求在專案命名空間中取得下列角色:
- 專案值區管理員 (
project-bucket-admin):建立、更新及刪除儲存空間值區。 - 專案值區物件檢視者 (
project-bucket-object-viewer):查看及檢查儲存空間值區和物件的詳細資料。
詳情請參閱「授予 bucket 存取權」。
準備環境
如要對管理 API 伺服器或全域 API 伺服器執行指令,請按照下列步驟操作:
- 如果沒有區域管理 API 伺服器的 kubeconfig 檔案,請登入並產生該檔案。
- 如果是雙區域值區,請執行下列操作:
- 請與基礎架構營運商 (IO) 確認,是否已為配對區域建立
BucketLocationConfig自訂資源。 - 產生全域 API 伺服器的 kubeconfig 檔案。
- 請與基礎架構營運商 (IO) 確認,是否已為配對區域建立
建立 WORM bucket
WORM 值區可確保物件不會遭到覆寫,並保留至少一段時間。稽核記錄是 WORM bucket 的用途範例。
如要建立 WORM bucket,請按照下列步驟操作:
建立 bucket 時,請設定保留期限。保留期限會定義每個物件版本遭到鎖定,無法刪除或修改的天數。這項保留期限與儲存空間級別的最短儲存時間不同 (例如
Standard儲存空間級別的最短儲存時間為 30 天)。舉例來說,下列 bucket 會將保留期限設為 365 天。如要超出保留政策限制,請與基礎架構營運商 (IO) 聯絡。apiVersion: object.gdc.goog/v1 kind: Bucket metadata: name: foo-logging-bucket namespace: foo-service spec: description: "Audit logs for foo" storageClass: Standard bucketPolicy: lockingPolicy: defaultObjectRetentionDays: 365將
project-bucket-object-viewer角色授予所有需要唯讀存取權的使用者:apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: namespace: foo-service name: object-readonly-access roleRef: kind: Role name: project-bucket-object-viewer apiGroup: rbac.authorization.k8s.io subjects: - kind: ServiceAccount namespace: foo-service name: foo-log-processor - kind: User name: bob@example.com apiGroup: rbac.authorization.k8s.io將
project-bucket-object-admin角色授予需要將內容寫入值區的使用者:apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: namespace: foo-service name: object-write-access roleRef: kind: Role name: project-bucket-object-admin apiGroup: rbac.authorization.k8s.io subjects: - kind: ServiceAccount namespace: foo-service name: foo-service-account