Conceder permissões de data lake usando o método LF-TBAC - AWS Lake Formation

Conceder permissões de data lake usando o método LF-TBAC

É possível conceder as permissões DESCRIBE e ASSOCIATE do Lake Formation em tags do LF a entidades principais para que elas possam visualizar as tags do LF e atribuí-las aos recursos do catálogo de dados (bancos de dados, tabelas, visualizações e colunas). Quando as tags do LF são atribuídas aos recursos do Catálogo de dados, você pode usar o método de controle de acesso baseado em tags do Lake Formation (LF-TBAC) para proteger esses recursos. Para ter mais informações, consulte Controle de acesso baseado em tags do Lake Formation.

No início, somente o administrador do data lake pode conceder essas permissões. Se o administrador do data lake conceder essas permissões com a opção de concessão, outras entidades principais poderão concedê-las. As permissões DESCRIBE e ASSOCIATE são explicadas em Considerações e práticas recomendadas de controle de acesso com base em tags do Lake Formation.

Você pode conceder as permissões DESCRIBE e ASSOCIATE em uma tag do LF para uma conta externa da AWS. Um administrador de data lake nessa conta pode então conceder essas permissões a outras entidades principais na conta. As entidades principais às quais o administrador do data lake na conta externa concede a permissão ASSOCIATE podem então atribuir tags do LF aos recursos do catálogo de dados que você compartilhou com a conta deles.

Ao conceder para uma conta externa, você deve incluir a opção de concessão.

Você pode conceder permissões em tags do LF usando o console do AWS Lake Formation, a API ou a AWS Command Line Interface (AWS CLI).

Conceder permissões do catálogo de dados

Use o console do Lake Formation ou a AWS CLI para conceder permissões do Lake Formation em bancos de dados, tabelas, visualizações e colunas usando o método de controle de acesso baseado em tags do Lake Formation (LF-TBAC).

Console

As etapas a seguir explicam como conceder permissões usando o método de controle de acesso baseado em tags do Lake Formation (LF-TBAC) e a página Conceder permissões de data lake no console do Lake Formation. A página está dividida nas seguintes seções:

  • Entidades principais – Os usuários, perfis e Contas da AWS para os quais conceder permissões.

  • Tags do LF ou recursos do catálogo – Os bancos de dados, tabelas ou links de recursos nos quais conceder permissões.

  • Permissões – As permissões do Lake Formation devem ser concedidas.

  1. Abra a página Conceder permissões de data lake.

    Abra o console AWS Lake Formation em https://console.aws.amazon.com/lakeformation/ e faça login como administrador do data lake ou como usuário que recebeu permissões do Lake Formation nos recursos do catálogo de dados por meio do LF-TBAC com a opção de concessão.

    No painel de navegação, em Permissões, escolha Permissões do data lake. Em seguida, escolha Conceder.

  2. Especifique as entidades principais.

    Na seção Entidades principais, escolha um tipo de principal e, em seguida, especifique às entidades principais aos quais conceder permissões.

    A seção Entidades principais contém quatro blocos que são nomeados no texto a seguir. Cada bloco contém um botão de opção e um texto. O bloco do Centro de Identidade do IAM está selecionado, e a lista suspensa de usuários e grupos está abaixo dos blocos.
    Usuários e perfis do IAM

    Escolha um ou mais usuários ou perfis na lista de usuários e perfis do IAM.

    Centro de Identidade do IAM

    Selecione um ou mais usuários na lista Usuários e grupos.

    Usuários e grupos SAML

    Para usuários e grupos do SAML e do Amazon QuickSight, insira um ou mais nomes dos recursos da Amazon (ARNs) para usuários ou grupos federados por meio do SAML ou ARNs para usuários ou grupos do Amazon QuickSight. Pressione Enter após cada ARN.

    Para obter informações sobre como construir os ARNs, consulte Lake Formation concede e revoga comandos AWS CLI.

    nota

    A integração do Lake Formation com o Amazon QuickSight é compatível somente com o Amazon QuickSight Enterprise Edition.

    Contas externas

    Em Contas da AWS, Organização da AWS ou Entidade principal do IAM, insira um ou mais IDs válidos da Conta da AWS, IDs da organização, IDs da unidade organizacional ou ARN para o usuário ou o perfil do IAM. Pressione Enter após cada ID.

    O ID da organização consiste em “o-” seguido por 10 a 32 letras minúsculas ou dígitos.

    Um ID de unidade organizacional começa com “ou-” seguido de 4 a 32 letras minúsculas ou dígitos (o ID da raiz que contém a OU). Essa sequência é seguida por um segundo travessão "-" e 8 a 32 letras minúsculas ou dígitos adicionais.

  3. Especifique as tags do LF.

    Certifique-se de que a opção Recursos correspondidos por tags do LF seja escolhida. Selecione Adicionar tag do LF.

    1. Escolha uma chave e valores de tag do LF.

      Se você escolher mais de um valor, estará criando uma expressão de tags do LF com um operador OR. Isso significa que, se algum dos valores da tag do LF corresponder a uma tag do LF atribuída a um recurso do catálogo de dados, você receberá permissões sobre o recurso.

      A seção tag do LF ou a seção de recursos do catálogo contém dois blocos dispostos horizontalmente, onde cada bloco contém um botão de opção e um texto descritivo. As opções são Recursos combinados com tags do LF (recomendado) e recursos do catálogo de dados nomeados. Os recursos correspondentes às tags do LF são selecionados. Abaixo dos blocos, há um campo Chave e um campo Valores organizados horizontalmente. O campo Chave contém “módulo” e o campo Valores é uma lista suspensa que contém três entradas: Pedidos, Vendas e Clientes. Cada entrada tem uma caixa de seleção associada. A caixa de seleção para Clientes está marcada. À direita desses dois campos, há um botão Remover. Na parte inferior, há um botão Adicionar tag do LF, indicando que você pode adicionar outra linha contendo os campos Chave e Valores e um botão Remover.
    2. (Opcional) Escolha Adicionar tag do LF novamente para especificar outra tag do LF.

      Se você especificar mais de uma tag do LF, estará criando uma expressão de tag do LF com um operador AND. A entidade principal recebe permissões em um recurso do catálogo de dados somente se o recurso tiver sido atribuído a uma tag do LF correspondente para cada tag do LF na expressão da tag do LF.

  4. Especifique as permissões.

    Especificar as permissões a serem concedidas à entidade principal em recursos correspondentes do catálogo de dados. Recursos correspondentes são aqueles recursos atribuídos a tags do LF que correspondem a uma das expressões de tags do LF concedidas à entidade principal.

    É possível especificar as permissões a serem concedidas em bancos de dados, tabelas e visualizações correspondentes.

    Duas seções da página são mostradas. A seção Permissões do banco de dados contém caixas de seleção para permissões de banco de dados e permissões concedidas. Abaixo da seção Banco de dados, a seção Permissões de tabela mostra as caixas de seleção para permissões de tabela e permissões concedidas.

    Em Permissões do banco de dados, selecione as permissões do banco de dados a serem concedidas à entidade principal nos bancos de dados correspondentes.

    Em Permissões de tabela, selecione as permissões de tabela ou visualização a serem concedidas à entidade principal nas tabelas e nas visualizações correspondentes.

    Também é possível selecionar as permissões Select, Describe e Drop nas Permissões de tabela a serem aplicadas às visualizações.

  5. Selecione Conceder.

