为项目创建存储 WORM 存储分区

本页面介绍了如何创建 Google Distributed Cloud (GDC) 气隙存储 WORM 存储分区。

准备工作

项目命名空间用于管理 Management API 服务器中的存储桶资源。您必须拥有项目才能使用存储分区和对象。

您还必须拥有相应的存储桶权限才能执行以下操作。请参阅授予存储桶访问权限

创建 WORM 存储桶

WORM 存储桶可确保没有其他内容会覆盖对象,并确保对象至少保留一段时间。审核日志记录是 WORM 存储桶的一个用例。

请按以下步骤创建 WORM 存储桶:

  1. 在创建存储桶时设置保留期限。例如,以下示例存储桶的保留期限为 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