Permissões de metadados - AWS Lake Formation

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

Permissões de metadados

O Lake Formation fornece autorização e controle de acesso ao catálogo de dados. Quando um perfil do IAM faz uma chamada de API do catálogo de dados de qualquer sistema, o catálogo de dados verifica as permissões de dados do usuário e retorna somente os metadados que o usuário tem permissão para acessar. Por exemplo, se um perfil do IAM tiver acesso a somente uma tabela em um banco de dados e um serviço ou um usuário supondo que a função execute a operação GetTables, a resposta conterá somente uma tabela, independentemente do número de tabelas no banco de dados.

Configurações padrão - permissões de grupo IAMAllowedPrincipal

AWS Lake Formation, por padrão, define permissões para todos os bancos de dados e tabelas para um grupo virtual chamado IAMAllowedPrincipal. Esse grupo é único e visível somente dentro do Lake Formation. O IAMAllowedPrincipal grupo inclui todos os diretores do IAM que têm acesso aos recursos do catálogo de dados por meio das políticas principais e políticas de AWS Glue recursos do IAM. Se essas permissões existirem em um banco de dados ou tabela, todas as entidades principais terão acesso ao banco de dados ou à tabela.

Se você quiser fornecer permissões mais granulares em um banco de dados ou tabela, remova a permissão IAMAllowedPrincipal e o Lake Formation aplicará todas as outras políticas associadas a esse banco de dados ou tabela. Por exemplo, se houver uma política que permita ao Usuário A acessar o Banco de Dados A com permissões DESCRIBE e IAMAllowedPrincipal existir com todas as permissões, o Usuário A continuará executando todas as outras ações até que a permissão IAMAllowedPrincipal seja revogada.

Além disso, por padrão, o grupo IAMAllowedPrincipal tem permissões em todos os novos bancos de dados e tabelas quando eles são criados. Há duas configurações que controlam esse comportamento. A primeira está no nível da conta e da região, que permite isso para bancos de dados recém-criados, e a segunda está no nível do banco de dados. Para modificar a configuração padrão, consulte Altere o modelo de permissão padrão ou use o modo de acesso híbrido.

Conceder permissões

Os administradores do data lake podem conceder permissões do catálogo de dados às entidades principais para que elas possam criar e gerenciar bancos de dados e tabelas e acessar os dados subjacentes.

Permissões em nível de banco de dados e tabela

Quando você concede permissões no Lake Formation, o concedente deve especificar a entidade principal à qual conceder permissões, os recursos para os quais conceder permissões e as ações que o beneficiário deve ter acesso para realizar. Para a maioria dos recursos do Lake Formation, a lista de entidades principais e os recursos para conceder permissões são semelhantes, mas as ações que um beneficiário pode realizar diferem com base no tipo de recurso. Por exemplo, as permissões SELECT estão disponíveis para que as tabelas leiam as tabelas, mas as permissões SELECT não são permitidas nos bancos de dados. A permissão CREATE_TABLE é permitida em bancos de dados, mas não em tabelas.

Você pode conceder AWS Lake Formation permissões usando dois métodos:

  • Método de recurso nomeado — Permite escolher nomes de banco de dados e tabelas enquanto concede permissões aos usuários.

  • Controle de acesso baseado em tags do LF (LF-TBAC) — Os usuários criam tags do LF, as associam aos recursos do catálogo de dados, concedem permissão Describe sobre tags do LF, associam permissões a usuários individuais e escrevem políticas de permissões do LF usando tags do LF para usuários diferentes. Essas políticas baseadas em tags do LF se aplicam a todos os recursos do catálogo de dados associados a esses valores de tags do LF.

    nota

    As tags do LF são exclusivas do Lake Formation. Elas só são visíveis no Lake Formation e não devem ser confundidas com tags AWS de recursos.

    O LF-TBAC é um recurso que permite aos usuários agrupar recursos em categorias definidas pelo usuário de tags do LF e aplicar permissões a esses grupos de recursos. Portanto, é a melhor maneira de escalar as permissões em um grande número de recursos do catálogo de dados.

    Para ter mais informações, consulte Controle de acesso baseado em tags do Lake Formation.

Quando você concede permissões a uma entidade principal, o Lake Formation avalia as permissões como uma união de todas as políticas desse usuário. Por exemplo, se você tiver duas políticas em uma tabela para uma entidade principal em que uma política concede permissões às colunas col1, col2 e col3 por meio do método de recurso nomeado, e a outra política concede permissões para a mesma tabela e principal para col5 e col6 por meio de tags do LF, as permissões efetivas serão uma união das permissões que seriam col1, col2, col3, col5 e col6. Isso também inclui filtros de dados e linhas.

Permissões de localização de dados

As permissões de localização de dados fornecem aos usuários não administrativos a capacidade de criar bancos de dados e tabelas em locais específicos do Amazon S3. Se um usuário tentar criar um banco de dados ou uma tabela em um local que não tenha permissão para criar, a tarefa de criação falhará. Isso evita que os usuários criem tabelas em locais arbitrários dentro do data lake e fornece controle sobre onde esses usuários podem ler e gravar dados. Há uma permissão implícita ao criar tabelas na localização do Amazon S3 dentro do banco de dados em que elas estão sendo criadas. Para ter mais informações, consulte Conceder permissões de localização de dados.

Crie permissões de tabela e banco de dados

Usuários não administrativos, por padrão, não têm permissões para criar bancos de dados ou tabelas em um banco de dados. A criação do banco de dados é controlada no nível da conta usando as configurações do Lake Formation para que somente entidades principais autorizadas possam criar bancos de dados. Para ter mais informações, consulte Criação de um banco de dados. Para criar uma tabela, uma entidade principal requer CREATE_TABLE permissão no banco de dados em que a tabela está sendo criada. Para ter mais informações, consulte Criar tabelas.

Permissões implícitas e explícitas

O Lake Formation fornece permissões implícitas, dependendo da persona e das ações que a persona realiza. Por exemplo, os administradores do data lake obtêm automaticamente permissões DESCRIBE para todos os recursos no catálogo de dados, permissões de localização de dados em todos os locais, permissões para criar bancos de dados e tabelas em todos os locais, bem como permissões Grant e Revoke em qualquer recurso. Os criadores de banco de dados obtêm automaticamente todas as permissões de banco de dados nos bancos de dados que eles criam, e os criadores de tabelas obtêm todas as permissões nas tabelas que eles criam. Para ter mais informações, consulte Permissões implícitas do Lake Formation.

Permissões concedidas

Os administradores do data lake têm a capacidade de delegar o gerenciamento de permissões a usuários não administrativos fornecendo permissões concedidas. Quando uma entidade principal recebe permissões concedidas sobre um recurso e um conjunto de permissões, essa entidade principal ganha a capacidade de conceder permissões a outras entidades principais nesse recurso.