The SSO session associated with this profile has expired or is otherwise invalid
In breve — Il tuo token di accesso IAM Identity Center (AWS SSO) è scaduto, quindi il profilo non può generare credenziali per la chiamata a DynamoDB. Esegui aws sso login --profile <profile> per ri-autenticarti. Se l'errore persiste subito dopo il login, stai accedendo a un profilo/sessione diverso da quello che il codice sta usando, o il token in cache sotto ~/.aws/sso/cache è obsoleto — ripuliscilo e accedi di nuovo.
Cosa significa
UnauthorizedSSOTokenError: The SSO session associated with this profile has
expired or is otherwise invalid. To refresh this SSO session run aws sso login
with the corresponding profile.I profili basati su SSO non memorizzano chiavi a lunga durata. aws sso login mette in cache un token di accesso localmente, e la CLI/SDK lo scambia per credenziali di ruolo a breve durata su richiesta. Entrambi i livelli scadono: le credenziali di ruolo dopo minuti-ore, e il token SSO dopo la durata di sessione configurata dalla tua organizzazione. Quando il token è scaduto (o il refresh fallisce), ogni chiamata firmata — incluse le letture e scritture DynamoDB — fallisce con questo errore prima di raggiungere AWS.
Perché accade
- La sessione SSO è semplicemente scaduta — la durata della sessione è impostata dal tuo amministratore Identity Center; una scadenza notturna è tipica.
- Hai effettuato il login su un profilo diverso —
aws sso loginè stato eseguito su un profilo mentre la tua app/tool ne risolve un altro (mancata corrispondenzaAWS_PROFILE, o due profili che puntano a configsso_sessiondiverse). - Cache del token obsoleta o corrotta — i file JSON sotto
~/.aws/sso/cachenon corrispondono più alla configurazione SSO del profilo (region/start URL cambiati), quindi gli strumenti continuano a vedere una sessione "invalida" anche dopo il login. - Strumenti di terze parti che risolvono le credenziali da soli — SDK e strumenti che leggono direttamente la cache SSO possono non essere d'accordo con la CLI sulla validità (alcuni trattano i token come scaduti leggermente prima della loro effettiva scadenza).
Come correggerlo
Ri-autentica il profilo giusto:
aws sso login --profile my-profile aws sts get-caller-identity --profile my-profile # confirm it workedAssicurati che il tuo codice usi quello stesso profilo — imposta
AWS_PROFILE=my-profileper il processo che comunica con DynamoDB, e controlla~/.aws/configper definizioni di profilo duplicate/legacy.Ancora "scaduto" dopo il login? Ripulisci la cache del token e accedi di nuovo —
aws sso logoutè il modo documentato per eliminare le credenziali in cache (risiedono sotto~/.aws/sso/cache):aws sso logout rm -rf ~/.aws/sso/cache # only if a stale cache file still lingers aws sso login --profile my-profilePer carichi a lunga esecuzione o headless, non usare profili SSO — un login interattivo via browser non può fare il refresh senza supervisione. Usa invece un ruolo IAM collegato al compute (instance/task/execution role) o un ruolo OIDC di CI.
Le sessioni scadono fastidiosamente in fretta? La durata della sessione è un'impostazione di Identity Center — chiedi al tuo amministratore di estenderla.
Gli strumenti desktop ereditano la stessa soluzione: una volta che aws sso login ha successo, l'app desktop DynoTable recupera il tuo profilo SSO aggiornato e si riconnette alle tue tabelle. Mentre la sessione è attiva, il DynamoDB Expression Builder ti aiuta a trasformare ciò che vuoi interrogare in una richiesta corretta.
Errori correlati
- The security token included in the request is expired — credenziali di ruolo scadute invece della sessione SSO.
- The security token included in the request is invalid
- Unable to locate credentials (boto3)
References
- Configuring IAM Identity Center authentication with the AWS CLI — AWS CLI User Guide
- sso login — AWS CLI Command Reference
- Set session duration for AWS accounts — IAM Identity Center User Guide
Ultima verifica 2026-07-13 rispetto alla documentazione ufficiale AWS collegata sopra.