DynamoDB AccessDeniedException — "not authorized to perform dynamodb:..." (non autorizzato a eseguire)
TL;DR — Il tuo utente/ruolo IAM non dispone dell'autorizzazione per l'azione DynamoDB su quella risorsa. Il messaggio nomina esattamente l'azione dynamodb: e ARN — aggiungi l'azione per quella risorsa ARN alla policy IAM dell'identità (e verifica la presenza di un Deny o di una condizione che la blocca).
Cosa significa
AccessDeniedException: User: arn:aws:iam::123456789012:user/app is not authorized to
perform: dynamodb:Query on resource: arn:aws:dynamodb:us-east-1:123456789012:table/Orders
because no identity-based policy allows the dynamodb:Query actionIAM ha negato la chiamata. Il messaggio è una lista di controllo: nomina il principal, l'action e il resource: tutti e tre devono essere consentiti senza Nega esplicita. La clausola finale nomina il tipo di policy che ha negato l'accesso (policy basata sull'identità, SCP, limite delle autorizzazioni, policy di sessione, ...). DynamoDB lo restituisce con lo stato HTTP 400 e non è possibile riprovare: la stessa richiesta fallisce finché la policy (o l'identità) non cambia.
Perché succede
- L'azione non è consentita: la policy concede
dynamodb:GetItemma hai chiamatoQueryoppure manca del tutto. - La risorsa ARN non corrisponde: la policy consente
table/Ordersma stai interrogando un indice (è necessariotable/Orders/index/*) o una tabella diversa. - Un
Denyesplicito da qualche parte (un limite di autorizzazione, SCP o la policy stessa) sovrascrive l'autorizzazione. - Una condizione della policy non è soddisfatta (accesso granulare
dynamodb:LeadingKeys, IP di origine, MFA). - Credenziali errate: il ruolo che hai assunto non è quello con accesso.
Come risolverlo
- Concede l'azione esatta i nomi dei messaggi, per la risorsa esatta ARN. Includi gli ARN dell'indice (
.../index/*) quando esegui una query su GSI/LSI. - Verifica la presenza di un Deny prioritario: i limiti di autorizzazione e il battito SCP lo consentono.
- Verificare che le condizioni dettagliate (
dynamodb:LeadingKeysecc.) corrispondano effettivamente alla richiesta. - Conferma identità con
aws sts get-caller-identity: assicurati che sia l'entità che ritieni sia.
Esempio di politica
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["dynamodb:Query", "dynamodb:GetItem", "dynamodb:PutItem"],
"Resource": [
"arn:aws:dynamodb:us-east-1:123456789012:table/Orders",
"arn:aws:dynamodb:us-east-1:123456789012:table/Orders/index/*"
]
}
]
}Aprilo in DynoTable
DynoTable risolve lo stesso profilo ~/.aws utilizzato dalla CLI su ogni connessione
(Connetti un account AWS), quindi quando correggi IAM o cambi
profili l'app lo riprende senza riavviare. Premi ⌘P per aprire il file
commutatore di profilo e conferma quale identità è attiva: il punto dello stato della credenziale
diventa rosso con un'azione Riconnetti in linea quando i token scadono a metà sessione.
Se la tua policy nega dynamodb:ListTables ma consente la lettura su una tabella denominata,
DynoTable puoi ancora aprire quella tabella direttamente: ⌘K → Apri tabella con
name salta la chiamata all'elenco e va direttamente a GetItem/Query sulla tabella
digiti. Una volta che l'accesso funziona, l'oggetto visivo query builder
deriva Query-vs-Scan dalle tue pillole filtro in modo da poter dimostrare che la policy lo consente
l'operazione di cui hai bisogno. Se l'errore nomina GSI/LSI ARN, concedi dynamodb:Query
su table/YourTable/index/*: i permessi di indice sono un errore comune a livello di tabella
consente un aspetto corretto.
Errori correlati
- Il token di sicurezza non è valido: credenziali errate/scadute (rispetto a credenziali valide senza autorizzazione).
- Regione mancante nella configurazione
- Impara: Running DynamoDB Local — sviluppa localmente dove non si applicano le politiche IAM.
Fonti
- Risolvere i problemi relativi ai messaggi di errore relativi all'accesso negato: IAM Guida per l'utente (verificato il 13-07-2026)
- Utilizzo delle condizioni della policy IAM per il controllo capillare degli accessi - Guida per sviluppatori di Amazon DynamoDB (verificato il 13-07-2026)
- Gestione degli errori con DynamoDB - Guida per sviluppatori di Amazon DynamoDB (verificato il 13-07-2026)