AWS CLI

Você pode usar o AWS Command Line Interface (AWS CLI) e o método de controle de acesso baseado em tags do Lake Formation (LF-TBAC) para conceder permissões do Lake Formation em bancos de dados, tabelas e colunas do catálogo de dados.

Conceder permissões de data lake usando a AWS CLI e o método LF-TBAC
  • Use o comando grant-permissions.

    O exemplo a seguir concede a expressão tag do LF "module=*" (todos os valores da chave tag do LF module) ao usuário datalake_user1. Esse usuário terá a permissão CREATE_TABLE em todos os bancos de dados correspondentes – bancos de dados aos quais foi atribuída a tag do LF com a chave module, com qualquer valor.

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "CREATE_TABLE" --resource '{ "LFTagPolicy": {"CatalogId":"111122223333","ResourceType":"DATABASE","Expression":[{"TagKey":"module","TagValues":["*"]}]}}'

    O próximo exemplo concede a expressão da tag do LF "(level=director) AND (region=west OR region=south)" ao usuário datalake_user1. Esse usuário terá as permissões SELECT, ALTER e DROP com a opção de concessão em tabelas correspondentes – tabelas que foram atribuídas tanto a level=director quanto a region=west ou region=south.

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" "ALTER" "DROP" --permissions-with-grant-option "SELECT" "ALTER" "DROP" --resource '{ "LFTagPolicy": {"CatalogId":"111122223333","ResourceType":"TABLE","Expression": [{"TagKey": "level","TagValues": ["director"]},{"TagKey": "region","TagValues": ["west", "south"]}]}}'

    O próximo exemplo concede a expressão tag do LF "module=orders" à conta AWS 1234-5678-9012. O administrador do data lake nessa conta pode então conceder a expressão "module=orders" às entidades principais em sua conta. Essas entidades principais terão então a permissão CREATE_TABLE para combinar bancos de dados pertencentes à conta 1111-2222-3333 e compartilhados com a conta 1234-5678-9012 usando o método de recurso nomeado ou o método LF-TBAC.

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=123456789012 --permissions "CREATE_TABLE" --permissions-with-grant-option "CREATE_TABLE" --resource '{ "LFTagPolicy": {"CatalogId":"111122223333","ResourceType":"DATABASE","Expression":[{"TagKey":"module","TagValues":["orders"]}]}}'