Considerações sobre o Amazon EMR com o Lake Formation - 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á.

Considerações sobre o Amazon EMR com o Lake Formation

O Amazon EMR com Lake Formation está disponível em todas as regiões disponíveis.

Considerações sobre o Amazon EMR com Lake Formation para a versão 7.9 e anteriores

Considere o seguinte ao usar AWS Lake Formation no EMR 7.9 e versões anteriores.

  • O controle de acesso refinado no nível de linha, coluna e célula está disponível em clusters com versões 6.15 e superiores do Amazon EMR.

  • Os usuários com acesso a uma tabela podem acessar todas as propriedades da tabela. Se você tiver controle de acesso baseado no Lake Formation em uma tabela, revise a tabela para garantir que as propriedades não contenham dados ou informações sigilosas.

  • Os clusters do Amazon EMR com Lake Formation não oferecem suporte ao retorno do Spark para o HDFS quando o Spark coleta estatísticas de tabelas. Isso normalmente ajuda a otimizar a performance da consulta.

  • As operações que oferecem suporte a controles de acesso baseados no Lake Formation com tabelas não governadas do Apache Spark incluem INSERT INTO e INSERT OVERWRITE.

  • As operações que oferecem suporte a controles de acesso baseados no Lake Formation com Apache Spark e Apache Hive incluem SELECT, DESCRIBE, SHOW DATABASE, SHOW TABLE, SHOW COLUMN e SHOW PARTITION.

  • O Amazon EMR não oferece suporte ao controle de acesso às seguintes operações baseadas no Lake Formation:

    • Grava em tabelas controladas

    • O Amazon EMR não oferece suporte a CREATE TABLE. O Amazon EMR 6.10.0 e versões superiores oferecem suporte a ALTER TABLE.

    • Instruções DML que não sejam comandos INSERT.

  • Há diferenças de performance entre a mesma consulta com e sem controle de acesso baseado no Lake Formation.

  • Você só pode usar o Amazon EMR com o Lake Formation para trabalhos do Spark.

  • A propagação de identidades confiáveis não é compatível com a hierarquia de vários catálogos no Catálogo de dados do Glue. Para obter mais informações, consulte Trabalhando com uma hierarquia de vários catálogos no AWS Glue Data Catalog.

Considerações sobre o Amazon EMR com Lake Formation para a versão 7.10 e posteriores

Considere o seguinte ao usar o Amazon EMR com o AWS Lake Formation EMR 7.10 e versões posteriores.

  • O Amazon EMR oferece suporte ao controle de acesso refinado por meio do Lake Formation apenas para tabelas Apache Hive, tabelas do Iceberg, Apache Delta e Apache Hudi. Os formatos do Apache Hive incluem Parquet, ORC e xSV CSV.

  • Para aplicações habilitadas para o Lake Formation, os logs do Spark são gravados no Amazon S3 em dois grupos: logs de espaço do sistema e logs de espaço do usuário. Os logs de espaço do sistema podem conter informações confidenciais, como o esquema completo da tabela. Para proteger esses dados, o Amazon EMR armazena os logs de espaço do sistema em um local separado dos logs de espaço do usuário. É altamente recomendável que os administradores de contas não concedam aos usuários acesso aos logs de espaço do sistema.

  • Se você registrar um local de tabela no Lake Formation, o acesso aos dados será controlado exclusivamente pelas permissões da função usada para registro, e não pela função de runtime do trabalho do Amazon EMR. Se o perfil de registro estiver incorretamente configurado, os trabalhos que tentarem acessar a tabela falharão.

  • Você não pode desativar DynamicResourceAllocation para trabalhos do Lake Formation.

  • Você só pode usar o Lake Formation com trabalhos do Spark.

  • O Amazon EMR com Lake Formation oferece suporte apenas a uma única sessão do Spark durante todo o trabalho.

  • O Amazon EMR com Lake Formation só oferece suporte a consultas de tabelas entre contas compartilhadas por meio de links de recursos.

  • As seguintes opções não são compatíveis:

    • Conjuntos de dados distribuídos resilientes (RDD)

    • Streaming do Spark

    • Gravação com as permissões concedidas pelo Lake Formation

    • Controle de acesso para colunas aninhadas

  • O Amazon EMR bloqueia funcionalidades que podem prejudicar o isolamento completo do driver do sistema, incluindo as seguintes:

    • UDTs, Hive UDFs e qualquer função definida pelo usuário que envolva classes personalizadas

    • Fontes de dados personalizadas

    • Fornecimento de JARs adicionais para extensão, conector ou metastore do Spark

    • Comando ANALYZE TABLE

  • Para impor controles de acesso, EXPLAIN PLAN e operações de DDL, como DESCRIBE TABLE, não expõem informações restritas.

  • O Amazon EMR restringe o acesso aos logs do Spark do driver do sistema em aplicações habilitadas para Lake Formation. Como o driver do sistema é executado com permissões elevadas, os eventos e logs que o driver do sistema gera podem incluir informações confidenciais. Para impedir que usuários ou códigos não autorizados acessem esses dados sensíveis, o Amazon EMR desabilita o acesso aos logs do driver do sistema.

    Os logs do perfil do sistema são sempre mantidos no armazenamento gerenciado: essa é uma configuração obrigatória que não pode ser desabilitada. Esses registros são armazenados com segurança e criptografados usando uma chave KMS gerenciada pelo cliente ou uma chave KMS AWS gerenciada.

    Se seu aplicativo Amazon EMR estiver em uma sub-rede privada com endpoints VPC para o Amazon S3 e você anexar uma política de endpoint para controlar o acesso, antes que seus trabalhos possam enviar dados de log para o AWS Amazon S3 gerenciado, você deve incluir as permissões detalhadas em Armazenamento gerenciado em sua política de VPC para o endpoint do gateway S3. Para solicitações de solução de problemas, entre em contato com AWS o suporte.

  • Se você registrou uma localização de tabela no Lake Formation, o caminho de acesso aos dados passa pelas credenciais armazenadas do Lake Formation, independentemente da permissão do IAM para o perfil de runtime do trabalho do Amazon EMR. Se você configurar incorretamente o perfil registrado com a localização da tabela, os trabalhos enviados que usam o perfil com a permissão do IAM para o S3 na localização da tabela falharão.

  • Gravar em uma tabela do Lake Formation usa a permissão do IAM em vez das permissões concedidas pelo Lake Formation. Se o runtime do trabalho tiver as permissões necessárias do S3, será possível usá-lo para executar operações de gravação.

