En esta página se explica cómo crear segmentos de almacenamiento WORM (Write Once Read Many) en entornos con air gap de Google Distributed Cloud (GDC). En este artículo se explican los requisitos previos y los pasos para crear un segmento WORM con un periodo de retención definido y para conceder permisos de acceso mediante vinculaciones de roles. Esta información te permite aplicar prácticas estrictas de conservación de datos e inmutabilidad, lo que proporciona un almacenamiento de datos sólido y conforme para registros y casos prácticos, como el registro de auditoría.
Esta página está dirigida a audiencias como los administradores de TI del grupo de operadores de infraestructura o los desarrolladores del grupo de operadores de aplicaciones que gestionan la conservación de datos y la configuración de cumplimiento de los contenedores de almacenamiento en entornos GDC aislados. Para obtener más información, consulta Audiencias de la documentación aislada de GDC.
Antes de empezar
Un espacio de nombres de proyecto gestiona los recursos de los contenedores en el servidor de la API Management. Debes tener un proyecto para trabajar con los contenedores y los objetos.
También debe tener los permisos de contenedor adecuados para realizar la siguiente operación. Consulta Conceder acceso a un contenedor.
En el caso de los contenedores de doble zona, configura kubectl para acceder al servidor de la API global. Sigue los pasos que se indican en Recursos del servidor de la API global y asigna el archivo kubeconfig a la variable de entorno GLOBAL_API_SERVER.
Crear un segmento WORM
Un segmento WORM asegura que nada sobrescriba los objetos y los conserva durante un periodo mínimo. El registro de auditoría es un ejemplo de caso práctico de un segmento WORM.
Sigue estos pasos para crear un segmento WORM:
Configura un periodo de retención al crear el segmento. Por ejemplo, el siguiente cubo de ejemplo tiene un periodo 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: 365Asigna 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.ioConcede el rol
project-bucket-object-admina los usuarios que necesiten escribir contenido en el contenedor: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