AWS Lake Formation

Servicio que centraliza la construcción, gestión y seguridad de data lakes, proporcionando control de acceso granular a nivel de columna y fila sobre datos en S3

Descripción general

AWS Lake Formation es un servicio que gestiona de forma centralizada la construcción de data lakes basados en S3, la ingesta de datos, el registro en catálogo y el control de acceso. Integrado con Glue Data Catalog, proporciona ingesta desde fuentes de datos (blueprints), detección automática de esquemas y control de acceso a nivel de tabla, columna y fila, así como compartición de datos entre cuentas. Los permisos de acceso al consultar el data lake desde Athena, Redshift Spectrum o EMR se gestionan mediante políticas centralizadas de Lake Formation.

Control de acceso granular imposible con políticas IAM

Intentar gestionar el control de acceso de un data lake solo con políticas IAM de S3 y políticas de recursos de Glue Data Catalog resulta en una complejidad explosiva de políticas a medida que aumentan las tablas y usuarios. Lake Formation proporciona un modelo de permisos propio que otorga acceso a nivel de base de datos, tabla, columna y fila, gestionable con operaciones intuitivas similares a GRANT/REVOKE de SQL. El filtrado a nivel de columna permite exponer todas las columnas al usuario A mientras que al usuario B solo se muestran columnas excluyendo información personal. Row-Level Security define filtros de datos para lograr control de acceso por fila como "los usuarios del departamento de ventas solo ven datos de su departamento". Cell-Level Security combina filtrado de columnas y filas, permitiendo el control más granular como enmascarar solo columnas específicas de filas específicas. Estos permisos se aplican consistentemente independientemente de si se consulta desde Athena, Redshift Spectrum o EMR, previniendo accidentes donde los datos visibles cambian según la ruta de acceso.

Flujo de trabajo de construcción de data lake y blueprints

El flujo de trabajo estándar para construir un data lake con Lake Formation consta de 4 pasos: registro de ubicación del data lake, conexión de fuentes de datos, ingesta mediante blueprints y configuración de permisos. Primero se registra un bucket S3 como ubicación del data lake, delegando permisos de acceso a Lake Formation. Luego se configura la conexión a fuentes de datos (RDS, DynamoDB, bases de datos on-premises, etc.). Los blueprints son plantillas de patrones de ingesta de datos típicos, disponibles en dos tipos: snapshot de base de datos (ingesta completa) e ingesta incremental. Al ejecutar un blueprint, se generan automáticamente crawlers y jobs ETL de Glue en segundo plano, extrayendo datos de la fuente, almacenándolos en formato Parquet en S3 y registrándolos como tablas en Glue Data Catalog. Comparado con construir jobs Glue manualmente, reduce significativamente el esfuerzo de configuración inicial. Sin embargo, para transformaciones de datos complejas o lógica personalizada, crear jobs Glue directamente es más flexible.

Compartición de datos entre cuentas y Governed Tables

La compartición de datos entre cuentas de Lake Formation permite otorgar permisos de acceso a datos por tabla o columna a otras cuentas dentro de Organizations o cuentas externas. El acceso entre cuentas tradicional mediante políticas de bucket S3 no permitía control consciente de la estructura lógica de datos (tablas, columnas), pero Lake Formation permite compartir con granularidad como "la cuenta B solo puede leer columnas A, B, C de la tabla X". Integrado con AWS RAM (Resource Access Manager), el flujo de invitación y aprobación de compartición está estandarizado. Governed Tables es un tipo especial de tabla gestionada por Lake Formation que soporta transacciones ACID, compactación automática de datos y consultas de viaje en el tiempo. Incluso cuando múltiples jobs ETL escriben simultáneamente en la misma tabla, el nivel de aislamiento de transacciones está garantizado, evitando que el lado de lectura acceda a datos en estado incompleto. La integración con el formato de tabla Apache Iceberg también avanza, permitiendo aplicar el modelo de permisos de Lake Formation a tablas Iceberg.

共有するXB!