Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Acceso a las ubicaciones de Amazon S3
AWS Lake Formation le permite leer y escribir los archivos de datos subyacentes en Amazon Simple Storage Service (Amazon S3) para las tablas registradas en AWS Glue Data Catalog el (catálogo de datos). Esto le proporciona un conjunto único de permisos tanto para las consultas SQL como para el acceso directo a los archivos mediante las concesiones de la tabla Lake Formation existentes. Lake Formation amplía su funcionalidad de venta de credenciales a las ubicaciones de Amazon S3 registradas en el catálogo de datos. Cuando su aplicación solicita acceso a los archivos de Amazon S3 subyacentes a una tabla del catálogo de datos, Lake Formation evalúa los permisos a nivel de tabla existentes de la persona que llama y, si se autoriza, devuelve las credenciales de Amazon S3 de corta duración y alcance para la ubicación registrada de esa tabla.
Habilite el acceso directo a las ubicaciones de Amazon S3
Para habilitar esta función, debe completar los siguientes pasos.
Requisitos previos
Complete los siguientes requisitos previos antes de activar el indicador de función:
-
Registre las ubicaciones de Amazon S3: catalogue sus tablas en el catálogo de datos de sus ubicaciones de Amazon S3 y regístrelas en Lake Formation proporcionando la cuenta de propietario del bucket de Amazon S3. Al registrar una ubicación, se registran esa ruta de Amazon S3 y todas las carpetas incluidas en esa ruta. Para obtener más información, consulte Registro de una ubicación de Amazon S3.
-
Otorgue permisos de Lake Formation: conceda permisos de Lake Formation
SELECT(oSUPER) sobre tablas a sus científicos de datos y aplicaciones mediante la consola o las API de Lake Formation. Si ya utiliza Lake Formation para acceder a las mesas con servicios como Athena o Amazon EMR, ya está configurado. -
Habilite la integración de las aplicaciones con acceso total a las tablas: habilite la integración de las aplicaciones con acceso total a las tablas para permitir la venta de credenciales en la ubicación de la mesa registrada. Para obtener más información, consulte Integración de aplicaciones para un acceso completo a la tabla.
Habilite el indicador de función
Activa la fs.s3a.lakeformation.access.grants.enabled marca en los motores compatibles:
fs.s3a.lakeformation.access.grants.enabled = true
-
Amazon EMR en Amazon EC2: EMR 7.13 o posterior
-
Amazon EMR en EKS: EMR 7.13 o posterior
-
Amazon EMR Serverless: EMR 7.13 o posterior
Una vez configurado, puede leer o escribir inmediatamente los archivos de datos de EMR mediante las API estándar.
Para obtener más información sobre la integración de Amazon EMR, consulte la venta de credenciales basada en rutas de Lake Formation en la Guía de administración de Amazon EMR.
Funcionamiento
El acceso a la ubicación de Lake Formation-based Amazon S3 sigue este flujo:
-
Un responsable o un rol solicita acceso a los archivos de datos de Amazon S3 a través de un servicio, como un trabajo de Amazon EMR Spark o una canalización de procesamiento de datos.
-
El complemento AWS SDK integrado con EMR intercepta la solicitud de Amazon S3 y llama a la API Lake Formation.
GetTemporaryDataLocationCredentials -
Lake Formation comprueba si la ruta de Amazon S3 corresponde a una ubicación registrada y a una tabla catalogada, y evalúa los permisos de la persona que llama en la tabla asociada. AWS Glue
-
Si la persona que llama tiene
SELECTSUPERpermisos en la tabla correspondiente con acceso total a la mesa, Lake Formation vende las credenciales temporales relacionadas con esa ubicación de Amazon S3.SELECTotorga credenciales de lectura;SUPERotorga credenciales de lectura y escritura. -
El complemento utiliza estas credenciales para completar la solicitud de Amazon S3 y Amazon S3 proporciona los datos a la aplicación.
-
Todas las operaciones de venta de credenciales se registran CloudTrail, lo que proporciona un registro de auditoría para el acceso a los datos.
Este proceso es transparente para usted y simplemente utilizará los permisos existentes de Lake Formation con las API estándar basadas en archivos.
# Read raw data (Lake Formation-based S3 Location access) raw_df = spark.read.json("s3://finance-datalake/raw/transactions/dt=2024-03-21/") # Read governed data (Lake Formation-based S3 Location access) transactions_df = spark.read.parquet("s3://data-lake/transactions/year=2026/") # Write processed data (Lake Formation-based S3 Location access) processed_df.write \ .mode("append") \ .partitionBy("transaction_date") \ .parquet("s3://finance-datalake/processed/transactions/") print("ETL complete. Records written:", processed_df.count())
Requisitos del permiso
Actualmente, la función solo vende las credenciales cuando la persona que llama tiene acceso completo a la tabla, es decir, SELECT en todas las columnas sin filtros de filas o columnas. Si una tabla tiene filtros a nivel de fila o de columna aplicados, las personas que llaman deben seguir utilizando motores de confianza como Athena, Amazon EMR AWS Glue o Amazon Redshift que pueden aplicar esos filtros. Esto garantiza que los límites de seguridad se mantengan uniformes.
Cross-account acceso
El acceso simplificado de Lake Formation a las ubicaciones de Amazon S3 funciona con capacidades de uso compartido entre cuentas. Al compartir una tabla con otra AWS cuenta a través de Lake Formation, los destinatarios pueden acceder a los archivos de datos subyacentes de Amazon S3 con sus permisos de Lake Formation, sujetos a los mismos requisitos de acceso completo a la tabla.
La función es compatible con el mecanismo de enlace de recursos de Lake Formation para el acceso entre cuentas. Cuando una cuenta de consumidor tiene permisos en una mesa compartida, Lake Formation vende las credenciales relacionadas con la ubicación de Amazon S3 de la cuenta registrada, lo que permite un acceso fluido a los datos entre cuentas sin necesidad de políticas de bucket de Amazon S3 independientes ni funciones de IAM entre cuentas.
Ubicaciones anidadas de Amazon S3
Cuando varias tablas apuntan a ubicaciones anidadas en el mismo cubo, Lake Formation aplica el siguiente comportamiento:
-
Al acceder
s3://bucket, recibirá los permisos correspondientes a la tabla registrada en el nivel del cubo. -
Al acceder
s3://bucket/folder1, recibirá los permisos correspondientes a la tabla registrada en esa ruta específica. -
Para acceder a carpetas sin una tabla registrada (por ejemplo,
s3://bucket/folder2), recibirá los permisos de la ubicación principal registrada más cercana. -
Si hay varias tablas registradas en la misma ubicación, Lake Formation devuelve un error debido a un conflicto de permisos.
Auditoría y conformidad
Se registran todas las operaciones de venta de credenciales CloudTrail, lo que proporciona un registro de auditoría para el acceso a los datos. Cuando Lake Formation vende credenciales a través de la GetTemporaryDataLocationCredentials API, CloudTrail registra:
-
El principal (usuario o rol)
-
Timestamp
-
Ubicación de Amazon S3
-
AWS GlueTabla asociada
Las llamadas posteriores a la API de Amazon S3 realizadas con esas credenciales también se registran CloudTrail como eventos de datos de Amazon S3, y el contexto las vincula de nuevo a la concesión del permiso de Lake Formation. Esto proporciona a los auditores una visibilidad completa de quién accedió a qué datos, cuándo y a través de qué ruta de permisos, todo ello en un único flujo de CloudTrail registro.
compatible AWS servicios
El acceso simplificado de Lake Formation a las ubicaciones de Amazon S3 funciona con:
-
Amazon EMR en Amazon EC2 (EMR 7.13 o posterior)
-
Amazon EMR en EKS (EMR 7.13 o posterior)
-
Amazon EMR Serverless (EMR 7.13 o posterior)
Complemento de código abierto para servicios de terceros
También puede integrar sus Apache Spark Trino aplicaciones mediante API o mediante un complemento de código abierto proporcionado por AWS. Para obtener más información, consulte aws-lakeformation-accessgrants-plugin-java-v2
Consideraciones
Tenga en cuenta las siguientes consideraciones al utilizar la venta de credenciales para las ubicaciones de Amazon S3:
-
No se admite la venta de credenciales en las ubicaciones de Amazon S3 entre regiones.
-
Se admite la venta de credenciales en las ubicaciones de Amazon S3 incluidas como ubicación principal de la tabla.