Como resolvo os erros de “Acesso negado” quando uso o Athena como fonte de dados no Quicksight?
Eu recebo erros de “Acesso negado” quando tento usar o Amazon Athena como fonte de dados na minha conta do Amazon QuickSight.
Breve descrição
A seguir estão os motivos comuns para erros de Acesso negado quando você usa o Amazon Athena como fonte de dados no Amazon QuickSight:
- Sua conta do QuickSight não tem a permissão necessária para acessar o bucket do Amazon Simple Storage Service (Amazon S3).
- Seu arquivo de dados está criptografado com uma chave do AWS Key Management Service (AWS KMS).
- Você não tem a política de permissões necessária do AWS Identity and Access Management (IAM) atribuída a você.
- O bucket do Amazon S3 não existe. Ou o perfil do IAM usada para consultar os dados não tem as permissões necessárias do S3.
- (Para contas do QuickSight que usam o AWS Organizations) Você não tem as políticas de controle de serviços (SCPs) necessárias atribuídas a você.
- (Para contas Athena que usam Lake Formation) Seu usuário ou grupo do QuickSight não tem permissões do AWS Lake Formation.
**Observação:**Antes de começar a solucionar problemas, verifique se você pode acessar seus dados no Athena.
Solução
Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solucionar erros da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Sua conta do QuickSight não tem a permissão necessária para acessar o bucket do Amazon S3
Você recebe um erro semelhante ao seguinte:
"An error has been thrown from AWS Athena client. Permissão negada no S3 Path:sourceErrorMessage: s3:/example bucket/object name”
Para obter permissão para o bucket do S3, conclua as seguintes etapas:
- Abra o console do Amazon QuickSight.
- Escolha Gerenciar o QuickSight.
- Escolha Segurança e permissões.
- Em Acesso do QuickSight aos serviços da AWS, escolha Gerenciar.
- Na lista de serviços da AWS, selecione ** Amazon S3**.
- Escolha Selecionar buckets do S3 e, em seguida, selecione o bucket do S3.
- Escolha Permissão de gravação para o Athena Workgroup e, em seguida, escolha Concluir.
- Escolha Salvar.
Seu arquivo de dados está criptografado com uma chave do AWS KMS
Se seu arquivo de dados estiver criptografado com uma chave do AWS KMS, o Amazon S3 poderá negar seu acesso aos dados. Para resolver esse problema, use o console AWS CLI ou o AWS KMS para conceder à sua função de serviço QuickSight acesso à chave do AWS KMS.
Use a AWS CLI
Conclua as seguintes etapas:
-
Use o console do IAM para localizar o ARN do perfil de serviço QuickSight.
-
Use o console do Amazon S3 para encontrar o ARN da chave AWS KMS.
-
Acesse o bucket que contém seu arquivo de dados.
-
Escolha a guia Visão geral e localize a ID da chave KMS.
-
Adicione o ARN do perfil de serviço QuickSight à política de chaves do KMS.
-
Execute o comando create-grant da CLI da AWS:
aws kms create-grant --key-id aws_kms_key_arn --grantee-principal quicksight_role_arn --operations Decrypt
**Observação:**Substitua aws\ _kms\ _key\ _arn pelo ARN da sua chave do AWS KMS e quicksight\ _role\ _arn pelo ARN de seu perfil de serviço do QuickSight.
Abra o console do AWS KMS
Para adicionar o perfil de serviço QuickSight à política de chaves do AWS KMS, altere a política de chaves. Em seguida, adicione as seguintes permissões à política de chaves:
{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::aws-account-id:role/service-role/aws-quicksight-service-role-v0", "arn:aws:iam::aws-account-id:role/service-role/aws-quicksight-s3-consumers-role-v0" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*" }
**Observação:**Na política anterior, certifique-se de adicionar o ARN para seus perfis de serviço do QuickSight na seção Principal.
Você não tem a política de permissões do IAM necessária atribuída a você
Para verificar quais políticas estão atribuídas a você e verificar se a política restringe seu acesso, conclua as seguintes etapas:
- Abra o console do Amazon QuickSight.
- Escolha Gerenciar o QuickSight.
- Escolha Segurança e permissões.
- Escolha atribuições de política do IAM.
- Verifique se há alguma atribuição de política do IAM para acessar o Athena.
- Verifique se a política não restringe seu acesso ao S3 ou ao Athena.
Se uma política restringir seu acesso ao S3 ou ao Athena, peça ao administrador do QuickSight que altere a política. Se você for o administrador, desative a atribuição da política do IAM e edite a política para incluir as permissões do S3 e do Athena. Para obter mais informações, consulte Como configurar o acesso granular aos serviços da AWS por meio do IAM.
O bucket do S3 não existe. Ou o perfil do IAM usada para consultar os dados não tem as permissões necessárias do S3
Você recebe o seguinte erro:
“Não é possível verificar/criar um bucket de saída.”
Para resolver o erro anterior, consulte Como resolvo o erro “Não é possível verificar/criar bucket de saída” no Amazon Athena?
Se o bucket não existir, adicione o bucket válido do S3. No console do Amazon QuickSight, selecione Amazon S3 na lista de serviços da AWS. Em seguida, selecione o bucket do S3 usado para o local do resultado da consulta.
Você não tem os SCPs necessários atribuídos a você (Organizações)
Peça ao administrador da organização que verifique suas configurações de SCP para verificar as permissões atribuídas a você. Se você for administrador de organizações, consulte Criação, atualização e exclusão de políticas de controle de serviços.
Seu usuário ou grupo do QuickSight não tem permissões de Lake Formation
Para contas Athena que usam Lake Formation, você pode receber o seguinte erro:
“Um erro foi gerado pelo cliente AWS Athena. Permissões insuficientes para executar a consulta. Permissões insuficientes para o Lake Formation."
Para conceder permissões ao Lake Formation para o QuickSight, você deve ser administrador do Lake Formation.
Conclua as seguintes etapas:
-
Localize o ARN do usuário ou grupo do QuickSight.
-
Execute um dos seguintes comandos da CLI da AWS:
aws quicksight describe-user --user-name user_name --aws-account-id account_id --namespace default
-ou-
aws quicksight describe-group --group-name group_name --aws-account-id account_id --namespace default
**Observação:**Nos comandos anteriores, substitua user\ _name pelo nome do usuário, group\ _name pelo nome do seu grupo e account\ _id pelo ID pela sua conta.
-
Abra o console do AWS Lake Formation.
-
Escolha Tabelas.
-
Escolha Ações e, em seguida, escolha Permissões.
-
Na lista de Principais, escolha Grant.
-
Em Usuários e grupos do SAML e do Amazon QuickSight, insira o ARN do usuário ou grupo do QuickSight. Por exemplo, arn:aws:quicksight:region:accountId:user/namespace/username.
-
Selecione a fonte de dados correta e escolha Todas as tabelas. As permissões da tabela são Select e Describe.
-
Escolha Grant.
Depois de conceder permissões, retorne ao console do QuickSight para tentar criar o conjunto de dados novamente.
Informações relacionadas
Permissões insuficientes ao usar o Athena com o Amazon QuickSight
Apresentando o controle de acesso refinado do Amazon QuickSight sobre o Amazon S3 e o Amazon Athena
Ative permissões refinadas para autores do Amazon QuickSight no AWS Lake Formation
Conteúdo relevante
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 8 meses
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 10 meses