

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
<a name="accessing-s3-locations"></a>

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](register-location.md).
+ **Otorgue permisos de Lake Formation**: conceda permisos de Lake Formation `SELECT` (o`SUPER`) 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](full-table-credential-vending.md).

**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](https://docs.aws.amazon.com/emr/latest/ManagementGuide/lake-formation-path-based-credential-vending.html) de *Amazon* EMR.

**Funcionamiento**  
El acceso a la ubicación de Lake Formation-based Amazon S3 sigue este flujo:

1. 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.

1. El complemento AWS SDK integrado con EMR intercepta la solicitud de Amazon S3 y llama a la API Lake Formation. `GetTemporaryDataLocationCredentials`

1. 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

1. Si la persona que llama tiene `SELECT` `SUPER` permisos en la tabla correspondiente con acceso total a la mesa, Lake Formation vende las credenciales temporales relacionadas con esa ubicación de Amazon S3. `SELECT`**otorga credenciales de **lectura**; `SUPER` otorga credenciales de lectura y escritura.**

1. El complemento utiliza estas credenciales para completar la solicitud de Amazon S3 y Amazon S3 proporciona los datos a la aplicación.

1. 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](https://github.com/aws/aws-lakeformation-accessgrants-plugin-java-v2) en. GitHub

**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.