Crea buckets de almacenamiento WORM

En esta página, se explica cómo crear buckets de almacenamiento de escritura única y lecturas múltiples (WORM) en entornos de dispositivos aislados de Google Distributed Cloud (GDC). En esta sección, se describen los requisitos previos y los pasos para crear un bucket de WORM con un período de retención definido y para otorgar permisos de acceso con 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 los registros y los casos de uso, como el registro de auditoría.

Esta página está dirigida 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 configuración de cumplimiento y retención de datos 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 Management. 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 Cómo otorgar acceso al bucket.

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:

  1. 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: 365
    
  2. Otorga el rol project-bucket-object-viewer a 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.io
    
  3. Otorga el rol project-bucket-object-admin a los usuarios que necesitan 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