

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Acesso baseado em caminhos do S3 usando Lake Formation para Amazon EMR Spark
<a name="lake-formation-path-based-credential-vending"></a>

Com as versões 7.13.0 e posteriores do Amazon EMR, você pode usar o [plug-in AWS Lake Formation Access Grants](https://docs.aws.amazon.com/lake-formation/latest/dg/accessing-s3-locations.html) para obter credenciais temporárias para caminhos do S3 registrados no Lake Formation. Isso permite que as consultas do Spark que fazem referência direta aos caminhos do S3 usem as Formation-vended credenciais do Lake, além da venda de credenciais existente com base no nome da tabela fornecida pelo Full Table Access (FTA).

O plug-in Lake Formation Access Grants se integra ao sistema de arquivos S3A no Spark. Quando ativado, o S3A usa o plug-in para chamar a [GetTemporaryDataLocationCredentials](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_GetTemporaryDataLocationCredentials.html)API Lake Formation para obter credenciais temporárias para caminhos do S3 que pertencem às tabelas do Lake. Formation-registered 

Esse plug-in é útil quando seus trabalhos do Spark leem ou gravam dados referenciando caminhos do S3 diretamente (por exemplo,`spark.read.parquet("s3a://my-bucket/my-table/")`) em vez de usar nomes de tabelas. O plug-in também oferece suporte opcional às credenciais de função do S3 Access Grants ou do IAM quando o acesso ao Lake Formation é negado.

## Relação com o Full Table Access (FTA)
<a name="lake-formation-path-based-relationship-fta"></a>

O recurso Full Table Access existente usa a [GetTemporaryGlueTableCredentials](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_GetTemporaryGlueTableCredentials.html)API, que vende credenciais com base nos nomes das tabelas. O plug-in Lake Formation Access Grants usa a [GetTemporaryDataLocationCredentials](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_GetTemporaryDataLocationCredentials.html)API, que vende credenciais com base nos caminhos do S3.

Você pode usar os dois recursos juntos. Quando ambas estão habilitadas, as credenciais de FTA têm precedência para consultas de nomes de tabelas, enquanto o plug-in lida com consultas diretas de caminhos do S3.

## Pré-requisitos
<a name="lake-formation-path-based-prerequisites"></a>

Antes de usar o plug-in Lake Formation Access Grants, conclua as seguintes etapas:
+ Configure o Full Table Access (FTA) para seu ambiente Amazon EMR. Para instruções, consulte .
+ No console do Lake Formation, registre o caminho do S3 com a conta do proprietário:

  1. Navegue até **os locais do Data Lake**.

  1. Selecione o local e ative **Registrar caminho S3 com a conta do proprietário**.
+ Conceda à função de tempo de execução as permissões apropriadas do Lake Formation na tabela:
  + Para ler os dados da tabela, conceda `SELECT` permissão total à função de tempo de execução na tabela.
  + Para modificar os dados da tabela, conceda a `SUPER` permissão da função de tempo de execução na tabela.

## Ative o plug-in Lake Formation Access Grants
<a name="lake-formation-path-based-enable"></a>

Para ativar o plug-in, defina as seguintes propriedades de configuração do S3A em sua sessão do Spark:


**Propriedades de configuração do plugin Lake Formation Access Grants**  

| Propriedade | Padrão | Description | 
| --- | --- | --- | 
| fs.s3a.lakeformation.access.grants.enabled | FALSE | Ativa o plug-in Lake Formation Access Grants. | 
| fs.s3a.lakeformation.access.grants.fallback.to.iam | FALSE | Permite o retorno às concessões de acesso do S3 ou às credenciais da função do IAM se o Lake Formation negar o acesso. | 

## Comportamento de fallback
<a name="lake-formation-path-based-fallback"></a>

Quando `fs.s3a.lakeformation.access.grants.fallback.to.iam` está definido como`true`, o plug-in usa uma cadeia de fallback se o Lake Formation negar o acesso. Isso é útil em cenários em que alguns caminhos do S3 são registrados no Lake Formation e outros são gerenciados por meio do S3 Access Grants ou políticas do IAM.

Quando o fallback está ativado, o plug-in tenta obter as credenciais na seguinte ordem:

1. **Lake Formation** — O plugin chama [GetTemporaryDataLocationCredentials](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_GetTemporaryDataLocationCredentials.html). Se o Lake Formation conceder acesso, o plug-in retornará essas credenciais.

1. **S3 Access Grants** — Se o Lake Formation negar o acesso, o plug-in verifica se o S3 Access Grants pode fornecer credenciais para o caminho solicitado. Se uma instância do S3 Access Grants cobrir o caminho e o chamador tiver uma concessão correspondente, o plug-in usará essas credenciais.

1. **Função do IAM** — Se tanto o Lake Formation quanto o S3 Access Grants negarem acesso, o plug-in retornará às credenciais da função do IAM anexadas ao trabalho.

## Considerações e limitações
<a name="lake-formation-path-based-considerations"></a>
+ O plug-in suporta os formatos de tabela Apache Hive, Apache Hudi e Delta Lake. O Apache Iceberg não é suportado atualmente.
+ Atualmente, o plug-in não é compatível com o modo Amazon EMR Spark Fine-Grained Access Control (FGAC).
+ Path-based a venda de credenciais requer um mapeamento 1:1 entre uma tabela e sua localização no S3 no AWS Glue Data Catalog.