

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 de S3 mediante Lake Formation para Amazon EMR Spark
<a name="lake-formation-path-based-credential-vending"></a>

Con las versiones 7.13.0 y posteriores de Amazon EMR, puede usar el complemento AWS Lake Formation Access Grants para obtener credenciales temporales para las rutas de 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 venta de credenciales basada en nombres de tablas que ofrece Full Table Access (FTA). Para obtener más información, consulte Acceso a las ubicaciones de Amazon S3[. ](https://docs.aws.amazon.com/lake-formation/latest/dg/accessing-s3-locations.html)

El complemento 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 [ GetTemporaryDataLocationCredentials ](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_GetTemporaryDataLocationCredentials.html) API de Lake Formation y obtener credenciales temporales para las rutas de S3 que pertenecen a las tablas de Lake. Formation-registered 

Este complemento es útil cuando tus trabajos de Spark leen o escriben datos haciendo referencia directamente a las rutas de S3 (por ejemplo`spark.read.parquet("s3a://my-bucket/my-table/")`) en lugar de usar nombres de tablas. El plugin también admite el recurso opcional a las credenciales de rol de IAM o de acceso a S3 Access Grants cuando se deniega el acceso a Lake Formation.

## Relación con el acceso completo a la tabla (FTA)
<a name="lake-formation-path-based-relationship-fta"></a>

La función de acceso completo a las tablas existente utiliza la [ GetTemporaryGlueTableCredentials ](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_GetTemporaryGlueTableCredentials.html) API, que vende las credenciales en función de los nombres de las tablas. El complemento Lake Formation Access Grants utiliza la [ GetTemporaryDataLocationCredentials ](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_GetTemporaryDataLocationCredentials.html) API, que vende las credenciales en función de las rutas de S3.

Puede usar ambas funciones a la vez. Cuando ambas están habilitadas, las credenciales de FTA tienen prioridad para las consultas de nombres de tablas, mientras que el complemento gestiona las consultas directas de ruta de S3.

## Requisitos previos
<a name="lake-formation-path-based-prerequisites"></a>

Antes de usar el complemento Lake Formation Access Grants, completa los siguientes pasos:
+ Configure el acceso completo a tablas (FTA) para su entorno de Amazon EMR. Para obtener instrucciones, consulte [ Configuración del acceso completo a la tabla de Lake Formation](https://docs.aws.amazon.com/emr/latest/ManagementGuide/lake-formation-unfiltered-ec2-access.html).
+ En la consola de Lake Formation, registre la ruta S3 con la cuenta del propietario:

  1. Navegue hasta las ubicaciones de ** Data Lake**.

  1. Seleccione la ubicación y habilite ** Registrar la ruta S3 con la cuenta de propietario**.
+ Otorgue al rol de ejecución los permisos apropiados de Lake Formation de la tabla:
  + Para leer los datos de la tabla, conceda al rol de tiempo de ejecución el `SELECT` permiso completo sobre la tabla.
  + Para modificar los datos de la tabla, conceda el `SUPER` permiso al rol de tiempo de ejecución sobre la tabla.

## Habilita el complemento Lake Formation Access Grants
<a name="lake-formation-path-based-enable"></a>

Para habilitar el complemento, establece las siguientes propiedades de configuración del S3A en tu sesión de Spark:


**Lake Formation Access otorga propiedades de configuración al complemento**  

| 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
<a name="lake-formation-path-based-fallback"></a>

Cuando `fs.s3a.lakeformation.access.grants.fallback.to.iam` se establece en`true`, el complemento utiliza una cadena alternativa si Lake Formation deniega el acceso. Esto es útil en situaciones en las que algunas rutas de S3 están registradas en Lake Formation y otras se administran mediante políticas de IAM o subvenciones de acceso a S3.

Cuando la opción alternativa está habilitada, el complemento intenta obtener las credenciales en el siguiente orden:

1. **Lake Formation**: el complemento llama [ GetTemporaryDataLocationCredentials](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_GetTemporaryDataLocationCredentials.html). Si Lake Formation concede el acceso, el complemento devuelve esas credenciales.

1. **Concesiones de acceso a S3**: 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 autorización coincidente, el complemento usa esas credenciales.

1. **Función de IAM**: si tanto Lake Formation como S3 Access Grants deniegan el acceso, el complemento vuelve a utilizar las credenciales de la función de IAM adjuntas al trabajo.

## Consideraciones y limitaciones
<a name="lake-formation-path-based-considerations"></a>
+ El complemento admite los formatos de tabla Apache Hive, Apache Hudi y Delta Lake. Apache Iceberg no es compatible actualmente.
+ El complemento no es compatible actualmente 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 en S3 en el catálogo de datos de Glue. AWS 