View a markdown version of this page

Acesso baseado em caminhos do S3 usando Lake Formation para Amazon EMR Spark - Amazon EMR

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

Com as versões 7.13.0 e superiores do Amazon EMR, você pode usar o plug-in AWS Lake Formation Access Grants 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 Formation-vended as credenciais do Lake, além da venda de credenciais baseada em nome de tabela existente fornecida pelo Full Table Access (FTA). Para obter mais detalhes, consulte Acessando os locais do Amazon S3.

O plugin 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 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 lêem ou gravam dados referenciando diretamente os caminhos do S3 (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 ao S3 Access Grants ou às credenciais de função do IAM quando o acesso ao Lake Formation é negado.

Relação com o acesso total à tabela (FTA)

O recurso Full Table Access existente usa a GetTemporaryGlueTableCredentials API, que vende credenciais com base nos nomes das tabelas. O plug-in Lake Formation Access Grants usa a GetTemporaryDataLocationCredentials 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 caminho do S3.

Pré-requisitos

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 obter instruções, consulte Configurando o acesso completo à tabela do Lake Formation.

  • No console do Lake Formation, registre o caminho do S3 com a conta do proprietário:

    1. Navegue até os locais do Data Lake.

    2. Selecione o local e ative Registrar o caminho do S3 com a conta do proprietário.

  • Conceda à função de tempo de execução as permissões apropriadas de 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 SUPER permissão à função de tempo de execução na tabela.

Habilite o plugin Lake Formation Access Grants

Para ativar o plug-in, defina as seguintes propriedades de configuração do S3A na 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 plugin 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 de função do IAM se o Lake Formation negar o acesso.

Comportamento de fallback

Quando fs.s3a.lakeformation.access.grants.fallback.to.iam definido comotrue, o plug-in usa uma cadeia alternativa 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 de concessões de acesso do S3 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. Se o Lake Formation conceder acesso, o plug-in retornará essas credenciais.

  2. Concessões de acesso do S3 — 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.

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

Considerações e limitações

  • O plugin 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 exige um mapeamento 1:1 entre uma tabela e sua localização no S3 no Glue Data Catalog. AWS