本页面将指导您如何在 Google Distributed Cloud (GDC) 气隙环境中创建一次写入多次读取 (WORM) 存储分区。其中介绍了创建具有指定保留期限的 WORM 存储桶以及使用角色绑定授予访问权限的前提条件和步骤。借助这些信息,您可以强制执行严格的数据保留做法和不可变性,从而为记录和审核日志记录等用例提供稳健且合规的数据存储。
本页面面向基础架构运维人员组中的 IT 管理员或应用运维人员组中的开发者等受众群体,他们负责管理 GDC 网闸隔离配置环境中存储分区的数据保留和合规性设置。如需了解详情,请参阅 GDC 网闸隔离配置文档的受众群体。
准备工作
项目命名空间用于管理 Management API 服务器中的存储桶资源。您 必须拥有项目才能使用存储分区和对象。
您还必须拥有相应的存储桶权限才能执行以下操作。请参阅授予存储桶访问权限。
对于双区域存储分区,请配置 kubectl 以访问 Global API 服务器。按照 Global API 服务器资源 中的步骤操作,并将 GLOBAL_API_SERVER 环境变量设置为 kubeconfig 文件。
创建 WORM 存储桶
WORM 存储桶可确保没有其他内容覆盖对象,并将其保留至少一段时间。审核日志记录是 WORM 存储桶的一个示例用例。
如需创建 WORM 存储桶,请按以下步骤操作:
在创建存储桶时设置保留期限。例如,以下示例存储桶的保留期限为 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向所有需要只读访问权限的用户授予
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-viewer apiGroup: rbac.authorization.k8s.io subjects: - kind: ServiceAccount namespace: foo-service name: foo-service-account