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 describen 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 enlaces 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 aislados de GDC. Para obtener más información, consulta Audiencias de la documentación de GDC air-gapped.
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.
Crear un segmento WORM
Un segmento WORM se asegura de 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 conservación al crear el segmento. Por ejemplo, el siguiente ejemplo de contenedor tiene un periodo de conservació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
Asigna 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
Concede el rol
project-bucket-object-admin
a 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