

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

# Problemas conhecidos do AWS Lake Formation
<a name="limitations"></a>

Analise esses problemas conhecidos para AWS Lake Formation.

**Topics**
+ [Limitação na filtragem de metadados da tabela](#issue-table-metadata-avro)
+ [Problema ao renomear uma coluna excluída](#issue-rename-column)
+ [Problema com a exclusão de colunas em tabelas CSV](#issue-csv-schema)
+ [As partições da tabela devem ser adicionadas em um caminho comum](#issue-table-partitions)
+ [Problema com a criação de um banco de dados durante a criação do fluxo de trabalho](#issue-create-table-permission)
+ [Problema com a exclusão e a recriação de um usuário](#issue-recreate-user)
+ [As operações da API do catálogo de dados não atualizam o valor do parâmetro `IsRegisteredWithLakeFormation`](#issue-get-tables-parameter)
+ [As operações do Lake Formation não oferecem suporte ao AWS Glue Schema Registry](#not-support-GlueSchemaRegistry.title)

## Limitação na filtragem de metadados da tabela
<a name="issue-table-metadata-avro"></a>

AWS Lake Formation permissões em nível de coluna podem ser usadas para restringir o acesso a colunas específicas em uma tabela. Quando um usuário recupera metadados sobre a tabela usando o console ou uma API como `glue:GetTable`, a lista de colunas no objeto da tabela contém somente os campos aos quais ele tem acesso. É importante entender as limitações dessa filtragem de metadados.

Embora o Lake Formation disponibilize metadados sobre permissões de coluna para serviços integrados, a filtragem real das colunas nas respostas da consulta é de responsabilidade do serviço integrado. Os clientes do Lake Formation que oferecem suporte à filtragem em nível de coluna, incluindo Amazon Athena, Amazon Redshift Spectrum e Amazon EMR, filtram os dados com base nas permissões de coluna registradas no Lake Formation. Os usuários não poderão ler nenhum dado ao qual não devem ter acesso. Atualmente, o ETL AWS Glue não oferece suporte à filtragem de colunas.

**nota**  
 Os clusters do EMR não são totalmente gerenciados pela AWS. Portanto, é responsabilidade dos administradores do EMR proteger adequadamente os clusters para evitar o acesso não autorizado aos dados.

Certas aplicações ou formatos podem armazenar metadados adicionais, incluindo nomes e tipos de colunas, no mapa `Parameters` como propriedades da tabela. Essas propriedades são retornadas sem modificações e podem ser acessadas por qualquer usuário com permissão `SELECT` em qualquer coluna. 

Por exemplo, o [Avro SerDe](https://docs.aws.amazon.com/athena/latest/ug/supported-serdes.html) armazena uma representação JSON do esquema da tabela em uma propriedade de tabela chamada`avro.schema.literal`, que está disponível para todos os usuários com acesso à tabela. Recomendamos que você evite armazenar informações confidenciais nas propriedades da tabela e esteja ciente de que os usuários podem aprender o esquema completo das tabelas no formato Avro. Essa limitação é específica para os metadados sobre uma tabela. 

AWS Lake Formation remove qualquer propriedade da tabela, começando com `spark.sql.sources.schema` ao responder a uma solicitação `glue:GetTable` ou similar, se o chamador não tiver `SELECT` permissões em todas as colunas da tabela. Isso impede que os usuários tenham acesso a metadados adicionais sobre tabelas criadas com o Apache Spark. Quando executadas no Amazon EMR, as aplicações do Apache Spark ainda podem ler essas tabelas, mas certas otimizações podem não ser aplicadas e nomes de colunas com distinção entre maiúsculas e minúsculas não são aceitos. Se o usuário tiver acesso a todas as colunas na tabela, o Lake Formation retornará a tabela sem modificações com todas as propriedades da tabela. 

## Problema ao renomear uma coluna excluída
<a name="issue-rename-column"></a>

Se você usar permissões em nível de coluna para excluir uma coluna e depois renomeá-la, a coluna não será mais excluída das consultas, assim como `SELECT *`.

## Problema com a exclusão de colunas em tabelas CSV
<a name="issue-csv-schema"></a>

Se você criar uma tabela do catálogo de dados com o formato CSV e depois excluir uma coluna do esquema, as consultas poderão retornar dados errados e as permissões em nível de coluna poderão não ser respeitadas.

Solução alternativa: em vez disso, crie uma nova tabela.

## As partições da tabela devem ser adicionadas em um caminho comum
<a name="issue-table-partitions"></a>

O Lake Formation espera que todas as partições de uma tabela estejam em um caminho comum definido no campo de localização da tabela. Quando você usa o crawler para adicionar partições a um catálogo, isso funciona perfeitamente. Mas se você adicionar partições manualmente e essas partições não estiverem no local definido na tabela principal, o acesso aos dados não funcionará.

## Problema com a criação de um banco de dados durante a criação do fluxo de trabalho
<a name="issue-create-table-permission"></a>

Ao criar um fluxo de trabalho a partir de um esquema usando o console do Lake Formation, você pode criar o banco de dados de destino, caso ele não exista. Quando você faz isso, o usuário que está conectado recebe a permissão `CREATE_TABLE` no banco de dados criado. No entanto, o crawler que o fluxo de trabalho gera assume a função do fluxo de trabalho ao tentar criar uma tabela. Isso falha porque a função não possui a permissão `CREATE_TABLE` no banco de dados. 

Solução alternativa: se você criar o banco de dados por meio do console durante a configuração do fluxo de trabalho, antes de executar o fluxo de trabalho, deverá conceder à função associada ao fluxo de trabalho a permissão `CREATE_TABLE` no banco de dados que você acabou de criar.

## Problema com a exclusão e a recriação de um usuário
<a name="issue-recreate-user"></a>

O cenário a seguir resulta em permissões errôneas do Lake Formation retornadas por `lakeformation:ListPermissions`:

1. Crie um usuário e conceda permissões do Lake Formation.

1. Exclua o usuário.

1. Recrie o usuário com o mesmo nome.

`ListPermissions` retorna duas entradas, uma para o usuário antigo e outra para o novo usuário. Se você tentar revogar as permissões concedidas ao usuário antigo, as permissões serão revogadas do novo usuário.

## As operações da API do catálogo de dados não atualizam o valor do parâmetro `IsRegisteredWithLakeFormation`
<a name="issue-get-tables-parameter"></a>

Há uma limitação conhecida de que as operações da API do catálogo de dados, como `GetTables` e `SearchTables`, não atualizam o valor do parâmetro `IsRegisteredWithLakeFormation` e retornam o padrão, que é falso. É recomendável usar a API `GetTable` para visualizar o valor correto do parâmetro `IsRegisteredWithLakeFormation`. 

## As operações do Lake Formation não oferecem suporte ao AWS Glue Schema Registry
<a name="not-support-GlueSchemaRegistry.title"></a>

As operações do Lake Formation não oferecem suporte a AWS Glue tabelas que contenham um `SchemaReference` `StorageDescriptor` para ser utilizado no Registro de [Esquemas](https://docs.aws.amazon.com/glue/latest/dg/schema-registry.html).