Laboratorio 7: Seguridad, Gobernanza y Control de Acceso (IAM, Filas y Columnas)

Laboratorio 7: Seguridad, Gobernanza y Control de Acceso (IAM, Filas y Columnas)

Objetivos del Laboratorio

  • Implementar seguridad a nivel de columna (CLS) utilizando taxonomías y etiquetas de políticas de Data Catalog para proteger datos sensibles de tipo PII.
  • Implementar seguridad a nivel de fila (RLS) definiendo políticas de acceso condicional directo sobre el motor de almacenamiento analítico.
  • Comprender el comportamiento del descarte de registros y mitigar el bloqueo accidental de los administradores declarando una política permisiva estructurada.
  • Simular y auditar las restricciones de acceso geográfico alternando de forma segura el contexto de identidades locales con cuentas de servicio.

Herramientas y APIs Utilizadas

  • Data Catalog API: Servicio de gobernanza y metadatos que habilita el control de acceso fino a nivel de columna.
  • BigQuery API: Motor que administra los permisos y valida en tiempo de ejecución las políticas condicionales de fila.
  • gcloud CLI: Interfaz de comandos empleada para administrar cuentas de servicio, descargar claves criptográficas y alternar sesiones locales.

Estructura del Código Desarrollado

  • employees.csv: Datos de empleados que asocian identificadores con un número de seguro social protegido (ssn) y una región geográfica.
  • main.tf: Configuración de Terraform que habilita servicios, crea la cuenta de servicio eu-analyst, la taxonomía de seguridad, la tabla de empleados y las políticas de fila.
  • 07_01_query_as_owner.sql: Consulta SQL de verificación ejecutada desde el rol de administrador del proyecto.
  • 07_02_query_as_analyst.sql: Consulta diseñada para auditar las exclusiones lógicas automáticas de la cuenta de servicio restringida.

Paso a Paso del Despliegue

Fase 1: Preparación de Datos y Estructuración

  • Creación de los registros planos de empleados segmentando el volumen de datos por regiones geográficas de Estados Unidos y Europa.
  • Configuración declarativa en Terraform de los recursos google_data_catalog_taxonomy y google_data_catalog_policy_tag.
  • Vinculación de la etiqueta de política de seguridad directamente sobre el esquema físico de la columna ssn en Terraform.

Fase 2: Implementación de Políticas de Fila

  • Declaración de la directiva de seguridad de fila google_bigquery_row_access_policy acotando el filtro a region = 'EU' para la cuenta de servicio de analista de Europa.
  • Declaración de una política de acceso general para el propietario del proyecto con la expresión lógica true para asegurar la continuidad de accesos.
  • Aplicación física de la infraestructura de gobernanza y carga de datos iniciales utilizando la utilidad bq load.

Fase 3: Auditoría y Emulación de Roles

  • Ejecución de una consulta analítica inicial como administrador del proyecto para verificar el bloqueo inmediato de la columna protegida ssn.
  • Generación y descarga de la clave criptográfica local de la cuenta de servicio restringida utilizando el comando gcloud iam service-accounts keys create.
  • Activación y suplantación local del rol analista de Europa en la terminal mediante gcloud auth activate-service-account.
  • Ejecución del script SQL de auditoría comprobando que BigQuery descarta en el motor de almacenamiento cualquier fila que no corresponda a la región EU.
  • Restauración segura del contexto de autenticación local de vuelta a las credenciales de administrador del proyecto.
Newsletter GCP
¿Quieres estar al día con las últimas novedades de Google Cloud Platform? ¡Suscríbete y no te pierdas nada!