Como proteger os data lakes com controle de acesso em nível de linha - 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á.

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.

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:

  1. 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).

  2. Em catálogo de dados, selecione Configurações.

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

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

  1. Faça login no AWS CloudFormation console em https://console.aws.amazon.com/cloudformation na região Leste dos EUA (Norte da Virgínia).

  2. Selecione Iniciar Pilha.

  3. Na página Criar pilha, selecione Avançar.

  4. Digite um Nome de pilha.

  5. Para DatalakeAdminUserNamee DatalakeAdminUserPassword, insira seu nome de IAM usuário e senha para o usuário administrador do data lake.

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

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

  8. Para DataLakeBucketName, insira o nome do seu repositório de dados.

  9. Para DatabaseNamee TableNamedeixe como padrão.

  10. Selecione Avançar.

  11. Na página seguinte, selecione Avançar.

  12. Analise os detalhes na página final e selecione Eu reconheço que isso AWS CloudFormation pode criar IAM recursos.

  13. 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
  1. 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.

    Query results showing 10 rows of Amazon product reviews for VHS tapes with various ratings.
  2. 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 coluna marketplace.

    Query results showing marketplace data with total counts for FR, UK, JP, DE, and US.

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
  1. Crie um filtro para restringir o acesso aos dados do marketplace dos US.

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

    2. Selecione Filtros de dados.

    3. Selecione Criar novo filtro.

    4. Em Nome do filtro de dados, digite amazon_reviews_US.

    5. Em Banco de dados de destino, selecione o banco de dados lakeformation_tutorial_row_security.

    6. Em Tabela de destino, selecione a tabela amazon_reviews.

    7. Para acesso em nível de coluna, deixe como padrão.

    8. Em Expressão de filtro de linha, digite marketplace='US'.

    9. Selecione Criar filtro.

  2. Crie um filtro para restringir o acesso aos dados japoneses do marketplace.

    1. Na página Filtros de dados, selecione Criar novo filtro.

    2. Em Nome do filtro de dados, digite amazon_reviews_JP.

    3. Em Banco de dados de destino, selecione o banco de dados lakeformation_tutorial_row_security.

    4. Em Tabela de destino, selecione o table amazon_reviews.

    5. Para acesso em nível de coluna, deixe como padrão.

    6. Em Expressão de filtro de linha, digite marketplace='JP'.

    7. Selecione Criar filtro.

  3. 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):

    1. Em Permissões, escolha Permissões do Data lake.

    2. Em Permissão de dados, selecione Conceder.

    3. Para Diretores, escolha IAMusuários e funções e selecione a funçãoDataAnalystUS.

    4. Em Tags do LF ou recursos de catálogo, selecione Recursos nomeados de catálogo de dados.

    5. Para o Banco de dados, selecione lakeformation_tutorial_row_security.

    6. Para Tabelas opcionais, selecione amazon_reviews.

    7. Para Filtros de dados — opcional, selecione amazon_reviews_US.

    8. Para Permissões de filtro de dados, marque Selecionar.

    9. Selecione Conceder.

  4. Siga estas etapas para conceder permissões ao analista de dados japonês (DataAnalystJP):

    1. Em Permissões, escolha Permissões do Data lake.

    2. Em Permissão de dados, selecione Conceder.

    3. Para Diretores, escolha IAMusuários e funções e selecione a funçãoDataAnalystJP.

    4. Em Tags do LF ou recursos de catálogo, selecione Recursos nomeados de catálogo de dados.

    5. Para o Banco de dados, selecione lakeformation_tutorial_row_security.

    6. Para Tabelas opcionais, selecione amazon_reviews.

    7. Para Filtros de dados — opcional, selecione amazon_reviews_JP.

    8. Para Permissões de filtro de dados, marque Selecionar.

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

  1. Faça login no console do Athena https://console.aws.amazon.com/athena/como usuário. DataAnalystUS

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

    Query results showing 10 rows of Amazon product reviews data, including marketplace, ratings, and product titles.
  3. 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 dos marketplace nos resultados. Isso ocorre porque o usuário só pode ver as linhas em que o valor da coluna marketplace é igual a US.

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

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