Come posso risolvere gli errori di "Accesso negato" quando utilizzo Athena come origine dati in Quicksight?

6 minuti di lettura
0

Ricevo l'errore "Accesso negato" quando cerco di utilizzare Amazon Athena come origine dati nel mio account Amazon QuickSight.

Breve descrizione

Di seguito sono riportati i motivi più comuni degli errori di accesso negato quando si utilizza Amazon Athena come origine dati in Amazon QuickSight:

  • Il tuo account QuickSight non dispone dell'autorizzazione necessaria per accedere al bucket Amazon Simple Storage Service (Amazon S3).
  • Il file di dati è crittografato con una chiave AWS Key Management Service (AWS KMS).
  • Non ti è stata assegnata la policy di autorizzazioni AWS Identity and Access Management (IAM) necessaria.
  • Il bucket Amazon S3 non esiste. Oppure, il ruolo IAM utilizzato per interrogare i dati non dispone delle autorizzazioni S3 richieste.
  • (Per gli account QuickSight che utilizzano AWS Organizations) Non ti sono state assegnate le politiche di controllo dei servizi (SCP) necessarie.
  • (Per gli account Athena che utilizzano Lake Formation) L'utente o il gruppo QuickSight non dispone delle autorizzazioni di AWS Lake Formation.

Nota: prima di iniziare la risoluzione dei problemi, assicurati di poter accedere ai tuoi dati in Athena.

Risoluzione

Nota: se ricevi messaggi di errore durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS (AWS CLI), consulta la sezione Troubleshoot AWS CLI errors. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Il tuo account QuickSight non dispone dell'autorizzazione necessaria per accedere al bucket Amazon S3

Viene visualizzato un errore simile al seguente:

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

Per ottenere l'autorizzazione per il bucket S3, completa i seguenti passaggi:

  1. Apri la console Amazon QuickSight.
  2. Scegli Gestisci QuickSight.
  3. Scegli Sicurezza e autorizzazioni.
  4. Nell'accesso QuickSight ai servizi AWS, scegli Gestisci.
  5. Dall'elenco dei servizi AWS, seleziona Amazon S3.
  6. Scegli Seleziona bucket S3, quindi seleziona il bucket S3.
  7. Scegli Autorizzazione di scrittura per Athena Workgroup, quindi scegli Fine.
  8. Scegli Salva.

Il tuo file di dati è crittografato con una chiave AWS KMS

Se il tuo file di dati è crittografato con una chiave AWS KMS, Amazon S3 può negarti l'accesso ai dati. Per risolvere questo problema, utilizza l'interfaccia della linea di comando AWS o la console AWS KMS per concedere al ruolo del servizio QuickSight l'accesso alla chiave AWS KMS.

Usa AWS CLI

Completa i seguenti passaggi:

  1. Usa la console IAM per individuare l'ARN del ruolo del servizio QuickSight.

  2. Usa la console Amazon S3 per trovare l'ARN chiave AWS KMS.

  3. Vai al bucket che contiene il tuo file di dati.

  4. Scegli la scheda Panoramica, quindi individua l'ID della chiave KMS.

  5. Aggiungi l'ARN del ruolo del servizio QuickSight alla policy chiave del KMS.

  6. Esegui il comando AWS CLI create-grant:

    aws kms create-grant --key-id aws_kms_key_arn --grantee-principal quicksight_role_arn --operations Decrypt
    

    Nota: sostituisci aws_kms_key_arn con l'ARN della tua chiave AWS KMS e quicksight_role_arn con l'ARN del tuo ruolo di servizio QuickSight.

Usa la console AWS KMS

Per aggiungere il ruolo del servizio QuickSight alla policy chiave di AWS KMS, modifica la policy chiave. Quindi, aggiungi le seguenti autorizzazioni alla policy chiave:

{     "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": "*"
}

Nota: nella politica precedente, assicurati di aggiungere l'ARN per i ruoli del servizio QuickSight nella sezione ** Principale**.

Non ti è stata assegnata la politica di autorizzazioni IAM necessaria

Per verificare quali politiche ti sono state assegnate e verificare se la politica limita il tuo accesso, completa i seguenti passaggi:

  1. Apri la console Amazon QuickSight.
  2. Scegli Gestisci QuickSight.
  3. Scegli Sicurezza e autorizzazioni.
  4. Scegli le assegnazioni delle policy IAM.
  5. Verifica se ci sono assegnazioni di policy IAM per accedere ad Athena.
  6. Verifica che la policy non limiti il tuo accesso a S3 o Athena.

Se una policy limita l'accesso a S3 o Athena, chiedi all'amministratore di QuickSight di modificare la policy. Se sei l'amministratore, disattiva l'assegnazione delle policy IAM e modifica la policy per includere le autorizzazioni S3 e Athena. Per ulteriori informazioni, consulta Setting granular access to AWS services through IAM.

Il bucket S3 non esiste. Oppure, il ruolo IAM utilizzato per interrogare i dati non dispone delle autorizzazioni S3 richieste

Viene visualizzato il seguente errore:

"Unable to verify/create output bucket."

Per risolvere l'errore precedente, consulta Come posso risolvere l'errore "Unable to verify/create output bucket" in Amazon Athena?

Se il bucket non esiste, aggiungi il bucket S3 valido. Dalla console Amazon QuickSight, seleziona Amazon S3 dall'elenco dei servizi AWS. Quindi, seleziona il bucket S3 utilizzato per la posizione dei risultati della query.

Non ti sono stati assegnati gli SCP necessari (Organizzazioni)

Chiedi all'amministratore dell'organizzazione di controllare le tue impostazioni SCP per verificare le autorizzazioni che ti sono state assegnate. Se sei un amministratore di organizzazioni, consulta Creazione, aggiornamento ed eliminazione delle politiche di controllo del servizio.

L'utente o il gruppo QuickSight non dispone delle autorizzazioni Lake Formation

Per gli account Athena che utilizzano Lake Formation, potresti ricevere il seguente errore:

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

Per concedere le autorizzazioni di Lake Formation per QuickSight, devi essere un amministratore di Lake Formation.

Completa i seguenti passaggi:

  1. Individua l'ARN per l'utente o il gruppo QuickSight.

  2. Esegui uno dei seguenti comandi AWS CLI:

    describe-user

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

    -or-

    describe-group

    aws quicksight describe-group --group-name group_name  --aws-account-id account_id --namespace default
    

    Nota: nei comandi precedenti, sostituisci user_name con il nome del tuo utente, group_name con il nome del tuo gruppo e account_id con l'ID del tuo account.

  3. Apri la console Lake Formation.

  4. Scegli Tabelle.

  5. Scegli Azioni, quindi scegli Autorizzazioni.

  6. Dall'elenco Principali, scegli Concedi.

  7. In Utenti e gruppi SAML e Amazon QuickSight, inserisci l'ARN dell'utente o del gruppo QuickSight. Ad esempio, arn:aws:quicksight:region:accountId:user/namespace/username.

  8. Seleziona l'origine dati corretta, quindi scegli Tutte le tabelle. Le autorizzazioni della tabella sono Seleziona e Descrivi.

  9. Scegli Concedi.

Dopo aver concesso le autorizzazioni, torna alla console QuickSight per provare a creare nuovamente il set di dati.

Informazioni correlate

Autorizzazioni insufficienti quando si utilizza Athena con Amazon QuickSight

Presentazione del controllo granulare degli accessi di Amazon QuickSight su Amazon S3 e Amazon Athena

Attiva autorizzazioni granulari per gli autori di Amazon QuickSight in AWS Lake Formation