Configurar AWS Lake Formation - 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á.

Configurar AWS Lake Formation

As seções a seguir fornecem informações sobre a configuração do Lake Formation pela primeira vez. Nem todos os tópicos desta seção são necessários para começar a usar o Lake Formation. Você pode usar as instruções para configurar o modelo de permissões do Lake Formation para gerenciar seus AWS Glue Data Catalog objetos e locais de dados existentes no Amazon Simple Storage Service (Amazon S3).

Esta seção mostra como configurar os recursos do Lake Formation de duas maneiras diferentes:

  • Usando um AWS CloudFormation modelo

  • Como usar o console Lake Formation

Para configurar o Lake Formation usando o AWS console, acesseCrie um administrador de data lake.

Configurar recursos do Lake Formation usando o AWS CloudFormation modelo

nota

A AWS CloudFormation pilha executa as etapas 1 a 6 acima, exceto as etapas 2 e 5. Execute Altere o modelo de permissão padrão ou use o modo de acesso híbrido e Integrar o Centro de Identidade do IAM manualmente a partir do console Lake Formation.

  1. Faça login no AWS CloudFormation console em https://console.aws.amazon.com/cloudformation como administrador do IAM 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 DatalakeAdminNamee DatalakeAdminPassword, insira seu nome de usuário e senha para o usuário administrador do data lake.

  6. Para DatalakeUser1Name e DatalakeUser1Password, digite seu nome de usuário e senha para o usuário do data lake analyst.

  7. Para DataLakeBucketName, insira o nome do novo bucket que será criado.

  8. Selecione Avançar.

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

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

  11. Selecione Criar.

    A criação da pilha pode levar até dois minutos.

Limpar recursos

Se você quiser limpar os recursos da AWS CloudFormation pilha:

  1. Cancele o registro do bucket do Amazon S3 que sua pilha criou e registrou como um local de data lake.

  2. Exclua a AWS CloudFormation pilha. Isso excluirá todos os recursos criados pela pilha.

Crie um administrador de data lake

Inicialmente, os administradores do Data Lake são os únicos usuários ou funções AWS Identity and Access Management (IAM) que podem conceder permissões do Lake Formation sobre locais de dados e recursos do Catálogo de Dados a qualquer diretor (inclusive a si mesmo). Para obter mais informações sobre os recursos do administrador de data lake, consulte Permissões implícitas do Lake Formation. Por padrão, o Lake Formation permite criar até 30 administradores de data lake.

Você pode criar um administrador de data lake usando o console do Lake Formation ou a operação PutDataLakeSettings da API do Lake Formation.

As permissões a seguir são necessárias para criar um administrador de data lake. O usuário Administrator tem essas permissões implicitamente.

  • lakeformation:PutDataLakeSettings

  • lakeformation:GetDataLakeSettings

Se você conceder a política AWSLakeFormationDataAdmin a um usuário, esse usuário não poderá criar usuários administradores adicionais do Lake Formation.