Observe estas considerações e limitações ao usar o Apache Iceberg:

  • Você só pode usar o Apache Iceberg com o catálogo de sessões e não com catálogos nomeados arbitrariamente.

  • As tabelas do Iceberg registradas no Lake Formation oferecem suporte apenas às tabelas de metadados history, metadata_log_entries, snapshots, files, manifests e refs. O Amazon EMR oculta as colunas que podem conter dados confidenciais, como partitions, path e summaries. Essa limitação não se aplica às tabelas do Iceberg que não estão registradas no Lake Formation.

  • As tabelas que você não registra no Lake Formation oferecem suporte a todos os procedimentos armazenados do Iceberg. Os procedimentos register_table e migrate não são compatíveis com nenhuma tabela.

  • Recomendamos que você use o Iceberg DataFrameWriter V2 em vez do V1.

Considerações sobre o Amazon EMR com Lake Formation para a versão 7.12 e posterior

Geral

Analise as seguintes limitações ao usar o Lake Formation com o Amazon EMR.

Permissões

  • Para aplicar controles de acesso, as operações EXPLAIN PLAN e DDL, como DESCRIBE TABLE, não expõem informações restritas.

  • Quando você registra a localização de uma tabela no Lake Formation, o acesso aos dados usa as credenciais armazenadas do Lake Formation em vez das permissões IAM da função de tempo de execução de trabalho do EMR Serverless. Os trabalhos falharão se a função registrada para a localização da tabela estiver configurada incorretamente, mesmo quando a função de tempo de execução tiver permissões do S3 IAM para essa localização.

  • A partir do Amazon EMR 7.12, você pode gravar nas tabelas existentes do Hive e do Iceberg usando DataFrameWriter (V2) com as credenciais do Lake Formation no modo de acréscimo. Para operações de substituição ou ao criar novas tabelas, o EMR usa as credenciais da função de tempo de execução para modificar os dados da tabela.

  • As seguintes limitações se aplicam ao usar exibições ou tabelas em cache como dados de origem (essas limitações não se aplicam às visualizações do AWS Glue Data Catalog):

    • Para operações MERGE, DELETE e UPDATE

      • Compatível: uso de visualizações e tabelas em cache como tabelas de origem.

      • Não suportado: uso de visualizações e tabelas em cache em cláusulas de atribuição e condição.

    • Para as operações CREATE OR REPLACE e REPLACE TABLE AS SELECT:

      • Não suportado: uso de visualizações e tabelas em cache como tabelas de origem.

  • As tabelas Delta Lake com dados UDFs na fonte suportam as operações MERGE, DELETE e UPDATE somente quando o vetor de exclusão está ativado.

Registros e depuração

  • O Amazon EMR restringe o acesso aos logs do Spark do driver do sistema em aplicações habilitadas para Lake Formation. Como o driver do sistema é executado com permissões elevadas, os eventos e logs que o driver do sistema gera podem incluir informações confidenciais. Para impedir que usuários ou códigos não autorizados acessem esses dados sensíveis, o Amazon EMR desabilita o acesso aos logs do driver do sistema.

    Os logs do perfil do sistema são sempre mantidos no armazenamento gerenciado: essa é uma configuração obrigatória que não pode ser desabilitada. Esses registros são armazenados com segurança e criptografados usando uma chave KMS gerenciada pelo cliente ou uma chave KMS AWS gerenciada.

Iceberg

Analise as seguintes considerações ao usar o Apache Iceberg:

  • Você só pode usar o Apache Iceberg com o catálogo de sessões e não com catálogos nomeados arbitrariamente.

  • As tabelas do Iceberg registradas no Lake Formation oferecem suporte apenas às tabelas de metadados history, metadata_log_entries, snapshots, files, manifests e refs. O Amazon EMR oculta as colunas que podem conter dados confidenciais, como partitions, path e summaries. Essa limitação não se aplica às tabelas do Iceberg que não estão registradas no Lake Formation.

  • As tabelas não registradas no Lake Formation oferecem suporte a todos os procedimentos armazenados do Iceberg. Os procedimentos register_table e migrate não são compatíveis com nenhuma tabela.

  • Sugerimos que você use o Iceberg DataFrameWriter V2 em vez do V1.