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á.
Configure o acesso entre contas a um catálogo de dados AWS Glue compartilhado usando o Amazon Athena
Criado por Denis Avdonin () AWS
Ambiente: produção | Tecnologias: DataLakes; Análise; Big data | Workload: todas as outras workloads |
AWSserviços: Amazon Athena; Glue AWS |
Resumo
Esse padrão fornece step-by-step instruções, incluindo exemplos de políticas de AWS Identity and Access Management (IAM), para configurar o compartilhamento entre contas de um conjunto de dados armazenado em um bucket do Amazon Simple Storage Service (Amazon S3) usando o Glue Data Catalog. AWS Você pode armazenar o conjunto de dados em um bucket do S3. Os metadados são coletados por um rastreador AWS Glue e colocados no AWS Glue Data Catalog. O bucket do S3 e o AWS Glue Data Catalog residem em uma AWS conta chamada de conta de dados. Você pode fornecer acesso aos IAM diretores em outra AWS conta chamada de conta do consumidor. Os usuários podem consultar os dados na conta do consumidor usando o mecanismo de consulta de tecnologia sem servidor Amazon Athena.
Pré-requisitos e limitações
Pré-requisitos
Duas AWScontas ativas
Um bucket S3 em uma das contas AWS
AWSInterface de linha de comando (AWSCLI), instalada e configurada (ou AWS CloudShell
para executar AWS CLI comandos)
Versões do produto
Esse padrão funciona somente com a versão 2 do mecanismo Athena e a versão 3 do mecanismo Athena. Recomendamos que você faça upgrade para a versão 3 do mecanismo Athena. Se você não conseguir fazer o upgrade da versão 1 do Athena Engine para a versão 3 do Athena Engine, siga a abordagem do acesso entre contas do AWSGlue Data Catalog com o Amazon Athena
Arquitetura
Pilha de tecnologias de destino
Amazon Athena
Amazon Simple Storage Service (Amazon S3)
AWS Glue
AWSIdentity and Access Management (IAM)
AWSServiço de gerenciamento de chaves (AWSKMS)
O diagrama a seguir mostra uma arquitetura que usa IAM permissões para compartilhar dados em um bucket do S3 em uma AWS conta (conta de dados) com outra conta (AWSconta de consumidor) por meio do AWS Glue Data Catalog.
O diagrama mostra o seguinte fluxo de trabalho:
A política de bucket do S3 na conta de dados concede permissões para uma IAM função na conta do consumidor e para a função de serviço do rastreador AWS Glue na conta de dados.
A política AWS KMS principal na conta de dados concede permissões para a IAM função na conta do consumidor e para a função de serviço do rastreador AWS Glue na conta de dados.
O rastreador AWS Glue na conta de dados descobre o esquema dos dados armazenados no bucket do S3.
A política de recursos do AWS Glue Data Catalog na conta de dados concede acesso à IAM função na conta do consumidor.
Um usuário cria uma referência de catálogo nomeada na conta do consumidor usando um AWS CLI comando.
Uma IAM política concede a uma IAM função na conta do consumidor acesso aos recursos na conta de dados. A política de confiança da IAM função permite que os usuários na conta do consumidor assumam a IAM função.
Um usuário na conta do consumidor assume a IAM função e acessa objetos no catálogo de dados usando SQL consultas.
O mecanismo sem servidor do Athena executa as consultas. SQL
Observação: as IAM melhores práticas recomendam que você conceda permissões a uma IAM função e use a federação de identidades
Ferramentas
O Amazon Athena é um serviço de consulta interativo que ajuda você a analisar dados diretamente no Amazon S3 usando o padrão. SQL
O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.
AWSO Glue é um serviço totalmente gerenciado de extração, transformação e carregamento (ETL). Ele ajuda você a categorizar de forma confiável, limpar, enriquecer e mover dados de forma confiável entre armazenamento de dados e fluxos de dados.
AWSO Identity and Access Management (IAM) ajuda você a gerenciar com segurança o acesso aos seus AWS recursos controlando quem está autenticado e autorizado a usá-los.
AWSO Key Management Service (AWSKMS) ajuda você a criar e controlar chaves criptográficas para proteger seus dados.
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Conceder acesso aos dados no bucket do S3. | Crie uma política de bucket do S3 com base no modelo a seguir e atribua a política ao bucket em que os dados estão armazenados.
A política de bucket concede permissões para a IAM função na conta do consumidor e para a função de serviço do rastreador AWS Glue na conta de dados. | Administrador de nuvem |
(Se necessário) Conceder acesso à chave de criptografia de dados. | Se o bucket do S3 for criptografado por uma AWS KMS chave, conceda Atualize a política de chave com a seguinte instrução:
| Administrador de nuvem |
Conceder ao crawler o acesso aos dados. | Anexe a seguinte IAM política à função de serviço do rastreador:
| Administrador de nuvem |
(Se necessário) Conceder ao crawler o acesso à chave de criptografia de dados. | Se o bucket do S3 for criptografado por uma AWS KMS chave, conceda
| Administrador de nuvem |
Conceda à IAM função na conta do consumidor e ao rastreador acesso ao catálogo de dados. |
Essa política permite todas as ações do AWS Glue em todos os bancos de dados e tabelas na conta de dados. Você pode personalizar a política para conceder somente as permissões necessárias aos consumidores das entidades principais. Por exemplo, você pode fornecer acesso somente de leitura a tabelas ou visualizações específicas em um banco de dados. | Administrador de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Criar uma referência nomeada para o catálogo de dados. | Para criar uma referência de catálogo de dados nomeada, use CloudShellou um instalado localmente AWS CLI para executar o seguinte comando:
| Administrador de nuvem |
Conceda à IAM função na conta do consumidor acesso aos dados. | Anexe a política a seguir à IAM função na conta do consumidor para conceder à função acesso cruzado aos dados:
Em seguida, use o modelo a seguir para especificar quais usuários podem aceitar a IAM função em sua política de confiança:
Por fim, conceda permissões ao usuário para assumir a IAM função anexando a mesma política ao grupo de usuários ao qual ele pertence. | Administrador de nuvem |
(Se necessário) Conceda à IAM função na conta do consumidor acesso à chave de criptografia de dados. | Se o bucket do S3 for criptografado por uma AWS KMS chave, conceda
| Administrador de nuvem |
Mude para a IAM função na conta do consumidor para acessar os dados. | Como consumidor de dados, mude para a IAM função de acessar os dados na conta de dados. | Consumidor de dados |
Acessar os dados. | Dados da consulta usando o Athena. Por exemplo, abra o editor de consultas do Athena e execute a seguinte consulta:
Em vez de usar uma referência de catálogo nomeada, você também pode se referir ao catálogo pelo nome de recurso da Amazon (ARN). Observação: se você usar uma referência de catálogo dinâmico em uma consulta ou visualização, coloque a referência entre aspas duplas escapadas (\”). Por exemplo:
Para obter mais informações, consulte Acesso entre contas aos catálogos de dados do AWS Glue no Guia do usuário do Amazon Athena. | Consumidor de dados |
Recursos relacionados
Acesso entre contas aos catálogos de dados do AWS Glue (documentação do Athena)
(AWSCLI) create-data-catalog (Referência de AWS CLI comando)
Acesso entre contas ao AWS Glue Data Catalog com o Amazon Athena
AWS (blog de Big Data) Melhores práticas de segurança em IAM (IAMdocumentação)
Mais informações
Usando o Lake Formation como uma alternativa para compartilhamento entre contas
Você também pode usar o AWS Lake Formation para compartilhar o acesso aos objetos do catálogo AWS Glue entre contas. O Lake Formation fornece controle de acesso refinado em nível de coluna e linha, controle de acesso baseado em tags, tabelas controladas para ACID transações e outras funcionalidades. Embora o Lake Formation esteja bem integrado ao Athena, ele requer configuração adicional em comparação com a abordagem exclusiva desse padrãoIAM. Recomendamos que você considere a decisão de usar Lake Formation ou IAM apenas controles de acesso dentro do contexto mais amplo da arquitetura geral da solução. As considerações incluem quais outros serviços estão envolvidos e como eles se integram às duas abordagens.