Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Uso de AWS Glue con AWS Lake Formation para obtener un control de acceso detallado

Modo de enfoque
Uso de AWS Glue con AWS Lake Formation para obtener un control de acceso detallado - AWS Glue

Descripción general

Con la versión 5.0 de AWS Glue y posteriores, puede aprovechar AWS Lake Formation para aplicar controles de acceso detallados en las tablas del catálogo de datos respaldadas por S3. Esta capacidad le permite configurar los controles de acceso a nivel de tabla, fila, columna y celda para las consultas de read en sus trabajos de Apache Spark de AWS Glue. Consulte las siguientes secciones para obtener más información sobre Lake Formation y cómo usarlo con AWS Glue.

El control de acceso a nivel de tabla basado en GlueContext con permisos de AWS Lake Formation admitido en Glue 4.0 y las versiones anteriores no se admite en Glue 5.0. En Glue 5.0 se utiliza el nuevo control de acceso detallado (FGAC) nativo de Spark. Tenga en cuenta la siguiente información:

  • Si necesita un control de acceso detallado (FGAC) para el control de acceso de filas, columnas o celdas, tendrá que migrar desde GlueContext/Glue DynamicFrame en Glue 4.0 y antes al marco de datos de Spark en Glue 5.0. Para ver ejemplos, consulte Migración de GlueContext/Glue DynamicFrame a Spark DataFrame.

  • Si necesita un control de acceso a nivel de base de datos o tabla, puede conceder permisos a bases de datos o tablas para que desempeñen sus funciones. Esto evita la necesidad de migrar desde GlueContext al marco de datos de Spark.

  • Si no necesita el FGAC, no es necesario migrar al marco de datos de Spark y características GlueContext como los marcadores de trabajo o los predicados desplegables seguirán funcionando.

  • Los trabajos con FGAC requieren un mínimo de 4 trabajadores: un controlador del usuario, un controlador del sistema, un ejecutor del sistema y un ejecutor del usuario en espera.

El uso de AWS Glue con AWS Lake Formation conlleva cargos adicionales.

Cómo funciona AWS Glue con AWS Lake Formation

El uso de AWS Glue con Lake Formation le permite implementar una capa de permisos en cada trabajo de Spark para aplicar el control de permisos de Lake Formation cuando AWS Glue ejecuta trabajos. AWS Glue utiliza los perfiles de recursos de Spark para crear dos perfiles para ejecutar los trabajos de forma eficaz. El perfil de usuario ejecuta el código proporcionado por el usuario, mientras que el perfil del sistema implementa las políticas de Lake Formation. Para obtener más información, consulte Qué es AWS Lake Formation y Consideraciones y limitaciones.

A continuación, se ofrece una descripción general de alto nivel sobre cómo AWS Glue obtiene acceso a los datos protegidos por las políticas de seguridad de Lake Formation.

Este diagrama muestra cómo funciona el control de acceso detallado con la API StartJobrun de AWS Glue.
  1. Un usuario llama a la API StartJobRun en un trabajo de AWS Glue habilitado para AWS Lake Formation.

  2. AWS Glue envía el trabajo a un controlador de usuarios y lo ejecuta en el perfil de usuario. El controlador de usuario ejecuta una versión sencilla de Spark que no permite lanzar tareas, solicitar ejecutores ni acceder a S3 ni al catálogo de Glue. Crea un plan de trabajo.

  3. AWS Glue configura un segundo controlador denominado controlador del sistema y lo ejecuta en el perfil del sistema (con una identidad privilegiada). AWS Glue configura un canal TLS cifrado entre los dos controladores para la comunicación. El controlador de usuario utiliza el canal para enviar los planes de trabajo al controlador del sistema. El controlador del sistema no ejecuta el código enviado por el usuario. Ejecuta Spark a pleno rendimiento y se comunica con S3 y con el catálogo de datos para acceder a los datos. Solicita ejecutores y compila el plan de trabajo en una secuencia de etapas de ejecución.

  4. A continuación, AWS Glue ejecuta las etapas en los ejecutores con el controlador de usuario o el controlador del sistema. En cualquier etapa, el código de usuario se ejecuta exclusivamente en los ejecutores de perfiles de usuario.

  5. Las etapas que leen datos de las tablas del catálogo de datos protegidas por AWS Lake Formation o aquellas que aplican filtros de seguridad se delegan a los ejecutores del sistema.

Requisito mínimo de trabajadores

Un trabajo habilitado para Lake Formation en AWS Glue requiere un mínimo de 4 trabajadores: un controlador del usuario, un controlador del sistema, un ejecutor del sistema y un ejecutor del usuario en espera. Esto representa un aumento con respecto al mínimo de 2 trabajadores requerido para los trabajos estándar de AWS Glue.

