Como resolvo erros de “Acesso negado” ao usar o Athena como fonte de dados no Quicksight?

7 minuto de leitura
0

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:

  1. Abra o console do Amazon QuickSight.
  2. Escolha Manage QuickSight (Gerenciar o QuickSight).
  3. Escolha Security & Permissions (Segurança e permissões).
  4. Em QuickSight access to AWS Services (Acesso do QuickSight aos serviços da AWS) escolhaManage (Gerenciar).
  5. Na lista de serviços da AWS, selecione Amazon S3.
  6. Escolha Select S3 buckets (Selecionar buckets do S3) e selecione o bucket do S3 que você deseja acessar do QuickSight.
  7. Escolha Write permission for Athena Workgroup (Permissão de gravação para o Athena Workgroup) e, em seguida, selecione Finish (Concluir).
  8. 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:

  1. Abra o console do Amazon QuickSight.
  2. Escolha Manage QuickSight (Gerenciar o QuickSight).
  3. Escolha Security & Permissions (Segurança e permissões).
  4. Selecione IAM policy assignments (Atribuições de política do IAM).
  5. Verifique se há alguma atribuição de política do IAM para acessar o Athena.
  6. 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:

describe-user

aws quicksight describe-user  --user-name user_name  --aws-account-id account_id --namespace default

-ou-

describe-group

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

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos