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 basado en rutas S3 mediante Lake Formation para Amazon EMR Spark
Con las versiones 7.13.0 y posteriores de Amazon EMR, puede utilizar el complemento AWS Lake Formation Access Grants para obtener credenciales temporales para las rutas S3 registradas en Lake Formation. Esto permite que las consultas de Spark que hacen referencia directamente a las rutas de S3 utilicen Formation-vended las credenciales de Lake, además de la actual venta de credenciales basada en nombres de tablas que proporciona Full Table Access (FTA).
El plugin Lake Formation Access Grants se integra con el sistema de archivos S3A de Spark. Cuando está habilitado, S3A usa el complemento para llamar a la GetTemporaryDataLocationCredentialsAPI de Lake Formation a fin de obtener credenciales temporales para las rutas de S3 que pertenecen a Formation-registered las tablas de Lake.
Este complemento es útil cuando tus trabajos de Spark leen o escriben datos al hacer referencia directamente a las rutas de S3 (por ejemplospark.read.parquet("s3a://my-bucket/my-table/")) en lugar de usar nombres de tablas. El complemento también admite el respaldo opcional a las credenciales de rol de IAM o S3 Access Grants cuando se deniega el acceso a Lake Formation.
Relación con el acceso total a la tabla (FTA)
La función de acceso completo a la tabla existente utiliza la GetTemporaryGlueTableCredentialsAPI, que vende las credenciales en función de los nombres de las tablas. El complemento Lake Formation Access Grants utiliza la GetTemporaryDataLocationCredentialsAPI, que vende las credenciales en función de las rutas de S3.
Puede utilizar ambas funciones a la vez. Cuando ambas están habilitadas, las credenciales FTA tienen prioridad en las consultas de nombres de tablas, mientras que el complemento gestiona las consultas directas de rutas de S3.
Requisitos previos
Antes de usar el complemento Lake Formation Access Grants, complete los siguientes pasos:
-
Configure Full Table Access (FTA) para su entorno Amazon EMR. Para obtener instrucciones, consulte .
-
En la consola de Lake Formation, registre la ruta S3 con la cuenta del propietario:
-
Navegue hasta las ubicaciones de Data Lake.
-
Seleccione la ubicación y active Registrar la ruta S3 con la cuenta de propietario.
-
-
Otorgue al rol de tiempo de ejecución los permisos de Lake Formation correspondientes sobre la mesa:
-
Para leer los datos de la tabla, conceda al rol de tiempo de ejecución todos los
SELECTpermisos sobre la tabla. -
Para modificar los datos de la tabla, conceda al rol de tiempo de ejecución el
SUPERpermiso sobre la tabla.
-
Habilite el complemento Lake Formation Access Grants
Para habilitar el complemento, establece las siguientes propiedades de configuración de S3A en tu sesión de Spark:
| Propiedad | Predeterminado | Description (Descripción) |
|---|---|---|
fs.s3a.lakeformation.access.grants.enabled |
FALSE |
Activa el complemento Lake Formation Access Grants. |
fs.s3a.lakeformation.access.grants.fallback.to.iam |
FALSE |
Permite recurrir a S3 Access Grants o a las credenciales de rol de IAM si Lake Formation deniega el acceso. |
Comportamiento alternativo
Cuando fs.s3a.lakeformation.access.grants.fallback.to.iam se establece entrue, el complemento utiliza una cadena alternativa si Lake Formation deniega el acceso. Esto resulta útil en situaciones en las que algunas rutas de S3 se registran en Lake Formation y otras se administran mediante subvenciones de acceso de S3 o políticas de IAM.
Cuando la opción alternativa está habilitada, el complemento intenta obtener las credenciales en el siguiente orden:
-
Lake Formation: llama el complemento GetTemporaryDataLocationCredentials. Si Lake Formation concede el acceso, el complemento devuelve esas credenciales.
-
S3 Access Grants: si Lake Formation deniega el acceso, el complemento comprueba si S3 Access Grants puede proporcionar credenciales para la ruta solicitada. Si una instancia de S3 Access Grants cubre la ruta y la persona que llama tiene una concesión coincidente, el complemento utiliza esas credenciales.
-
Función de IAM: si Lake Formation y S3 Access Grants deniegan el acceso, el complemento recurre a las credenciales de la función de IAM asociadas al trabajo.
Consideraciones y limitaciones
-
El complemento es compatible con los formatos de tabla Apache Hive, Apache Hudi y Delta Lake. Apache Iceberg no es compatible actualmente.
-
Actualmente, el complemento no es compatible con el modo Amazon EMR Spark Fine-Grained Access Control (FGAC).
-
Path-based La venta de credenciales requiere un mapeo 1:1 entre una tabla y su ubicación S3 en el catálogo de datos de AWS Glue.