Cada trabajo habilitado para Lake Formation en AWS Glue utiliza dos controladores de Spark, uno para el perfil del usuario y otro para el perfil del sistema. Del mismo modo, los ejecutores también se dividen en dos perfiles:

  • Ejecutores del sistema: gestionan las tareas en las que se aplican los filtros de datos de Lake Formation.

  • Ejecutores del usuario: el controlador del sistema los solicita según sea necesario.

Como los trabajos de Spark son de naturaleza perezosa, AWS Glue reserva el 10 % del total de trabajadores (mínimo 1), una vez deducidos los dos controladores, para los ejecutores del usuario.

Todos los trabajos habilitados para Lake Formation tienen habilitado el escalado automático, lo que significa que los ejecutores del usuario solo se iniciarán cuando sea necesario.

Para ver un ejemplo de configuración, consulte Consideraciones y limitaciones.

Permisos de IAM del rol de tiempo de ejecución de trabajos

Los permisos de Lake Formation controlan el acceso a los recursos de Catálogo de datos de AWS Glue, a las ubicaciones de Amazon S3 y a los datos subyacentes en esas ubicaciones. Los permisos de IAM controlan el acceso a las API y los recursos de Lake Formation y AWS Glue. Aunque es posible que tenga el permiso de Lake Formation para acceder a una tabla del catálogo de datos (SELECT), la operación fallará si no tiene el permiso de IAM en la operativa de la API glue:Get*.

El siguiente es un ejemplo de política sobre cómo proporcionar permisos de IAM para acceder a un script en S3, cargar registros en S3, permisos de la API de Glue de AWS y permiso para acceder a Lake Formation.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ScriptAccess", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::*.amzn-s3-demo-bucket/scripts", "arn:aws:s3:::*.amzn-s3-demo-bucket/*" ] }, { "Sid": "LoggingAccess", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/logs/*" ] }, { "Sid": "GlueCatalogAccess", "Effect": "Allow", "Action": [ "glue:Get*", "glue:Create*", "glue:Update*" ], "Resource": ["*"] }, { "Sid": "LakeFormationAccess", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": ["*"] } ] }

Configuración de permisos de Lake Formation para roles de tiempo de ejecución de trabajos

Primero, registre la ubicación de su tabla de Hive con Lake Formation. A continuación, cree los permisos para el rol de tiempo de ejecución de su trabajo en la tabla que desee. Para obtener más detalles acerca de Lake Formation, consulte Qué esAWS Lake Formation en la AWS Lake Formation Guía para desarrolladores.

Después de configurar los permisos de Lake Formation, puede enviar trabajos de Spark en AWS Glue.

Envío de la ejecución de un trabajo

Cuando termine de configurar los permisos de Lake Formation, podrá enviar trabajos a Spark en AWS Glue. Para ejecutar trabajos de Iceberg, necesita proporcionar las siguientes configuraciones de Spark. Para configurar contenido mediante los parámetros de trabajo de Glue, introduzca el siguiente parámetro:

  • Clave:

    --conf
  • Valor:

    spark.sql.catalog.spark_catalog=org.apache.iceberg.spark.SparkSessionCatalog --conf spark.sql.catalog.spark_catalog.warehouse=<S3_DATA_LOCATION> --conf spark.sql.catalog.spark_catalog.glue.account-id=<ACCOUNT_ID> --conf spark.sql.catalog.spark_catalog.client.region=<REGION> --conf spark.sql.catalog.spark_catalog.glue.endpoint=https://glue.<REGION>.amazonaws.com

Compatibilidad con el formato de tabla abierta

La versión 5.0 o posterior de AWS Glue incluye compatibilidad con los controles de acceso detallado basados en Lake Formation. AWS Glue admite los tipos de tablas Hive e Iceberg. La tabla siguiente describe todas las operaciones compatibles.

Operaciones Hive Iceberg
Comandos DDL Solo con permisos de roles de IAM Solo con permisos de roles de IAM
Consultas incrementales No aplicable Totalmente compatible
Consultas de viaje en el tiempo No es aplicable a este formato de tabla Totalmente compatible
Tabla de metadatos No es aplicable a este formato de tabla Es compatible, pero algunas tablas están ocultas. Consulte consideraciones y limitaciones para obtener más información.
DML INSERT Solo con permisos de IAM Solo con permisos de IAM
ACTUALIZACIÓN DE DML No es aplicable a este formato de tabla Solo con permisos de IAM
DML DELETE No es aplicable a este formato de tabla Solo con permisos de IAM
Operaciones de lectura Totalmente compatible Totalmente compatible
Procedimientos almacenados No aplicable Se admite con las excepciones de register_table y migrate. Consulte consideraciones y limitaciones para obtener más información.
PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.