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 diversoaws sso login è stato eseguito su un profilo mentre la tua app/tool ne risolve un altro (mancata corrispondenza AWS_PROFILE, o due profili che puntano a config sso_session diverse).
  • Cache del token obsoleta o corrotta — i file JSON sotto ~/.aws/sso/cache non 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

  1. Ri-autentica il profilo giusto:

    aws sso login --profile my-profile
    aws sts get-caller-identity --profile my-profile   # confirm it worked
  2. Assicurati che il tuo codice usi quello stesso profilo — imposta AWS_PROFILE=my-profile per il processo che comunica con DynamoDB, e controlla ~/.aws/config per definizioni di profilo duplicate/legacy.

  3. 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-profile
  4. Per 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.

  5. 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

References

Ultima verifica 2026-07-13 rispetto alla documentazione ufficiale AWS collegata sopra.

Lavora con DynamoDB senza la Console

DynoTable è un client desktop veloce per DynamoDB — sfoglia le tabelle, esegui query in stile SQL e modifica gli Item localmente.