Como criar um administrador de data lake (console)
  1. Se o usuário que será administrador do data lake ainda não existir, use o console do IAM para criá-lo. Caso contrário, selecione um usuário existente que será o administrador do data lake.

    nota

    Recomendamos que você não selecione um usuário administrativo do IAM (usuário com a política AdministratorAccess AWS gerenciada) para ser o administrador do data lake.

    Anexe as seguintes políticas AWS gerenciadas ao usuário:

    Políticas Obrigatório? Observações
    AWSLakeFormationDataAdmin Obrigatório Permissões básicas do administrador do data lake. Essa política AWS gerenciada contém uma negação explícita da operação da API Lake Formation, PutDataLakeSetting que impede que os usuários criem novos administradores de data lake.
    AWSGlueConsoleFullAccess, CloudWatchLogsReadOnlyAccess Opcional Anexe essas políticas se o administrador do data lake estiver solucionando problemas de fluxos de trabalho criados a partir dos esquemas do Lake Formation. Essas políticas permitem que o administrador do data lake visualize as informações de solução de problemas no console do AWS Glue e no console do Amazon CloudWatch Logs . Para obter informações sobre fluxos de trabalho, consulte Importação de dados usando fluxos de trabalho no Lake Formation.
    AWSLakeFormationCrossAccountManager Opcional Anexe esta política para permitir que o administrador do data lake conceda e revogue permissões entre contas nos recursos do catálogo de dados. Para ter mais informações, consulte Compartilhamento de dados entre contas no Lake Formation.
    AmazonAthenaFullAccess Opcional Anexe essa política se o administrador do data lake estiver executando consultas em Amazon Athena.
  2. Anexe a seguinte política em linha, que concede ao administrador do data lake permissão para criar o perfil vinculado ao serviço do Lake Formation. O nome sugerido para a política é LakeFormationSLR.

    O perfil vinculado ao serviço permite que o administrador do data lake registre com mais facilidade o local do Amazon S3 no Lake Formation. Para obter mais informações sobre o perfil vinculado ao serviço Lake Formation, consulte Usar perfis vinculados ao serviço para o Lake Formation.

    Importante

    Em todas as políticas a seguir, <account-id>substitua por um número de AWS conta válido.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": "lakeformation.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::<account-id>:role/aws-service-role/lakeformation.amazonaws.com/AWSServiceRoleForLakeFormationDataAccess" } ] }
  3. (Opcional) Anexe a seguinte política em linha ao usuário PassRole. Essa política permite que o administrador do data lake crie e execute fluxos de trabalho. A permissão iam:PassRole permite que o fluxo de trabalho assuma o perfil LakeFormationWorkflowRole para criar crawlers e trabalhos, e anexe o perfil aos crawlers e trabalhos criados. O nome sugerido para a política é UserPassRole.

    Importante

    <account-id>Substitua por um número de AWS conta válido.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account-id>:role/LakeFormationWorkflowRole" ] } ] }
  4. (Opcional) Anexe essa política adicional em linha se sua conta estiver concedendo ou recebendo permissões entre contas do Lake Formation. Essa política permite que o administrador do data lake visualize e aceite AWS Resource Access Manager (AWS RAM) convites de compartilhamento de recursos. Além disso, para administradores de data lake na conta AWS Organizations de gerenciamento, a política inclui uma permissão para permitir concessões entre contas para organizações. Para ter mais informações, consulte Compartilhamento de dados entre contas no Lake Formation.

    O nome sugerido para a política é RAMAccess.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ram:AcceptResourceShareInvitation", "ram:RejectResourceShareInvitation", "ec2:DescribeAvailabilityZones", "ram:EnableSharingWithAwsOrganization" ], "Resource": "*" } ] }
  5. Abra o AWS Lake Formation console em https://console.aws.amazon.com/lakeformation/ e faça login como o usuário administrador que você criou Criar um usuário com acesso administrativo ou como um usuário com política AWS gerenciada pelo AdministratorAccess usuário.

  6. Se a janela de Boas-vindas ao Lake Formation for exibida, escolha o usuário do IAM que você criou ou selecionou na Etapa 1 e, em seguida, escolha Começa.

  7. Se você não vir a janela de Boas-vindas ao Lake Formation, execute as etapas a seguir para configurar um administrador do Lake Formation.

    1. No painel de navegação, em Administradores, selecione Perfis e tarefas administrativas. Na seção Administradores do Data Lake da página do console, selecione Adicionar.

    2. Na caixa de diálogo Adicionar administradores, em Tipo de Acesso, selecione Administrador do Data Lake.

    3. Para Usuários e perfis do IAM, selecione o usuário do IAM que você criou ou selecionou na Etapa 1 e, em seguida, selecione Salvar.

Altere o modelo de permissão padrão ou use o modo de acesso híbrido

O Lake Formation começa com as configurações “Use only IAM access control” ativadas para compatibilidade com o AWS Glue Data Catalog comportamento existente. Essas configurações permitem que você gerencie o acesso aos seus dados no data lake e seus metadados por meio de políticas do IAM e políticas de bucket do Amazon S3.

Para facilitar a transição das permissões do data lake de um modelo do IAM e do Amazon S3 para as permissões do Lake Formation, recomendamos que você use o modo de acesso híbrido para o catálogo de dados. Com o modo de acesso híbrido, você tem um caminho incremental em que pode habilitar as permissões do Lake Formation para um conjunto específico de usuários sem interromper outros usuários ou workloads existentes.

Para ter mais informações, consulte Modo de acesso híbrido.

Desative as configurações padrão para mover todos os usuários existentes de uma tabela para o Lake Formation em uma única etapa.

Importante

Se você tiver bancos de dados AWS Glue Data Catalog e tabelas existentes, não siga as instruções descritas nesta seção. Em vez disso, siga as instruções em Atualizando as permissões AWS Glue de dados para o modelo AWS Lake Formation.

Atenção

Se você tiver uma automação que cria bancos de dados e tabelas no catálogo de dados, as etapas a seguir podem fazer com que as tarefas de automação e extração, transformação e carregamento (ETL) posteriores falhem. Prossiga somente depois de modificar seus processos existentes ou conceder permissões explícitas do Lake Formation às entidades principais necessárias. Para obter informações sobre as permissões do Lake Formation, consulte Referência de permissões do Lake Formation.

