Conceder permissões de tabela usando o método de recurso nomeado - 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á.

Conceder permissões de tabela usando o método de recurso nomeado

Você pode usar o console do Lake Formation ou AWS CLI conceder permissões do Lake Formation nas tabelas do Catálogo de Dados. Você pode conceder permissões em tabelas individuais ou, com uma única operação de concessão, você pode conceder permissões em todas as tabelas em um banco de dados.

Se você conceder permissões em todas as tabelas em um banco de dados, estará concedendo implicitamente a permissão DESCRIBE no banco de dados. Em seguida, o banco de dados aparece na página Bancos de dados no console e é retornado pela operação da API GetDatabases.

Ao escolher SELECT como a permissão a ser concedida, você tem a opção de aplicar um filtro de coluna, filtro de linha ou filtro de célula.

Console

As etapas a seguir explicam como conceder permissões de tabela usando o método de recurso nomeado e a página Conceder permissões de data lake no console do Lake Formation. A página está dividida nas seguintes seções:

  • Diretores — Os usuários, funções, AWS contas, organizações ou unidades organizacionais aos 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.

nota

Para conceder permissões em um link de recurso de tabela, consulte Como conceder permissões de links de recursos.

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

    Abra o AWS Lake Formation console em https://console.aws.amazon.com/lakeformation/e faça login como administrador do data lake, criador da tabela ou usuário que tenha recebido permissões na tabela com a opção de concessão.

    Execute um destes procedimentos:

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

    • No painel de navegação, selecione Tabelas. Em seguida, na página Tabelas, escolha uma tabela e, no menu Ações, em Permissões, escolha Conceder.

    nota

    Você pode conceder permissões em uma tabela por meio de seu link de recurso. Para fazer isso, na página Tabelas, escolha um link de recurso e, no menu Ações, escolha Conceder no destino. Para obter mais informações, consulte Como os links de recursos funcionam no Lake Formation.

  2. Na seção Entidades principais, selecione um tipo de entidade principal e especifique as entidades principais às quais conceder permissões.

    A seção Entidades principais contém três blocos que são nomeados no texto a seguir. Cada bloco contém um botão de opção e um texto. O bloco de usuários e grupos do Centro de Identidade do IAM é selecionado, e uma lista suspensa de usuários e perfis do IAM 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 ou grupos na lista Usuários e grupos.

    Usuários e grupos SAML

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

    Para obter informações sobre como construir o ARNs, consulteLake Formation concede e revoga comandos AWS CLI.

    nota

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

    Contas externas

    Para Conta da AWS , AWS organização ou diretor do IAM, insira uma ou mais organizações Conta da AWS IDs IDs IDs, unidades organizacionais ou ARN válidas para o usuário ou a função 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.

    Uma ID de unidade organizacional começa com “ou-” seguida 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 caractere "-" e de 8 a 32 letras minúsculas ou dígitos adicionais.

  3. Na seção Tags do LF ou recursos do catálogo, escolha um banco de dados. Em seguida, escolha uma ou mais tabelas ou Todas as tabelas.

    A seção tags do LF ou 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 por tags do LF e recursos do catálogo de dados nomeados. Os recursos do catálogo de dados nomeados são selecionados. Abaixo dos blocos, há duas listas suspensas: Banco de dados e tabela. A lista suspensa Banco de dados tem um quadro abaixo dela contendo o nome do banco de dados selecionado. A lista suspensa Tabela tem um quadro abaixo dela contendo o nome da tabela selecionada.
  4. Especificar as permissões sem filtragem de dados

    Na seção Permissões, selecione as permissões da tabela a serem concedidas e, opcionalmente, selecione as permissões que podem ser concedidas.

    A seção Permissões de tabela e coluna tem duas subseções: Permissões de tabela e Permissões concedidas. Cada subseção tem uma caixa de seleção para cada permissão possível do Lake Formation: Alterar, Inserir, Eliminar, Excluir, Selecionar, Descrever e Super. A permissão Super é definida à direita das outras permissões e tem uma descrição: “Essa permissão permite que a entidade principal conceda qualquer uma das permissões à esquerda e substitui as permissões concedidas”.

    Se você conceder Selecionar, a seção Permissões de dados aparecerá abaixo da seção Permissões de tabela e coluna, com a opção Acesso a todos os dados selecionada por padrão. Aceite o padrão.

    A seção contém três blocos, dispostos horizontalmente, cada um com um botão de opção e uma descrição. Os botões de opção são: Acesso a todos os dados (selecionado), Acesso simples baseado em colunas e Filtros avançados em nível de célula.
  5. Selecione Conceder.

  6. Especifique a permissão Selecionar com filtragem de dados

    Selecione a permissão Selecionar. Não selecione nenhuma outra permissão.

    A seção Permissões de dados aparece abaixo da seção Permissões de tabela e coluna.

  7. Execute um destes procedimentos:

    • Aplique somente a filtragem simples de colunas.

      1. Escolha Acesso simples baseado em colunas.

        A seção superior é a seção Permissões de tabela e coluna. Está descrito na captura de tela anterior. Ele contém caixas de seleção para permissões de tabela e permissões concedidas. A seção inferior, Permissões de dados, tem três blocos dispostos horizontalmente, onde cada bloco tem um botão de opção e uma descrição. As opções são Acesso a todos os dados, Acesso simples baseado em colunas e Filtros avançados em nível de célula. A opção de acesso simples baseado em colunas está selecionada. Abaixo dos blocos, há um grupo de botões de opção com o rótulo Escolher filtro de permissão. As opções são Incluir colunas e Excluir colunas. Abaixo do grupo de opções, há uma lista suspensa Selecionar colunas e, abaixo dela, uma subseção Permissões concedidas, que contém uma única caixa de seleção chamada Selecionar.
      2. Escolha se deseja incluir ou excluir colunas e, em seguida, escolha as colunas a serem incluídas ou excluídas.

        Somente listas de inclusão são suportadas ao conceder permissões a uma AWS conta ou organização externa.

      3. (Opcional) Em Permissões concedidas, ative a opção de concessão para a permissão Selecionar.

        Se você incluir a opção de concessão, o destinatário da concessão poderá conceder permissões somente nas colunas que você conceder a ele.

      nota

      Você também pode aplicar a filtragem de colunas somente criando um filtro de dados que especifique um filtro de coluna e especifique todas as linhas como filtro de linha. No entanto, isso requer mais etapas.

    • Aplique filtragem de coluna, linha ou célula.

      1. Escolha Filtros avançados em nível de célula.

        Essa seção, intitulada Permissões de dados, está abaixo da seção Permissões de tabela. Possui três ladrilhos dispostos horizontalmente, onde cada ladrilho tem um botão de opção e uma descrição. As opções são Acesso a todos os dados, Acesso simples baseado em colunas e Filtros avançados em nível de célula. A opção Filtros avançados em nível de célula está selecionada. Abaixo dos blocos está o rótulo Exibir permissões existentes com um triângulo de exposição à esquerda. As permissões existentes não são expostas. Abaixo está uma seção intitulada Filtros de dados a serem concedidos. À direita do título, há três botões: Atualizar, Gerenciar filtros e Criar novo filtro. Abaixo do título e dos botões, há um campo de texto com o texto reservado “Localizar filtro”. Abaixo está uma tabela de filtros existentes. Cada linha tem uma caixa de seleção à esquerda. Os cabeçalhos das colunas são Nome do filtro, Tabela, Banco de dados e ID do catálogo da tabela. Há duas fileiras. O nome do filtro na primeira linha é restrict-pharma. O nome na segunda linha é no-pharma.
      2. (Opcional) Expanda Visualizar permissões existentes.

      3. (Opcional) Escolha Criar novo filtro.

      4. (Opcional) Para ver detalhes dos filtros listados, criar novos filtros ou excluir filtros existentes, escolha Gerenciar filtros.

        A página Filtros de dados é aberta em uma nova janela do navegador.

        Quando terminar de acessar a página Filtros de dados, retorne à página Conceder permissões e, se necessário, atualize a página para ver os novos filtros de dados que você criou.

      5. Selecione um ou mais filtros de dados a serem aplicados à concessão.

        nota

        Se não houver filtros de dados na lista, isso significa que nenhum filtro de dados foi criado para a tabela selecionada.

  8. Selecione Conceder.

