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á.
Como proteger os data lakes com controle de acesso em nível de linha
AWS Lake Formation as permissões em nível de linha permitem que você forneça acesso a linhas específicas em uma tabela com base nas políticas de governança e conformidade de dados. Se você tem tabelas grandes armazenando bilhões de registros, você precisa de uma forma de permitir que diferentes usuários e equipes acessem somente os dados que eles têm permissão para ver. O controle de acesso em nível de linha é uma maneira simples e eficaz de proteger os dados e, ao mesmo tempo, dar aos usuários acesso aos dados de que precisam para realizar seu trabalho. O Lake Formation fornece relatórios centralizados de auditoria e conformidade, identificando quais entidades principais acessaram quais dados, quando, e por meio de quais serviços.
Neste tutorial, você aprenderá como os controles de acesso em nível de linha funcionam no Lake Formation e como configurá-los.
Este tutorial inclui um AWS CloudFormation modelo para configurar rapidamente os recursos necessários. É possível revisá-lo e personalizá-lo para atender às suas necessidades.
Tópicos
Público-alvo
Este tutorial é destinado a administradores de dados, engenheiros de dados e analistas de dados. A tabela a seguir lista perfis e responsabilidades de um proprietário e um consumidor de dados.
Perfil | Descrição |
---|---|
IAMAdministrador | Um usuário que pode criar usuários e perfis e buckets do Amazon Simple Storage Service (Amazon S3). Tem a política AdministratorAccess AWS gerenciada. |
Administrador do data lake | Um usuário responsável por configurar o data lake, criar filtros de dados e conceder permissões aos analistas de dados. |
Analista de dados | Um usuário que pode executar consultas no data lake. Analistas de dados residentes em países diferentes (para nosso caso de uso, EUA e Japão) só podem analisar avaliações de produtos de clientes localizados em seus próprios países e, por motivos de conformidade, não devem ser capazes de ver dados de clientes localizados em outros países. |
Pré-requisitos
Antes de começar este tutorial, você deve ter um Conta da AWS que possa ser usado para entrar como usuário administrativo com as permissões corretas. Para obter mais informações, consulte Conclua AWS as tarefas de configuração inicial.
O tutorial pressupõe que você esteja familiarizado comIAM. Para obter informações sobreIAM, consulte o Guia IAM do usuário.
Alterar as configurações do Lake Formation
Importante
Antes de iniciar o AWS CloudFormation modelo, desative a opção Usar somente controle de IAM acesso para novos bancos de dados/tabelas no Lake Formation seguindo as etapas abaixo:
Faça login no console do Lake Formation https://console.aws.amazon.com/lakeformation/
na região Leste dos EUA (Norte da Virgínia) ou Oeste dos EUA (Oregon). Em catálogo de dados, selecione Configurações.
Desmarque Usar somente controle de IAM acesso para novos bancos de dados e Usar somente controle de IAM acesso para novas tabelas em novos bancos de dados.
Escolha Salvar.
Etapa 1: Provisionar os recursos
Este tutorial inclui um AWS CloudFormation modelo para uma configuração rápida. É possível revisá-lo e personalizá-lo para atender às suas necessidades. O AWS CloudFormation modelo gera os seguintes recursos:
Usuários e políticas para:
DataLakeAdmin
DataAnalystEUA
DataAnalystJP
Configurações e permissões do data lake do Lake Formation
Uma função Lambda (para recursos AWS CloudFormation personalizados apoiados pelo Lambda) usada para copiar arquivos de dados de amostra do bucket público do Amazon S3 para o seu bucket do Amazon S3
Um bucket do Amazon S3 para servir como Data Lake.
Um AWS Glue Data Catalog banco de dados, tabela e partição
Criar seus recursos
Siga estas etapas para criar seus recursos usando o AWS CloudFormation modelo.
Faça login no AWS CloudFormation console em https://console.aws.amazon.com/cloudformation
na região Leste dos EUA (Norte da Virgínia). Selecione Iniciar Pilha
. Na página Criar pilha, selecione Avançar.
Digite um Nome de pilha.
Para DatalakeAdminUserNamee DatalakeAdminUserPassword, insira seu nome de IAM usuário e senha para o usuário administrador do data lake.
Para DataAnalystUsUserNamee DataAnalystUsUserPassword, insira o nome de usuário e a senha do nome de usuário e senha que você deseja para o usuário analista de dados responsável pelo mercado dos EUA.
DataAnalystJpUserPasswordEm DataAnalystJpUserNamee, insira o nome de usuário e a senha do nome de usuário e senha que você deseja para o usuário analista de dados responsável pelo mercado japonês.
Para DataLakeBucketName, insira o nome do seu repositório de dados.
Para DatabaseNamee TableNamedeixe como padrão.
Selecione Avançar.
Na página seguinte, selecione Avançar.
Analise os detalhes na página final e selecione Eu reconheço que isso AWS CloudFormation pode criar IAM recursos.
Escolha Criar.
A criação da pilha pode levar um minuto para ser concluída.
Etapa 2: Consulta sem filtros de dados
Depois que você configurar o ambiente, poderá consultar a tabela de avaliações de produtos. Primeiro, consulte a tabela sem controles de acesso em nível de linha para garantir que você possa ver os dados. Se você estiver executando consultas no Amazon Athena pela primeira vez, precisará configurar a localização do resultado da consulta.
Consulte a tabela sem controle de acesso em nível de linha
-
Faça login no Athena console https://console.aws.amazon.com/athena/
como DatalakeAdmin
usuário e execute a seguinte consulta:SELECT * FROM lakeformation_tutorial_row_security.amazon_reviews LIMIT 10
A captura de tela a seguir mostra o resultado da consulta. Essa tabela tem apenas uma partição,
product_category=Video
, portanto, cada registro é um comentário de avaliação de um produto de vídeo. -
Em seguida, execute uma consulta de agregação para recuperar o número total de registros por
marketplace
.SELECT marketplace, count(*) as total_count FROM lakeformation_tutorial_row_security.amazon_reviews GROUP BY marketplace
A captura de tela a seguir mostra o resultado da consulta. A coluna
marketplace
tem cinco valores diferentes. Nas etapas subsequentes, você configurará filtros baseados em linhas usando a colunamarketplace
.
Etapa 3: Configurar filtros de dados e conceder permissões
Este tutorial usa dois analistas de dados: um responsável pelo mercado dos EUA e outro pelo mercado japonês. Cada analista usa o Athena para analisar avaliações de clientes somente para seu mercado específico. Crie dois filtros de dados diferentes, um para o analista responsável pelo mercado dos EUA e outro para o responsável pelo mercado japonês. Em seguida, conceda aos analistas suas respectivas permissões.
Crie filtros de dados e conceda permissões
Crie um filtro para restringir o acesso aos dados do
marketplace
dosUS
.Faça login no console do Lake Formation https://console.aws.amazon.com/lakeformation/
na região Leste dos EUA (Norte da Virgínia) como DatalakeAdmin
usuário.Selecione Filtros de dados.
Selecione Criar novo filtro.
Em Nome do filtro de dados, digite
amazon_reviews_US
.Em Banco de dados de destino, selecione o banco de dados
lakeformation_tutorial_row_security
.Em Tabela de destino, selecione a tabela
amazon_reviews
.Para acesso em nível de coluna, deixe como padrão.
Em Expressão de filtro de linha, digite
marketplace='US'
.Selecione Criar filtro.
-
Crie um filtro para restringir o acesso aos dados japoneses do
marketplace
.Na página Filtros de dados, selecione Criar novo filtro.
Em Nome do filtro de dados, digite
amazon_reviews_JP
.Em Banco de dados de destino, selecione o banco de dados
lakeformation_tutorial_row_security
.Em Tabela de destino, selecione o
table amazon_reviews
.Para acesso em nível de coluna, deixe como padrão.
Em Expressão de filtro de linha, digite
marketplace='JP'
.Selecione Criar filtro.
Em seguida, conceda permissões aos analistas de dados usando esses filtros de dados. Siga estas etapas para conceder permissões ao analista de dados dos EUA (
DataAnalystUS
):Em Permissões, escolha Permissões do Data lake.
Em Permissão de dados, selecione Conceder.
-
Para Diretores, escolha IAMusuários e funções e selecione a função
DataAnalystUS
. Em Tags do LF ou recursos de catálogo, selecione Recursos nomeados de catálogo de dados.
-
Para o Banco de dados, selecione
lakeformation_tutorial_row_security
. Para Tabelas opcionais, selecione
amazon_reviews
.Para Filtros de dados — opcional, selecione
amazon_reviews_US
.-
Para Permissões de filtro de dados, marque Selecionar.
Selecione Conceder.
Siga estas etapas para conceder permissões ao analista de dados japonês (
DataAnalystJP
):Em Permissões, escolha Permissões do Data lake.
Em Permissão de dados, selecione Conceder.
-
Para Diretores, escolha IAMusuários e funções e selecione a função
DataAnalystJP
. Em Tags do LF ou recursos de catálogo, selecione Recursos nomeados de catálogo de dados.
-
Para o Banco de dados, selecione
lakeformation_tutorial_row_security
. Para Tabelas opcionais, selecione
amazon_reviews
.Para Filtros de dados — opcional, selecione
amazon_reviews_JP
.-
Para Permissões de filtro de dados, marque Selecionar.
Selecione Conceder.
Etapa 4: Consulta com filtros de dados
Com os filtros de dados anexados à tabela de avaliações de produtos, faça algumas consultas e veja como as permissões são aplicadas pelo Lake Formation.
-
Faça login no console do Athena https://console.aws.amazon.com/athena/
como usuário. DataAnalystUS
-
Execute a consulta a seguir para recuperar alguns registros, que são filtrados com base nas permissões em nível de linha que definimos:
SELECT * FROM lakeformation_tutorial_row_security.amazon_reviews LIMIT 10
A captura de tela a seguir mostra o resultado da consulta.
-
Da mesma forma, execute uma consulta para contar o número total de registros por loja.
SELECT marketplace , count ( * ) as total_count FROM lakeformation_tutorial_row_security .amazon_reviews GROUP BY marketplace
O resultado da consulta mostra apenas o
US
dosmarketplace
nos resultados. Isso ocorre porque o usuário só pode ver as linhas em que o valor da colunamarketplace
é igual aUS
. -
Mude para o usuário
DataAnalystJP
e execute a mesma consulta.SELECT * FROM lakeformation_tutorial_row_security.amazon_reviews LIMIT 10
O resultado da consulta mostra apenas os registros que pertencem ao domínio
JP
marketplace
. -
Execute a consulta para contar o número total de registros por
marketplace
.SELECT marketplace, count(*) as total_count FROM lakeformation_tutorial_row_security.amazon_reviews GROUP BY marketplace
O resultado da consulta mostra apenas a linha pertencente ao domínio
JP
marketplace
.
Etapa 5: limpar AWS os recursos
Limpar recursos
Para evitar cobranças indesejadas Conta da AWS, você pode excluir os AWS recursos usados neste tutorial.