Perché viene visualizzato l'errore "Insufficient Lake Formation permissions on <Amazon S3 location>" ("Autorizzazioni di Lake Formation insufficienti su <posizione Amazon S3>") in Amazon Athena anche se il mio utente o ruolo IAM dispone delle autorizzazioni S3 richieste?

Ultimo aggiornamento: 22/02/2022

Quando provo a creare un database/tabella in Amazon Athena utilizzando la posizione Amazon Simple Storage Service (Amazon S3) registrata con AWS Lake Formation, la query non riesce e viene visualizzato l'errore "Insufficient Lake Formation permission(s) on " ("Autorizzazioni di Lake Formation insufficienti su "). Tuttavia, l'utente o il ruolo AWS Identity and Access Management (IAM) di Athena dispone delle autorizzazioni IAM necessarie.

Soluzione

Questo errore viene visualizzato quando si verificano le seguenti condizioni:

  • L'utente o il ruolo IAM tenta di creare o modificare una risorsa del catalogo dati (database o tabella) su un bucket Amazon S3 registrato con Lake Formation.
  • L'utente o il ruolo IAM non dispone delle autorizzazioni di posizione dei dati appropriate di Lake Formation.

Per risolvere questo errore, è necessario concedere le autorizzazioni appropriate di posizione dei dati all'utente o al ruolo IAM utilizzato per creare il database o la tabella. Quando utilizzi Athena con Lake Formation, assicurati di concedere le autorizzazioni S3 richieste all'utente o al ruolo IAM di Lake Formation oltre alle autorizzazioni di accesso ai dati richieste dall'utente o dal ruolo IAM. Le autorizzazioni di accesso ai dati permettono all'utente o al ruolo IAM di leggere e scrivere dati nella posizione sottostante ad Amazon S3. Tuttavia, le autorizzazioni di posizione dei dati in Lake Formation permettono a un utente o ruolo IAM di creare e modificare risorse del catalogo dati che puntano alla posizione registrata di Amazon S3.

Per risolvere l'errore, procedi come segue:

  1. Verifica che il percorso S3 in Athena sia stato registrato con successo con Lake Formation.
  2. Concedi le autorizzazioni necessarie di posizione dei dati all'utente o al ruolo IAM per accedere al percorso S3.

Verifica che la posizione del data lake sia registrata con Lake Formation

  1. Accedi alla console di AWS Lake Formation con il ruolo di amministratore del data lake.
  2. Nel pannello di navigazione, in Register and ingest (Registra e inserisci), scegli Data lake locations (Posizioni dei data lake).
    Nell'elenco delle Data lake locations (Posizioni dei data lake), verifica che il percorso S3 indicato dalle risorse del catalogo dati sia registrato con Lake Formation.

Concedi le autorizzazioni di posizione dei dati dalla console AWS Lake Formation

  1. Nel pannello di navigazione, scegli Data locations (Posizioni dei dati).
  2. Seleziona Grant (Concedi).
  3. Nella finestra di dialogo Grant permissions (Concedi autorizzazioni), seleziona My account (Il mio account).
  4. Per IAM users and roles (utenti e i ruoli IAM), seleziona l'utente o il ruolo IAM per cui desideri concedere le autorizzazioni.
  5. Per Storage locations (Posizioni di archiviazione), seleziona il percorso S3 da cui ricevi l'errore.
  6. Scegli Grant (Concedi).

Nota: segui questi passaggi solo se il percorso S3 si trova all'interno dello stesso account. Se il percorso S3 si trova in un account diverso, assicurati che tutti i prerequisiti per l'accesso tra account siano soddisfatti. Quindi, segui le istruzioni fornite in Concessione delle autorizzazioni di posizione dei dati (account esterno).


Questo articolo è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?