Il token di sicurezza incluso nella richiesta è scaduto
TL;DR: le tue credenziali temporanee AWS sono scadute. Ciò si verifica solo con le credenziali STS/SSO/con ruolo presunto (non con chiavi utente IAM di lunga durata). Aggiorna la sessione: esegui nuovamente aws sso login o riassumi il ruolo: assicurati che AWS_SESSION_TOKEN sia quello nuovo e cancella eventuali token obsoleti rimasti nell'ambiente.
Cosa significa
ExpiredTokenException: The security token included in the request is expiredAWS ha rifiutato la tua richiesta perché le credenziali di sicurezza temporanee con cui è stata firmata sono scadute. Le credenziali temporanee di STS (AssumeRole, SSO, GetSessionToken, ruoli dell'istanza EC2/ECS) vivono per una finestra delimitata: le sessioni del ruolo durano da 15 minuti fino all'impostazione della durata massima della sessione del ruolo (tra 1 e 12 ore; 1 ora per impostazione predefinita) e le credenziali "GetSessionToken" per un utente di IAM durano per impostazione predefinita 12 ore e possono estendersi fino a 36. Una volta passata quella finestra, ogni la richiesta firmata con loro fallisce con "ExpiredTokenException". Il nuovo invio con lo stesso token scaduto non riesce di nuovo: vale la pena riprovare solo dopo l'aggiornamento.
Perché succede
- La sessione STS/SSO è semplicemente scaduta: le credenziali del ruolo assunto scadono alla durata della sessione del ruolo (impostazione predefinita 1 ora, configurabile fino a 12); allo stesso modo scade una sessione SSO.
- Un
AWS_SESSION_TOKENobsoleto nell'ambiente: un vecchio token di sessione esportato nella shell (o un.env) continua a essere utilizzato dopo la sua scadenza; le variabili env non si aggiornano automaticamente. - Un processo di lunga durata che recuperava le credenziali una volta all'avvio e non le aggiornava mai.
- Credenziali memorizzate nella cache in
~/.aws/cli/cacheo in una cache delle credenziali dell'SDK sopravvissute alla scadenza. - Disallineamento dell'orologio: un orologio della macchina sufficientemente lontano può far sembrare scadute le credenziali valide.
Come risolverlo
- Aggiorna la sessione. Esegui nuovamente "aws sso login" (per SSO) o riassumi il ruolo ("aws sts assume-role …") per ottenere una nuova chiave di accesso, un segreto e un token di sessione.
- Aggiorna tutti e tre i valori: ID chiave di accesso, chiave di accesso segreta e token di sessione insieme. Una nuova chiave con un token obsoleto continua a fallire.
- Cancella vars ambiente obsoleto —
unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN, quindi reimposta le nuove credenziali o passa a un profilo che l'SDK può aggiornare autonomamente. - Consenti all'SDK di gestire il ciclo di vita: configura un profilo/provider di credenziali (SSO,
assume_role, ruolo dell'istanza) in modo che l'SDK si aggiorni automaticamente prima della scadenza invece di bloccare un token. - Verifica con
aws sts get-caller-identity: se l'operazione ha esito positivo, le tue credenziali sono aggiornate. - Controlla l'orologio (NTP) se tutto sembra fresco ma le richieste segnalano ancora la scadenza.
Connettiti da DynoTable
DynoTable risolve il tuo profilo ad ogni connessione — Sessioni SSO e ruolo di assunzione protetto da MFA inclusi, quindi una volta terminata la sessione rinnovato, le tue tabelle tornano senza riavvio. Il punto di stato del chip del profilo diventa rosso con Accedi (SSO) o Riconnetti quando si utilizzano credenziali temporanee scadere; fare clic su di esso o eseguire nuovamente una query per attivare il flusso di aggiornamento in-app. Premere ⌘P per confermare che sei sul profilo che hai aggiornato nel terminale. Il costruttore di query è un rapido controllo di integrità che le letture firmate hanno esito positivo dopo l'aggiornamento.
FAQ
Come posso risolvere il problema "il token di sicurezza incluso nella richiesta è scaduto"? Le tue credenziali temporanee sono scadute. Aggiornali — esegui nuovamente aws sso login o riassumi il ruolo — e aggiorna insieme la chiave di accesso, il segreto e AWS_SESSION_TOKEN. Cancella eventuali token obsoleti rimasti nella shell in modo che quello vecchio non venga riutilizzato e preferisci un provider di credenziali SDK che si aggiorni automaticamente.
Perché lo ottengo solo con credenziali temporanee? ExpiredTokenException si applica alle credenziali STS/SSO/con ruolo presunto con limite di tempo, che hanno una scadenza. Le chiavi di accesso utente IAM di lunga durata non scadono da sole, quindi sollevano errori di credenziali per altri motivi (non validi/disabilitati), non per questo.
Errori correlati
- Il token di sicurezza incluso nella richiesta non è valido: credenziali rifiutate perché errate, non scadute.
- IncompleteSignatureException: una firma di richiesta non valida.
- AccessDeniedException: credenziali valide, autorizzazione mancante.
Fonti
Richiedi credenziali di sicurezza temporanee - IAM Guida per l'utente (verificato il 13-07-2026)
AssumeRole - AWS Security Token Service API Riferimento (verificato il 13-07-2026)
Tipi di errori comuni - Riferimento Amazon DynamoDB API (verificato il 13-07-2026)
Errori di risoluzione dei problemi per la AWS CLI - Guida per l'utente della AWS CLI (verificato il 13-07-2026)