Ir para o conteúdo

Como faço para resolver os erros "Access denied" ao usar o Athena como fonte de dados no Quick Suite?

7 minuto de leitura
0

Recebo erros "Access denied" quando uso o Amazon Athena como fonte de dados na minha conta do Amazon Quick Suite.

Breve descrição

A seguir estão os motivos para erros de "Access denied" quando você usa o Amazon Athena como fonte de dados no Amazon Quick Suite:

  • Sua conta do Quick Suite 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 usado 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ços (SCPs) necessárias atribuídas às contas do Quick Suite que usam o AWS Organizations.
  • Seu usuário ou grupo do Quick Suite não tem permissões do AWS Lake Formation para contas do Athena que usam o serviço.

Observação: antes de começar a solucionar problemas, verifique se você pode acessar seus dados no Athena.

Resolução

Observação: se você receber mensagens de erro ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.

Conceda acesso ao Quick Suite para o bucket do S3

Você recebe as seguintes mensagens de erro quando a conta do Quick Suite não tem as permissões necessárias para acessar o bucket do Amazon S3:

"An error has been thrown from AWS Athena client. Permission denied on S3 path:sourceErrorMessage: s3:/example bucket/object name"

Para resolver esse erro, receba as permissões para o bucket do Amazon S3. Siga estas etapas:

  1. Abra o console do Quick Suite.
  2. Escolha seu nome de usuário na barra de aplicativos e selecione Gerenciar o Quick Suite.
  3. No painel de navegação, em Permissões, escolha Recursos da AWS.
  4. Na lista do AWS Services, clique em Amazon S3.
  5. Escolha Selecionar buckets do S3 e, em seguida, selecione o bucket do S3.
  6. Escolha Permissão de gravação para o Athena Workgroup e, em seguida, escolha Concluir.
  7. Escolha Salvar.

Conceda acesso ao Quick Suite para seus dados criptografados pelo KMS

Se seu arquivo de dados estiver criptografado com uma chave do AWS KMS, o Amazon S3 pode negar seu acesso aos dados. Para resolver esse problema, use o console da AWS CLI ou do AWS KMS para conceder ao seu perfil de serviço do Quick Suite acesso à chave do AWS KMS.

Use a AWS CLI

Siga estas etapas:

  1. Use o console do IAM para localizar o ARN do perfil de serviço do Quick Sight.

  2. Use o console do Amazon S3 para encontrar o ARN da chave do AWS KMS.

  3. Vá até o bucket que contém seu arquivo de dados.

  4. Clique na guia Visão geral e localize o ID da chave do KMS.

  5. Adicione o ARN do perfil de serviço do Quick Suite à política de chave do KMS.

  6. Execute o comando create-grant da AWS CLI:

    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 Quick Suite.

Use o console do AWS KMS

Para adicionar o perfil de serviço do Quick Suite à política de chave do AWS KMS, altere a política de chave. Em seguida, adicione as seguintes permissões à política de chave:

{     "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, adicione o ARN dos seus perfis de serviço do Quick Suite à seção Entidade principal.

Verifique e atualize suas atribuições de política do IAM

Para verificar quais políticas estão atribuídas a você e saber se a política restringe seu acesso, conclua as seguintes etapas:

  1. Abra o console do Amazon Quick Suite.
  2. Escolha seu nome de usuário na barra de aplicativos e selecione Gerenciar o Quick Suite.
  3. No painel de navegação, em Permissões, escolha Atribuições de política do IAM.
  4. Verifique se há alguma atribuição de política do IAM para acessar o Athena.
  5. Verifique se a política não restringe seu acesso ao Amazon S3 ou ao Athena.

Se alguma política restringir seu acesso ao S3 ou ao Athena, peça ao administrador do Quick Suite 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 Setting granular access to AWS services through IAM (Como configurar o acesso granular aos serviços da AWS por meio do IAM).

Verifique se o bucket do S3 existe e tem as permissões corretas

Você recebe as seguintes mensagens de erro quando o bucket do S3 não existe. Ou o perfil do IAM usado para consultar os dados não tem as permissões necessárias do S3:

"Unable to verify/create output bucket."

Para resolver o erro anterior, consulte Como resolvo o erro "Unable to verify/create output bucket" no Athena?

Se o bucket não existir, adicione o bucket válido do S3. No console do Quick Suite, selecione Amazon S3 na lista do AWS Services. Em seguida, selecione o bucket do S3 usado para o local do resultado da consulta.

Atualize as políticas de controle de serviços (SCPs)

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 Creating organization policies with AWS Organizations (Criar políticas organizacionais com AWS Organizations).

Conceda permissões do Lake Formation a usuários do Quick Suite

Você recebe a seguinte mensagem de erro quando o usuário ou grupo do Quick Suite não tem permissões para o Lake Formation:

"An error has been thrown from the AWS Athena client. Insufficient permissions to execute the query. Insufficient Lake Formation permission(s)."

Para resolver esse erro, conceda permissões do Lake Formation para o Quick Suite. Você precisa ser administrador do Lake Formation.

Siga estas etapas:

  1. Localize o ARN do usuário ou grupo do Quick Suite.

  2. 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 pela sua conta.

  3. Abra o console do AWS Lake Formation.

  4. Escolha Tabelas.

  5. Escolha Ações e, em seguida, escolha Permissões.

  6. Na lista de Entidades principais, selecione Conceder.

  7. Em Usuários e grupos do SAML e do Amazon Quick Sight, insira o ARN do usuário ou grupo do Quick Suite. Por exemplo, arn:aws:quicksight:region:accountId:user/namespace/username.

  8. Selecione a fonte de dados correta e escolha Todas as tabelas. As permissões da tabela são Select e Describe.

  9. Selecione Conceder.

Depois de conceder permissões, retorne ao console do Quick Suite para tentar criar o conjunto de dados novamente.

Informações relacionadas

Insufficient permissions when using Athena with Amazon Quick Suite (Permissões insuficientes ao usar o Athena com o Amazon Quick Suite)

Introducing Amazon Quick Suite fine-grained access control over Amazon S3 and Amazon Athena (Apresentamos o controle de acesso refinado do Amazon Quick Suite no Amazon S3 e no Amazon Athena)

Turn on fine-grained permissions for Amazon Quick Suite authors in AWS Lake Formation (Ative permissões refinadas para autores do Amazon Quick Suite no AWS Lake Formation)