為專案建立儲存空間 WORM bucket

本頁說明如何建立 Google Distributed Cloud (GDC) 離線儲存空間 WORM 值區。

事前準備

專案命名空間可管理 Management API 伺服器中的 bucket 資源。您必須擁有專案,才能使用 bucket 和物件。

您也必須具備適當的 bucket 權限,才能執行下列作業。請參閱「授予 bucket 存取權」。

建立 WORM 值區

WORM 值區可確保物件不會遭到覆寫,並保留至少一段時間。稽核記錄是 WORM 值區的用途範例。

如要建立 WORM 值區,請按照下列步驟操作:

  1. 建立值區時,請設定保留期限。舉例來說,下列範例 bucket 的保留期限為 365 天。

    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
    
  2. 將「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
    
  3. 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-viewer
      apiGroup: rbac.authorization.k8s.io
    subjects:
    - kind: ServiceAccount
      namespace: foo-service
      name: foo-service-account