Criação de um data lake a partir de uma AWS CloudTrail fonte - 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á.

Criação de um data lake a partir de uma AWS CloudTrail fonte

Este tutorial orienta você pelas ações a serem tomadas no console do Lake Formation para criar e carregar seu primeiro data lake a partir de uma AWS CloudTrail fonte.

Etapas de alto nível parra criar um data lake
  1. Registre um caminho do Amazon Simple Storage Service (Amazon S3) como um data lake.

  2. Conceda permissões do Lake Formation para gravar no catálogo de dados e nos locais do Amazon S3 no data lake.

  3. Crie um banco de dados para organizar as tabelas de metadados no catálogo de dados.

  4. Use um esquema para criar um fluxo de trabalho. Execute o fluxo de trabalho para ingerir dados de uma fonte de dados.

  5. Configure suas permissões do Lake Formation para permitir que outras pessoas gerenciem dados no catálogo de dados e no Data Lake.

  6. Configure o Amazon Athena para consultar os dados que você importou no seu data lake do Amazon S3.

  7. Para alguns tipos de armazenamento de dados, configure o Amazon Redshift Spectrum para consultar os dados que você importou para o seu data lake do Amazon S3.

Público-alvo

A tabela a seguir lista as perfis usadas neste tutorial para criar um data lake.

Público-alvo
Função Descrição
IAMAdministrador Tem a política AWS gerenciada:AdministratorAccess. Pode criar IAM funções e buckets do Amazon S3.
Administrador do data lake Usuário que pode acessar o catálogo de dados, criar bancos de dados e conceder permissões do Lake Formation a outros usuários. Tem menos IAM permissões do que o IAM administrador, mas o suficiente para administrar o data lake.
Analista de dados Usuário que pode executar consultas no data lake. Tem permissões suficientes apenas para executar consultas.
Função de fluxo de trabalho Função com as IAM políticas necessárias para executar um fluxo de trabalho. Para obter mais informações, consulte (Opcional) Crie uma função do IAM para fluxos de trabalho.

Pré-requisitos

Antes de começar

  • Verifique se você concluiu as tarefas no Configurar AWS Lake Formation.

  • Conheça a localização dos seus CloudTrail registros.

  • O Athena exige que a pessoa do analista de dados crie um bucket do Amazon S3 para armazenar os resultados da consulta antes de usar o Athena.

Presume-se familiaridade com AWS Identity and Access Management (IAM). Para obter informações sobreIAM, consulte o Guia IAM do usuário.

Etapa 1: Criar um usuário de analista de dados

Esse usuário tem as permissões de privilégio mínimo para consultar o data lake.

  1. Abra o console do IAM em https://console.aws.amazon.com/iam. Entre 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. Crie um usuário chamado datalake_user com as seguintes configurações:

    • Habilite AWS Management Console o acesso.

    • Defina uma senha e não solicite redefinição de senha.

    • Anexe a política AmazonAthenaFullAccess AWS gerenciada.

    • Anexe a seguinte política em linha. Atribua o nome DatalakeUserBasic à política.

      { "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": "*" } ] }