AWS CLI

Você pode conceder permissões de tabela usando o método de recurso nomeado e o AWS Command Line Interface (AWS CLI).

Para conceder permissões de tabela usando o AWS CLI
  • Execute um comando grant-permissions e especifique uma tabela como recurso.

exemplo – Concessão em uma única tabela - sem filtragem

O exemplo a seguir concede SELECT e ALTER ao usuário datalake_user1 na AWS conta 1111-2222-3333 na tabela no banco de dados. inventory retail

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" "ALTER" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'
nota

Se você conceder a permissão ALTER em uma tabela que tem seus dados subjacentes em um local registrado, certifique-se de também conceder permissões de localização de dados no local às entidades principais. Para obter mais informações, consulte Conceder permissões de localização de dados.

exemplo – Conceder em todas as tabelas com a opção Conceder - sem filtragem

O próximo exemplo concede SELECT com a opção de concessão em todas as tabelas no banco de dados retail.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --permissions-with-grant-option "SELECT" --resource '{ "Table": { "DatabaseName": "retail", "TableWildcard": {} } }'
exemplo – Grant com filtragem simples de colunas

O próximo exemplo concede a SELECT um subconjunto de colunas na tabela persons. Ele usa filtragem de coluna simples.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --resource '{ "TableWithColumns": {"DatabaseName":"hr", "Name":"persons", "ColumnNames":["family_name", "given_name", "gender"]}}'
exemplo – Conceda com um filtro de dados

Este exemplo concede SELECT na tabela orders e aplica o filtro de dados restrict-pharma.

aws lakeformation grant-permissions --cli-input-json file://grant-params.json

A seguir está o conteúdo do arquivo grant-params.json.

{ "Principal": {"DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1"}, "Resource": { "DataCellsFilter": { "TableCatalogId": "111122223333", "DatabaseName": "sales", "TableName": "orders", "Name": "restrict-pharma" } }, "Permissions": ["SELECT"], "PermissionsWithGrantOption": ["SELECT"] }