Para alterar as configurações padrão do catálogo de dados
  1. Continue no console do Lake Formation em https://console.aws.amazon.com/lakeformation/. Certifique-se de estar conectado como o usuário administrador que você criou Criar um usuário com acesso administrativo ou como um usuário com a política AdministratorAccess AWS gerenciada.

  2. Modificar as configurações do catálogo de dados:

    1. No painel de navegação, em Administração, selecione Configurações do catálogo de dados.

    2. Desmarque as duas caixas de seleção e selecione Salvar.

      A caixa de diálogo de configurações do catálogo de dados tem o subtítulo “Permissões padrão para bancos de dados e tabelas recém-criados” e possui duas caixas de seleção, descritas no texto.
  3. Revogar a permissão IAMAllowedPrincipals para criadores de banco de dados.

    1. No painel de navegação, em Administração, selecione Perfis e tarefas administrativas.

    2. Na página do console de Perfis e tarefas administrativas, na seção Criadores de banco de dados, selecione o grupo IAMAllowedPrincipals, e selecione Revogar.

      A caixa de diálogo Revogar permissões é exibida, mostrando que IAMAllowedPrincipals tem a permissão para Criar banco de dados.

    3. Selecione Revogar.

Atribuir permissões aos usuários do Lake Formation

Crie um usuário para ter acesso ao data lake em AWS Lake Formation. Esse usuário tem as permissões de privilégio mínimo para consultar o data lake.

Para obter mais informações sobre a criação de usuários ou grupos, consulte Identidades do IAM no Guia do usuário do IAM.

Como anexar permissões a um usuário não administrador para acessar os dados do Lake Formation
  1. Abra o console do IAM em https://console.aws.amazon.com/iam e faça login como um usuário administrador que você criou Criar um usuário com acesso administrativo ou como um usuário com a política AdministratorAccess AWS gerenciada.

  2. Selecione Usuários ou Grupos de usuários.

  3. Na lista, selecione o nome do usuário ou do grupo ao qual deseja incorporar uma política.

    Selecione Permissões.

  4. Selecione Adicionar permissões e selecione Anexar políticas diretamente. Digite Athena no campo de texto Políticas de filtro. Na lista de resultados, marque a caixa de seleção AmazonAthenaFullAccess.

  5. Selecione o botão Criar política. Na página Criar política, selecione a guia JSON. Copie e cole o código a seguir no editor de políticas.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:SearchTables", "glue:GetDatabase", "glue:GetDatabases", "glue:GetPartitions", "lakeformation:GetResourceLFTags", "lakeformation:ListLFTags", "lakeformation:GetLFTag", "lakeformation:SearchTablesByLFTags", "lakeformation:SearchDatabasesByLFTags" ], "Resource": "*" } ] }
  6. Selecione o botão Avançar na parte inferior até ver a página Revisar política. Digite um nome para a política, por exemplo, DatalakeUserBasic. Selecione Criar política e feche a guia Políticas ou a janela do navegador.

Como configurar um local no Amazon S3 para o data lake

Para usar o Lake Formation para gerenciar e proteger os dados em seu data lake, você deve primeiro registrar um local no Amazon S3. Quando você registra um local, esse caminho do Amazon S3 e todas as pastas sob esse caminho são registradas, o que permite que o Lake Formation aplique permissões de nível de armazenamento. Quando o usuário solicita dados de um mecanismo integrado como o Amazon Athena, o Lake Formation fornece acesso aos dados em vez de usar as permissões do usuário.

Ao registrar um local, você especifica um perfil do IAM que concede permissões de leitura/gravação nesse local. O Lake Formation assume essa função ao fornecer credenciais temporárias para AWS serviços integrados que solicitam acesso aos dados no local registrado do Amazon S3. É possível especificar o perfil vinculado ao serviço (SLR) do Lake Formation ou criar seu próprio perfil.

Use um perfil personalizado nas seguintes situações:

O perfil que você escolher deve ter as permissões necessárias, conforme descrito em Requisitos para funções usadas para registrar locais. Para obter instruções sobre como registrar um local no Amazon S3, consulte Adicionar uma localização do Amazon S3 ao seu data lake.

(Opcional) Configurações externas de filtragem de dados

Se você pretende analisar e processar dados em seu data lake usando mecanismos de consulta de terceiros, você deve optar por permitir que mecanismos externos acessem dados gerenciados pelo Lake Formation. Se você não optar por participar, mecanismos externos não poderão acessar dados em locais do Amazon S3 registrados no Lake Formation.

