"The SSO session associated with this profile has expired": la sessione SSO associata a questo profilo è scaduta o non è altrimenti valida

TL;DR: il token di accesso IAM Identity Center (AWS SSO) è scaduto, quindi il profilo non può coniare le credenziali per la chiamata DynamoDB. Eseguire "aws sso login --profile " per autenticarsi nuovamente. Se l'errore persiste subito dopo l'accesso, stai accedendo a un profilo/sessione diverso da quello utilizzato dal codice oppure il token memorizzato nella cache in ~/.aws/sso/cache è obsoleto: cancellalo 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.

Questo è un botocore ClientError, non un'Eccezione del servizio DynamoDB — si attiva mentre l'SDK risolve le credenziali, prima che qualsiasi richiesta firmata lasci il tuo macchina. Il token memorizzato nella cache in "~/.aws/sso/cache" è scaduto, danneggiato o appartiene a una "sso_session" diversa da quella risolta dal profilo. Ogni AWS chiamata attraverso quel profilo fallisce prima di raggiungere un endpoint del servizio.

Perché succede

  • La sessione SSO è semplicemente scaduta: la durata della sessione è impostata dall'amministratore di Identity Center; la scadenza overnight è tipica.
  • Hai effettuato l'accesso a un profilo diverso: aws sso login è stato eseguito su un profilo mentre l'app/lo strumento ne risolve un altro (mancata corrispondenza di AWS_PROFILE o due profili che puntano a configurazioni di sso_session diverse).
  • Cache dei token obsoleta o danneggiata: i JSON file in ~/.aws/sso/cache non corrispondono più alla configurazione SSO del profilo (regione/URL di avvio modificato), quindi gli strumenti continuano a visualizzare una sessione "non valida" anche dopo l'accesso.
  • Strumenti di terze parti che risolvono autonomamente le credenziali: gli SDK e gli strumenti che leggono direttamente la cache SSO possono non essere d'accordo con la CLI sulla validità (alcuni considerano i token come scaduti leggermente prima della scadenza effettiva).

Come risolverlo

  1. Riautenticare il profilo corretto:

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

  3. Ancora "scaduto" dopo il login? Svuota la cache dei token ed effettua nuovamente l'accesso: aws sso logout è il modo documentato per eliminare le credenziali memorizzate nella cache (si trovano in ~/.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 di lavoro a esecuzione prolungata o headless, non utilizzare profili SSO: l'accesso interattivo al browser non può essere aggiornato automaticamente. Utilizza invece un ruolo IAM collegato al calcolo (ruolo istanza/attività/esecuzione) o un ruolo OIDC CI.

  5. Le sessioni scadono in modo fastidiosamente veloce? La durata della sessione è un'impostazione di Identity Center: chiedi al tuo amministratore di estenderla.

Verificalo in DynoTable

DynoTable esegue lo stesso flusso del dispositivo IAM Identity Center della CLI: in-process, non è richiesto alcun binario aws separato (Connetti un account AWS). Una volta che aws sso login ha esito positivo, l'app legge il token aggiornato da "~/.aws/sso/cache" alla connessione successiva. Allo scadere della sessione SSO, il file il chip del profilo mostra un punto rosso con Accedi; fare clic per riaprire il browser flusso senza riavviare DynoTable. Premi ⌘P per verificare il profilo nome corrisponde a quello a cui hai effettuato l'accesso nel terminale. Dopo l'aggiornamento, apri una tabella per confermare DynamoDB chiamate riuscite: l'oggetto visivo query builder deriva Query-vs-Scan dalle tue pillole filtro una volta che le credenziali sono di nuovo attive.

Errori correlati

Fonti

Lavora con DynamoDB senza la Console

Un client desktop veloce per DynamoDB che esegue il vero SQL che DynamoDB non può — JOINs, GROUP BY, aggregazioni — con modifica visuale e un agente AI sulle tue chiavi Bedrock.

Prova gratuita di 30 giorni, senza carta di credito — poi il piano Free senza limiti di tempo.