Etapa 2: adicionar permissões para ler AWS CloudTrail registros à função do fluxo de trabalho

  1. Anexe a política em linha a seguir ao perfil LakeFormationWorkflowRole. A política concede permissão para ler seus AWS CloudTrail registros. Atribua o nome DatalakeGetCloudTrail à política.

    Para criar a função LakeFormationWorkflowRole, consulte (Opcional) Crie uma função do IAM para fluxos de trabalho.

    Importante

    Substituir <your-s3-cloudtrail-bucket> com a localização dos seus CloudTrail dados no Amazon S3.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetObject", "Resource": ["arn:aws:s3:::<your-s3-cloudtrail-bucket>/*"] } ] }
  2. Verifique se há três políticas vinculadas ao perfil.

Etapa 3: Criar um bucket do Amazon S3 para o data lake

Crie o bucket do Amazon S3 que será o local raiz do seu data lake.

  1. Abra o console do Amazon S3 em https://console.aws.amazon.com/s3/e faça login como o usuário administrador que você criou. Criar um usuário com acesso administrativo

  2. Escolha Create bucket e acesse o assistente para criar um bucket chamado<yourName>-datalake-cloudtrail, onde <yourName> é seu primeiro nome e sobrenome. Por exemplo: jdoe-datalake-cloudtrail.

    Para obter instruções detalhadas sobre como criar um bucket do Amazon S3, consulte Como criar um bucket.

Etapa 4: Registrar um caminho do Amazon S3

Registre um caminho do Amazon S3 como o local raiz do seu data lake.

  1. Abra o console do Lake Formation em https://console.aws.amazon.com/lakeformation/. Faça login como administrador de data lake.

  2. No painel de navegação, em Registrar e ingerir, escolha Locais do data lake.

  3. Selecione Registrar local e, em seguida, Navegar.

  4. Selecione o <yourName>-datalake-cloudtrail bucket que você criou anteriormente, aceite o IAM papel AWSServiceRoleForLakeFormationDataAccess padrão e escolha Registrar localização.

    Para obter mais informações sobre o registro de locais, consulte Adicionar uma localização do Amazon S3 ao seu data lake.

Etapa 5: Conceder permissões de local de dados

As entidades principais devem ter permissões de local de dados em um local de data lake para criar tabelas ou bancos de dados do catálogo de dados que apontem para esse local. Você deve conceder permissões de localização de dados à IAM função para fluxos de trabalho para que o fluxo de trabalho possa gravar no destino de ingestão de dados.

  1. No painel de navegação, em Permissões, selecione Locais de dados.

  2. Selecione Conceder e, na caixa de diálogo Conceder permissões, faça estas seleções:

    1. Para IAMusuário e funções, escolhaLakeFormationWorkflowRole.

    2. Para locais de armazenamento, escolha seu bucket <yourName>-datalake-cloudtrail.

  3. Selecione Conceder.

Para obter mais informações sobre permissões de local de dados, consulte Underlying data access control.

Etapa 6: Criar um banco de dados no catálogo de dados

As tabelas de metadados no catálogo de dados do Lake Formation são armazenadas em um banco de dados.

  1. No painel de navegação, em catálogo de dados, escolha Bancos de dados.

  2. selecione Criar banco de dados e, em Informações do banco de dados, digite o nome lakeformation_cloudtrail.

  3. Deixe os outros campos em branco e escolha Criar banco de dados.

Etapa 7: Conceder permissões de dados

Você deve conceder permissões para criar tabelas de metadados no catálogo de dados. Como o fluxo de trabalho será executado com o perfil de LakeFormationWorkflowRole, você deve conceder essas permissões ao perfil.

  1. No console do Lake Formation, no painel de navegação, em catálogo de dados, selecione Bancos de dados.

  2. Selecione o banco de dados lakeformation_cloudtrail, e na lista suspensa Ações, selecione Conceder sob o título Permissões.

  3. Na caixa de diálogo Conceder permissões de dados, faça estas seleções:

    1. Em Diretores, para IAMusuário e funções, escolhaLakeFormationWorkflowRole.

    2. Em Tags do LF ou recursos de catálogo, escolha Recursos do catálogo de dados nomeados.

    3. Para Bancos de dados, você deve ver que o banco de dados lakeformation_cloudtrail já foi adicionado.

    4. Em Permissões do banco de dados, selecione Criar tabela, Alterar e Eliminar e desmarque Super se estiver selecionado.

    Sua caixa de diálogo Conceder permissões de dados agora deve ter a aparência desta captura de tela.

    A caixa de diálogo Conceder permissões de dados mostra as seleções descritas no texto. A caixa de diálogo é dividida em 3 seções, organizadas verticalmente: Entidades principais, tags do LF ou recursos do catálogo, e Permissões do banco de dados.
  4. Selecione Conceder.

Para obter mais informações sobre como conceder permissões ao Lake Formation, consulte Gerenciando permissões do Lake Formation.

Etapa 8: Usar um esquema para criar um fluxo de trabalho

Para ler os CloudTrail registros, entender sua estrutura e criar as tabelas apropriadas no Catálogo de Dados, precisamos configurar um fluxo de trabalho que consiste em AWS Glue rastreadores, trabalhos, acionadores e fluxos de trabalho. Os esquemas do Lake Formation simplificam esse processo.

O fluxo de trabalho gera trabalhos, crawlers e gatilhos que descobrem e ingerem dados em seu data lake. Crie um fluxo de trabalho com base em um dos esquemas predefinidos do Lake Formation.

  1. No console do Lake Formation, no painel de navegação, selecione Esquemas e, em seguida, selecione Usar um esquema.

  2. Na página Usar um blueprint, em Tipo de blueprint, escolha. AWS CloudTrail

  3. Em Importar fonte, escolha uma CloudTrail fonte e uma data de início.

  4. Em Destino de importação, especifique estes parâmetros:

    Bancos de dados de destino lakeformation_cloudtrail
    Local de armazenamento de destino s3://<yourName>-datalake-cloudtrail
    Formato de dados Parquet
  5. Para frequência de importação, selecione Executar sob demanda.

  6. Em Opções de importação, especifique estes parâmetros:

    Nome do fluxo de trabalho lakeformationcloudtrailtest
    IAMpapel LakeFormationWorkflowRole
    Prefixo da tabela cloudtrailtest
    nota

    Deve estar em letras minúsculas.

  7. Escolha Criar e aguarde até que o console informe que o fluxo de trabalho foi criado com sucesso.

    dica

    Você recebeu a seguinte mensagem de erro?

    User: arn:aws:iam::<account-id>:user/<datalake_administrator_user> is not authorized to perform: iam:PassRole on resource:arn:aws:iam::<account-id>:role/LakeFormationWorkflowRole...

    Em caso afirmativo, verifique se você substituiu <account-id> na política em linha para o usuário administrador do data lake com um número de AWS conta válido.

Etapa 9: Executar o fluxo de trabalho

Como você especificou que o fluxo de trabalho é run-on-demand, você deve iniciar manualmente o fluxo de trabalho.

  • Na página Esquemas, selecione o fluxo de trabalho lakeformationcloudtrailtest e, no menu Ações, selecione Iniciar.

    À medida que o fluxo de trabalho é executado, você pode ver seu progresso na coluna de Status da última execução. Escolha o botão de atualização ocasionalmente.

    O status vai de RUNNING, para Descoberta, para Importação, para. COMPLETED

    Quando o fluxo de trabalho for concluído:

    • O catálogo de dados terá novas tabelas de metadados.

    • Seus CloudTrail registros serão ingeridos no data lake.

    Se o fluxo de trabalho falhar, faça o seguinte:

    1. Selecione o fluxo de trabalho e, no menu Ações, selecione Exibir gráfico.

      O fluxo de trabalho é aberto no console do AWS Glue.

    2. Certifique-se de que o fluxo de trabalho esteja selecionado e acesse a guia Histórico.

    3. Em Histórico, selecione a execução mais recente e selecione Exibir informações da execução.

    4. Selecione um trabalho ou crawler com falha no gráfico dinâmico (runtime) e revise a mensagem de erro. Os nós com falha são vermelhos ou amarelos.

Etapa 10: subsídio SELECT nas mesas

Você deve conceder a permissão SELECT nas novas tabelas do catálogo de dados para que o analista de dados possa consultar os dados para os quais as tabelas apontam.

nota

Um fluxo de trabalho concede automaticamente a permissão SELECT nas tabelas que ele cria ao usuário que o executou. Como o administrador do data lake executou esse fluxo de trabalho, você deve conceder SELECT ao analista de dados.

  1. No console do Lake Formation, no painel de navegação, em catálogo de dados, selecione Bancos de dados.

  2. Selecione o banco de dados lakeformation_cloudtrail, e na lista suspensa Ações, selecione Conceder sob o título Permissões.

  3. Na caixa de diálogo Conceder permissões de dados, faça estas seleções:

    1. Em Diretores, para IAMusuário e funções, escolhadatalake_user.

    2. Em Tags do LF ou recursos de catálogo, escolha Recursos do catálogo de dados nomeados.

    3. Para Bancos de dados, o banco de dados lakeformation_cloudtrail já deve estar selecionado.

    4. Para Tabelas, selecione cloudtrailtest-cloudtrail.

    5. Em Permissões de tabela e coluna, clique em Selecionar.

  4. Selecione Conceder.

A próxima etapa é executada como analista de dados.

Etapa 11: Consultar o data lake usando Amazon Athena

Use o Amazon Athena console para consultar os CloudTrail dados em seu data lake.

  1. Abra o console do Athena em https://console.aws.amazon.com/athena/e faça login como analista de dados, usuário. datalake_user

  2. Se necessário, escolha Começar para continuar com o editor de consultas do Athena.

  3. Em Data source (Fonte de dados), selecione AwsDataCatalog.

  4. Para o Banco de dados, selecione lakeformation_cloudtrail.

    A lista de Tabelas é preenchida.

  5. No menu flutuante (3 pontos horizontais) ao lado da tabela cloudtrailtest-cloudtrail, selecione Exibir tabela e selecione Executar.

    A consulta é executada e exibe 10 linhas de dados.

    Se você nunca usou o Athena antes, primeiro deve configurar um local do Amazon S3 no console do Athena para armazenar os resultados da consulta. O datalake_user deve ter as permissões exigidas para acessar o bucket do Amazon S3 escolhido.

nota

Agora que você concluiu o tutorial, conceda permissões de dados e permissões de local de dados às entidades principais da sua organização.