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
Registre um caminho do Amazon Simple Storage Service (Amazon S3) como um data lake.
Conceda permissões do Lake Formation para gravar no catálogo de dados e nos locais do Amazon S3 no data lake.
Crie um banco de dados para organizar as tabelas de metadados no catálogo de dados.
Use um esquema para criar um fluxo de trabalho. Execute o fluxo de trabalho para ingerir dados de uma fonte de dados.
-
Configure suas permissões do Lake Formation para permitir que outras pessoas gerenciem dados no catálogo de dados e no Data Lake.
Configure o Amazon Athena para consultar os dados que você importou no seu data lake do Amazon S3.
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.
Tópicos
- Público-alvo
- Pré-requisitos
- Etapa 1: Criar um usuário de analista de dados
- Etapa 2: adicionar permissões para ler AWS CloudTrail registros à função do fluxo de trabalho
- Etapa 3: Criar um bucket do Amazon S3 para o data lake
- Etapa 4: Registrar um caminho do Amazon S3
- Etapa 5: Conceder permissões de local de dados
- Etapa 6: Criar um banco de dados no catálogo de dados
- Etapa 7: Conceder permissões de dados
- Etapa 8: Usar um esquema para criar um fluxo de trabalho
- Etapa 9: Executar o fluxo de trabalho
- Etapa 10: subsídio SELECT nas mesas
- Etapa 11: Consultar o data lake usando Amazon Athena
Público-alvo
A tabela a seguir lista as perfis usadas neste tutorial para criar um data lake.
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 IAM função 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.
-
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. -
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
-
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 nomeDatalakeGetCloudTrail
à política.Para criar a função
LakeFormationWorkflowRole
, consulte (Opcional) Crie uma IAM função 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>
/*"] } ] } -
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.
-
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 -
Escolha Create bucket e acesse o assistente para criar um bucket chamado
, onde<yourName>
-datalake-cloudtrail<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.
-
Abra o console do Lake Formation em https://console.aws.amazon.com/lakeformation/
. Faça login como administrador de data lake. -
No painel de navegação, em Registrar e ingerir, escolha Locais do data lake.
-
Selecione Registrar local e, em seguida, Navegar.
-
Selecione o
bucket que você criou anteriormente, aceite o IAM papel<yourName>
-datalake-cloudtrailAWSServiceRoleForLakeFormationDataAccess
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.
-
No painel de navegação, em Permissões, selecione Locais de dados.
-
Selecione Conceder e, na caixa de diálogo Conceder permissões, faça estas seleções:
-
Para IAMusuário e funções, escolha
LakeFormationWorkflowRole
. -
Para locais de armazenamento, escolha seu bucket
.<yourName>
-datalake-cloudtrail
-
-
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.
-
No painel de navegação, em catálogo de dados, escolha Bancos de dados.
-
selecione Criar banco de dados e, em Informações do banco de dados, digite o nome
lakeformation_cloudtrail
. -
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.
-
No console do Lake Formation, no painel de navegação, em catálogo de dados, selecione Bancos de dados.
-
Selecione o banco de dados
lakeformation_cloudtrail
, e na lista suspensa Ações, selecione Conceder sob o título Permissões. -
Na caixa de diálogo Conceder permissões de dados, faça estas seleções:
-
Em Diretores, para IAMusuário e funções, escolha
LakeFormationWorkflowRole
. -
Em Tags do LF ou recursos de catálogo, escolha Recursos do catálogo de dados nomeados.
-
Para Bancos de dados, você deve ver que o banco de dados
lakeformation_cloudtrail
já foi adicionado. -
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.
-
-
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 um AWS Glue rastreadores, trabalhos, gatilhos 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.
-
No console do Lake Formation, no painel de navegação, selecione Esquemas e, em seguida, selecione Usar um esquema.
-
Na página Usar um blueprint, em Tipo de blueprint, escolha. AWS CloudTrail
-
Em Importar fonte, escolha uma CloudTrail fonte e uma data de início.
-
Em Destino de importação, especifique estes parâmetros:
Bancos de dados de destino lakeformation_cloudtrail
Local de armazenamento de destino s3://
<yourName>
-datalake-cloudtrailFormato de dados Parquet -
Para frequência de importação, selecione Executar sob demanda.
-
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.
-
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:
-
Selecione o fluxo de trabalho e, no menu Ações, selecione Exibir gráfico.
O fluxo de trabalho é aberto no AWS Glue console.
-
Certifique-se de que o fluxo de trabalho esteja selecionado e acesse a guia Histórico.
-
Em Histórico, selecione a execução mais recente e selecione Exibir informações da execução.
-
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.
-
No console do Lake Formation, no painel de navegação, em catálogo de dados, selecione Bancos de dados.
-
Selecione o banco de dados
lakeformation_cloudtrail
, e na lista suspensa Ações, selecione Conceder sob o título Permissões. -
Na caixa de diálogo Conceder permissões de dados, faça estas seleções:
-
Em Diretores, para IAMusuário e funções, escolha
datalake_user
. -
Em Tags do LF ou recursos de catálogo, escolha Recursos do catálogo de dados nomeados.
-
Para Bancos de dados, o banco de dados
lakeformation_cloudtrail
já deve estar selecionado. -
Para Tabelas, selecione
cloudtrailtest-cloudtrail
. -
Em Permissões de tabela e coluna, clique em Selecionar.
-
-
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.
-
Abra o console do Athena em https://console.aws.amazon.com/athena/
e faça login como analista de dados, usuário. datalake_user
-
Se necessário, escolha Começar para continuar com o editor de consultas do Athena.
-
Em Data source (Fonte de dados), selecione AwsDataCatalog.
-
Para o Banco de dados, selecione
lakeformation_cloudtrail
.A lista de Tabelas é preenchida.
-
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.