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 o acesso entre contas para um Catálogo de Dados do AWS Glue compartilhado usando o Amazon Athena
Criado por Denis Avdonin (AWS)
Resumo
Esse padrão fornece step-by-step instruções, incluindo exemplos de políticas do 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 AWS Glue Data Catalog. Você pode armazenar o conjunto de dados em um bucket do S3. Os metadados são coletados por um crawler do AWS Glue e colocados no catálogo de dados do AWS Glue. O bucket do S3 e o Catálogo de Dados do AWS Glue residem em uma conta da AWS chamada de conta de dados. Você pode fornecer acesso às entidades principais do IAM em outra conta da AWS 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 contas da AWS ativas.
Um bucket do S3 em uma das contas da AWS
AWS Command Line Interface (AWS CLI), instalada e configurada (ou AWS
para executar comandos CloudShell da AWS CLI)
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 mecanismo Athena para a versão 3, siga a abordagem do Acesso entre contas ao Catálogo de Dados do AWS Glue com o Amazon Athena
Arquitetura
Pilha de tecnologias de destino
Amazon Athena
Amazon Simple Storage Service (Amazon S3)
AWS Glue
AWS Identity and Access Management (IAM)
AWS Key Management Service (AWS KMS)
O diagrama a seguir mostra uma arquitetura que usa permissões do IAM para compartilhar dados em um bucket do S3 em uma conta da AWS (conta de dados) com outra conta da AWS (conta de consumidor) por meio do Catálogo de Dados do AWS Glue.

O diagrama mostra o seguinte fluxo de trabalho:
A política de bucket do S3 na conta de dados concede permissões para um perfil do IAM na conta do consumidor e para o perfil de serviço do crawler AWS Glue na conta de dados.
A política de chaves do AWS KMS na conta de dados concede permissões para o perfil do IAM na conta do consumidor e para o perfil de serviço do crawler AWS Glue na conta de dados.
O crawler do AWS Glue na conta de dados descobre o esquema dos dados armazenados no bucket do S3.
A política de recursos do Catálogo de Dados do AWS Glue na conta de dados concede acesso ao perfil do IAM na conta do consumidor.
Um usuário cria uma referência de catálogo nomeada na conta do consumidor usando um comando da AWS CLI.
Uma política do IAM concede a um perfil do IAM na conta do consumidor acesso aos recursos na conta de dados. A política de confiança da função do IAM permite que os usuários na conta do consumidor assumam a função do IAM.
Um usuário na conta do consumidor assume o perfil do IAM e acessa objetos no catálogo de dados usando consultas SQL.
O mecanismo de tecnologia sem servidor do Athena executa as consultas SQL.
nota
As melhores práticas do IAM recomendam que você conceda permissões para uma função do IAM e use a federação de identidades
Ferramentas
O Amazon Athena é um serviço de consultas interativas que facilita a análise de dados diretamente no Amazon S3 usando SQL padrão.
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.
O AWS Glue é um serviço de extração, transformação e carregamento (ETL) totalmente gerenciado. 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.
O AWS Identity and Access Management (IAM) ajuda você a gerenciar com segurança o acesso aos seus recursos da AWS, controlando quem está autenticado e autorizado a usá-los.
O AWS Key Management Service (AWS KMS) 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 o perfil do IAM na conta do consumidor e para o perfil de serviço do crawler 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 chave do AWS KMS, conceda permissão Atualize a política de chave com a seguinte instrução:
| Administrador de nuvem |
Conceder ao crawler o acesso aos dados. | Anexe a seguinte política do IAM ao perfil de serviço do crawler:
| 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 chave do AWS KMS, conceda a permissão
| Administrador de nuvem |
Conceder ao perfil do IAM na conta do consumidor e ao crawler o 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 uma AWS CLI instalada localmente para executar o seguinte comando:
| Administrador de nuvem |
Conceder ao perfil do IAM na conta do consumidor o acesso aos dados. | Anexe a política a seguir ao perfil do IAM na conta do consumidor para conceder ao perfil o acesso entre contas aos dados:
Em seguida, use o modelo a seguir para especificar quais usuários podem aceitar o perfil do IAM em sua política de confiança:
Por fim, conceda permissões ao usuário para assumir o perfil do IAM anexando a mesma política ao grupo de usuários ao qual ele pertence. | Administrador de nuvem |
(Se necessário) Conceder ao perfil do IAM na conta do consumidor o acesso à chave de criptografia de dados. | Se o bucket do S3 for criptografado por uma chave do AWS KMS, conceda a permissão
| Administrador de nuvem |
Mudar para o perfil do IAM na conta do consumidor para acessar os dados. | Como consumidor de dados, mude para o perfil do IAM para 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 seu nome do recurso da Amazon (ARN). notaSe você usar uma referência de catálogo dinâmico em uma consulta ou exibição, coloque a referência entre aspas duplas de escape (\”). 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)
(AWS CLI) (Referência de comandos create-data-catalog da CLI da AWS)
Acesso entre contas ao Catálogo de Dados do AWS Glue com o Amazon Athena
(blog de big data da AWS) Práticas recomendadas de segurança no IAM (documentação do IAM)
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 do AWS Glue entre contas. O Lake Formation fornece controle de acesso refinado no nível de coluna e linha, controle de acesso baseado em tags, tabelas governadas para transações ACID e outras funcionalidades. Embora o Lake Formation esteja bem integrado ao Athena, ele requer configuração adicional em comparação com a abordagem exclusiva de IAM desse padrão. Recomendamos que você considere a decisão de usar o Lake Formation ou os controles de acesso somente do IAM 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.