En esta página, se explica cómo crear buckets de almacenamiento de tipo Write Once Read Many (WORM) en entornos de dispositivos aislados de Google Distributed Cloud (GDC). Esto abarca los requisitos previos y los pasos para crear un bucket WORM con un período de retención definido y para otorgar permisos de acceso mediante vinculaciones de roles. Esta información te permite aplicar prácticas estrictas de retención de datos y de inmutabilidad, lo que proporciona un almacenamiento de datos sólido y compatible para registros y casos de uso como el registro de auditoría.
Esta página está destinada a públicos como los administradores de TI dentro del grupo de operadores de infraestructura o los desarrolladores dentro del grupo de operadores de aplicaciones que administran la retención de datos y la configuración de cumplimiento para los buckets de almacenamiento en entornos aislados de GDC.
Antes de comenzar
Un espacio de nombres del proyecto administra los recursos del bucket en el servidor de la API de administración. Debes tener un proyecto para trabajar con buckets y objetos.
También debes tener los permisos de bucket adecuados para realizar la siguiente operación. Consulta Otorgar acceso al bucket.
Para ejecutar comandos en el servidor de la API de administración, accede y genera el archivo kubeconfig para el servidor de la API de administración si no tienes uno.
Crea un bucket WORM
Un bucket WORM garantiza que nada más reemplace los objetos y los retiene durante un período mínimo. El registro de auditoría es un ejemplo de caso de uso para un bucket WORM.
Sigue estos pasos para crear un bucket WORM:
Establece un período de retención cuando crees el bucket. Por ejemplo, el siguiente bucket de ejemplo tiene un período de retención de 365 días.
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: 365Otorga el rol
project-bucket-object-viewera todos los usuarios que necesiten acceso de solo lectura: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.ioOtorga el rol
project-bucket-object-admina los usuarios que necesiten escribir contenido en el bucket: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