本页面将引导您了解如何在 Google Distributed Cloud (GDC) 气隙环境中创建一次写入多次读取 (WORM) 存储分区。本文介绍了创建具有明确保留期限的 WORM 存储桶的前提条件和步骤,以及如何使用角色绑定授予访问权限。借助这些信息,您可以强制执行严格的数据保留实践和不可变性,从而为记录和审核日志记录等用例提供强大且合规的数据存储。
本页面面向的受众群体包括基础设施运维人员组中的 IT 管理员或应用运维人员组中的开发者,他们负责管理 GDC 网闸隔离配置环境中存储分区的数据保留和合规性设置。如需了解详情,请参阅 GDC 气隙环境文档的受众群体。
准备工作
存储分区是限定于特定项目的资源。项目充当容器,用于对您的存储分区进行分组,并通过 Management API 服务器实现对这些存储分区的管理。您必须先创建新项目或选择您拥有足够权限的现有项目,然后才能执行本页面上的操作。
所需 IAM 角色
请与您的 IAM 项目管理员联系,请求在项目命名空间中授予以下角色:
- Project Bucket Admin (
project-bucket-admin):创建、更新和删除存储分区。 - Project Bucket Object Viewer (
project-bucket-object-viewer):查看和检查存储分区及对象的详细信息。
如需了解详情,请参阅授予存储桶访问权限。
准备环境
如需针对管理 API 服务器或全局 API 服务器运行命令,请执行以下操作:
- 登录并生成区域管理 API 服务器的 kubeconfig 文件(如果您还没有)。
- 对于双可用区存储分区,请执行以下操作:
- 与您的基础设施运维人员 (IO) 确认是否已为配对的可用区创建
BucketLocationConfig自定义资源。 - 为全局 API 服务器生成 kubeconfig 文件。
- 与您的基础设施运维人员 (IO) 确认是否已为配对的可用区创建
创建 WORM 存储桶
WORM 存储桶可确保没有其他内容会覆盖对象,并确保对象至少保留一段时间。审核日志记录是 WORM 存储桶的一个用例。
请按以下步骤创建 WORM 存储桶:
在创建存储桶时设置保留期限。保留期限定义了每个对象版本在多少天内无法删除或修改。此保留期限与存储类别的最短存储时长(例如
Standard存储类别的最短存储时长为 30 天)不同。例如,以下存储桶设置的保留期限为 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