O Lake Formation oferece suporte a permissões em nível de coluna para restringir o acesso a colunas específicas em uma tabela. Serviços analíticos integrados Amazon Athena, como Amazon Redshift Spectrum e Amazon EMR, recuperam metadados de tabela não filtrados do. AWS Glue Data Catalog A filtragem real das colunas nas respostas da consulta é de responsabilidade do serviço integrado. É responsabilidade dos administradores terceirizados lidar adequadamente com as permissões para evitar o acesso não autorizado aos dados.

Para optar por permitir que mecanismos de terceiros acessem e filtrem dados (console)
  1. Continue no console do Lake Formation em https://console.aws.amazon.com/lakeformation/. Certifique-se de estar conectado como entidade principal com a permissão do IAM na operação da API PutDataLakeSettings do Lake Formation. O usuário administrador do IAM que você criou em Inscreva-se para um Conta da AWS tem essa permissão.

  2. No painel de navegação, em Administração, selecione Configurações de integração de aplicativos.

  3. Na página Configurações de integração de aplicativos, faça o seguinte:

    1. Marque a caixa Permitir que mecanismos externos filtrem dados em locais do Amazon S3 registrados no Lake Formation.

    2. Digite os Valores da tag de sessão definidos para mecanismos de terceiros.

    3. Em IDs de conta da AWS , digite os IDs de conta de onde mecanismos de terceiros têm permissão para acessar locais registrados com o Lake Formation. Pressione Enter após cada ID da conta.

    4. Selecione Salvar.

Para permitir que mecanismos externos acessem dados sem a validação da tag de sessão, consulte Integração de aplicativos para acesso total à tabela

(Opcional) Conceder acesso à chave de criptografia do catálogo de dados

Se o AWS Glue Data Catalog for criptografado, conceda permissões AWS Identity and Access Management (IAM) na AWS KMS chave a todos os diretores que precisem conceder permissões do Lake Formation nos bancos de dados e tabelas do Data Catalog.

Para mais informações, consulte o Guia do desenvolvedor do AWS Key Management Service .

(Opcional) Crie uma função do IAM para fluxos de trabalho

Com AWS Lake Formation, você pode importar seus dados usando fluxos de trabalho executados por AWS Glue rastreadores. Um fluxo de trabalho define a fonte de dados e o cronograma para importar dados para o seu data lake. Você pode definir facilmente fluxos de trabalho usando os esquemas ou modelos fornecidos pelo Lake Formation.

Ao criar um fluxo de trabalho, você deve atribuir a ele uma função AWS Identity and Access Management (IAM) que conceda ao Lake Formation as permissões necessárias para ingerir os dados.

O procedimento a seguir requer familiaridade com o IAM.

Para criar um perfil do IAM para fluxos de trabalho
  1. Abra o console do IAM em https://console.aws.amazon.com/iam e faça login como o usuário administrador que você criou Criar um usuário com acesso administrativo ou como usuário com a política AdministratorAccess AWS gerenciada.

  2. No painel de navegação, selecione Perfis e depois Criar perfil.

  3. Na página Criar perfil, selecione Serviço da AWS e, em seguida, selecione Glue. Selecione Avançar.

  4. Na página Adicionar permissões, pesquise a política AWSGlueServiceRolegerenciada e marque a caixa de seleção ao lado do nome da política na lista. Em seguida, conclua o assistente de Criação de perfil, nomeando o perfilLFWorkflowRole. Para finalizar, selecione Criar perfil.

  5. Na página Perfis, procure seu perfil por LFflowRole e selecione o perfil.

  6. Na página Resumo do perfil, na guia Permissões, selecione Adicionar política em linha. Na tela Criar política, navegue até a guia JSON e adicione a seguinte política em linha. O nome sugerido para a política é LakeFormationWorkflow.

    Importante

    Na política a seguir, substitua <account-id> por um número Conta da AWS válido.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "lakeformation:GrantPermissions" ], "Resource": "*" }, { "Effect": "Allow", "Action": ["iam:PassRole"], "Resource": [ "arn:aws:iam::<account-id>:role/LakeFormationWorkflowRole" ] } ] }

    Seguem breves descrições das permissões nesta política:

    • lakeformation:GetDataAccess permite que trabalhos criados pelo fluxo de trabalho sejam gravados no local de destino.

    • lakeformation:GrantPermissions permite que o fluxo de trabalho conceda a SELECT permissão nas tabelas de destino.

    • iam:PassRole permite que o serviço assuma o perfil de LakeFormationWorkflowRole para criar crawlers e trabalhos (instâncias de fluxos de trabalho) e anexe o perfil aos crawlers e trabalhos criados.

  7. Verifique se o perfil LakeFormationWorkflowRole tem duas políticas anexadas.

  8. Se você estiver ingerindo dados fora do local do data lake, adicione uma política em linha que conceda permissões para ler os dados de origem.