Como resolvo erros de “Acesso negado” ao usar o Athena como fonte de dados no Quicksight?
Estou recebendo erros de “Acesso negado” quando tento usar o Amazon Athena como uma fonte de dados na minha conta do Amazon QuickSight. Como resolvo isso?
Breve descrição
Os motivos a seguir são comuns para obter erros de acesso negado quando você usa o Amazon Athena como uma 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 é criptografado com uma chave do AWS Key Management Service (AWS KMS).
- Você não tem a política de permissões do AWS Identity and Access Management (IAM) necessária 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.
- Você não tem as políticas de controle de serviço (SCPs) necessárias atribuídas a você. (Para contas do QuickSight que usam o AWS Organizations)
- Seu usuário ou grupo do QuickSight não tem permissões do AWS Lake Formation. (Para relatos de Athena que usam o Lake Formation)
Observação: antes de começar a solucionar problemas, certifique-se de que você pode acessar seus dados no Athena.
Resolução
Se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), certifique-se de estar 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. Permission denied on 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 Manage QuickSight (Gerenciar o QuickSight).
- Escolha Security & Permissions (Segurança e permissões).
- Em QuickSight access to AWS Services (Acesso do QuickSight aos serviços da AWS) escolhaManage (Gerenciar).
- Na lista de serviços da AWS, selecione Amazon S3.
- Escolha Select S3 buckets (Selecionar buckets do S3) e selecione o bucket do S3 que você deseja acessar do QuickSight.
- Escolha Write permission for Athena Workgroup (Permissão de gravação para o Athena Workgroup) e, em seguida, selecione Finish (Concluir).
- Escolha Save (Salvar).
Seu arquivo de dados é criptografado com uma chave do AWS KMS
Se o seu arquivo de dados estiver criptografado com uma chave do AWS KMS, o Amazon S3 poderá negar acesso aos dados. Para resolver esse problema, conceda ao seu perfil de serviço do QuickSight acesso à chave do AWS KMS. Conclua as seguintes etapas.
Usar a AWS CLI
1. Use o console do IAM para localizar o ARN do perfil de serviço do QuickSight.
2. Use o console do Amazon S3 para encontrar o ARN da chave do AWS KMS.
Vá para o bucket que contém o arquivo de dados.
Escolha a guia Overview (Visão geral) e localize o KMS key ID (ID da chave do KMS).
3. Adicione o ARN do perfil de serviço do QuickSight à política de chaves do KMS.
4. 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 chave do AWS KMS e quicksight_role_arn pelo ARN do perfil de serviço do QuickSight.
Usar o console do AWS KMS console
Para adicionar o perfil de serviço do QuickSight à política de chaves do AWS KMS, siga as instruções em Como alterar uma política de chaves. Em seguida, edite a política de chaves adicionando a seguinte política de permissões:
{ "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: substitua aws_account_id por seu ID de conta da AWS.
Você não tem a política de permissões do IAM necessária atribuída a você
Você também pode receber um erro de Access denied (Acesso negado) se não tiver 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ê, conclua as seguintes etapas:
- Abra o console do Amazon QuickSight.
- Escolha Manage QuickSight (Gerenciar o QuickSight).
- Escolha Security & Permissions (Segurança e permissões).
- Selecione IAM policy assignments (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 houver uma política que restrinja seu acesso ao S3 ou ao Athena, peça ao administrador do QuickSight para alterar a política. Se você for o administrador, desative a atribuição de 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 Configuração do 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:
Unable to verify/create output bucket
Para resolver o erro anterior, consulte Como resolvo o erro “Unable to verify/create output bucket” (“Não é possível verificar/criar bucket de saída”) no Amazon Athena?
Se o bucket não existir, adicione um bucket do S3 válido. 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ê
Se você usar o AWS Organizations, poderá receber o erro quando de Access denied (Acesso negado) não tiver as políticas de controle de serviço (SCPs) necessárias atribuídas a você. Peça ao administrador do AWS Organizations para conferir as configurações de SCP para verificar as permissões atribuídas a você. Se você for administrador do AWS Organizations, consulte Criar, atualizar e excluir de políticas de controle de serviço.
Seu usuário ou grupo do QuickSight não tem permissões do Lake Formation
Para contas do Athena que usam o Lake Formation, você pode receber o seguinte erro:
An error has been thrown from the AWS Athena client. Insufficient permissions to execute the query. Insufficient Lake Formation permission(s)
Para conceder permissões do Lake Formation para o QuickSight, você deve ser um administrador do Lake Formation.
Conclua as seguintes etapas:
1. Localize o ARN do usuário ou grupo do QuickSight.
Execute um dos seguintes comandos da AWS CLI:
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 da sua conta.
2. Abra o console do Lake Formation.
3. Escolha Tables (Tabelas).
4. Escolha Actions (Ações) e, em seguida, escolha Permissions (Permissões).
5. Na lista de entidades principais, escolha Grant (Conceder).
6. Em Usuários e grupos do SAML e do Amazon QuickSight (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
7. Selecione a fonte de dados correta e escolhaAll tables (Todas as tabelas). As permissões da tabela são Select (Selecionar) e Describe (Descrever).
8. Escolha Grant (Conceder).
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
Apresentação do controle de acesso detalhado do Amazon QuickSight para Amazon S3 e Amazon Athena
Ative permissões detalhadas para autores do Amazon QuickSight no AWS Lake Formation
Conteúdo relevante
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 2 anos