The SSO session associated with this profile has expired or is otherwise invalid

TL;DR — Dein Access Token für IAM Identity Center (AWS SSO) ist abgelaufen, das Profil kann für den DynamoDB-Aufruf also keine Anmeldedaten ausstellen. Führ aws sso login --profile <profile> aus, um dich neu zu authentifizieren. Bleibt der Fehler direkt nach dem Login bestehen, meldest du dich an einem anderen Profil bzw. in einer anderen Session an als der Code sie nutzt, oder der gecachte Token unter ~/.aws/sso/cache ist veraltet — lösch ihn und melde dich erneut an.

Was es bedeutet

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.

SSO-basierte Profile speichern keine langlebigen Schlüssel. aws sso login cacht einen Access-Token lokal, und die CLI/das SDK tauscht ihn bei Bedarf gegen kurzlebige Rollen-Anmeldedaten ein. Beide Schichten laufen ab: die Rollen-Anmeldedaten nach Minuten bis Stunden und der SSO-Token nach der von deiner Organisation konfigurierten Sitzungsdauer. Wenn der Token abgelaufen ist (oder die Aktualisierung fehlschlägt), scheitert jeder signierte Aufruf — einschließlich DynamoDB-Reads und -Writes — mit diesem Fehler, bevor er AWS erreicht.

Warum es passiert

  • Die SSO-Session ist einfach abgelaufen — die Sitzungsdauer wird von deinem Identity-Center-Administrator festgelegt; ein Ablauf über Nacht ist typisch.
  • Du hast dich bei einem anderen Profil angemeldetaws sso login lief gegen ein Profil, während deine App/dein Tool ein anderes auflöst (AWS_PROFILE-Konflikt oder zwei Profile, die auf verschiedene sso_session-Konfigurationen zeigen).
  • Veralteter oder beschädigter Token-Cache — die JSON-Dateien unter ~/.aws/sso/cache passen nicht mehr zur SSO-Konfiguration des Profils (Region/Start-URL geändert), sodass Tools selbst nach dem Login weiter eine „ungültige" Session sehen.
  • Drittanbieter-Tools, die Anmeldedaten selbst auflösen — SDKs und Tools, die den SSO-Cache direkt lesen, können mit der CLI über die Gültigkeit uneins sein (manche behandeln Token etwas vor ihrem tatsächlichen Ablauf als abgelaufen).

So behebst du es

  1. Authentifiziere das richtige Profil erneut:

    aws sso login --profile my-profile
    aws sts get-caller-identity --profile my-profile   # confirm it worked
  2. Stelle sicher, dass dein Code dasselbe Profil verwendet — setze AWS_PROFILE=my-profile für den Prozess, der mit DynamoDB spricht, und prüfe ~/.aws/config auf doppelte/veraltete Profildefinitionen.

  3. Immer noch "expired" nach dem Login? Lösche den Token-Cache und melde dich frisch an — aws sso logout ist der dokumentierte Weg, die gecachten Anmeldedaten zu löschen (sie liegen unter ~/.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. Für langlaufende oder headless Workloads nutze keine SSO-Profile — ein interaktives Browser-Login kann nicht unbeaufsichtigt aktualisieren. Nutze stattdessen eine an die Compute-Ressource angehängte IAM-Rolle (Instanz-/Task-/Ausführungsrolle) oder eine CI-OIDC-Rolle.

  5. Sessions laufen ärgerlich schnell ab? Die Sitzungsdauer ist eine Identity-Center-Einstellung — bitte deinen Administrator, sie zu verlängern.

Desktop-Tools erben dieselbe Lösung: Sobald aws sso login erfolgreich ist, übernimmt DynoTable dein aktualisiertes SSO-Profil und verbindet sich erneut mit deinen Tabellen — es löst Credentials aus ~/.aws jedes Mal frisch auf, sodass die neue Session übernommen wird, ohne dass du irgendetwas erneut eingeben musst.

In DynoTable checken

DynoTable fährt denselben Device-Flow für IAM Identity Center wie die CLI — im eigenen Prozess, ohne separates aws-Binary (Ein AWS-Konto verbinden). Sobald aws sso login erfolgreich ist, liest die App bei der nächsten Verbindung den aufgefrischten Token aus ~/.aws/sso/cache. Läuft die SSO-Session ab, zeigt der Profil-Chip einen roten Punkt mit Sign in; ein Klick darauf öffnet den Browser-Flow erneut, ohne DynoTable neu zu starten. Drück ⌘P, um zu prüfen, dass der Profilname zu dem passt, in den du dich im Terminal eingeloggt hast. Nach der Aktualisierung öffnest du eine Tabelle, um zu bestätigen, dass DynamoDB-Aufrufe durchgehen — der visuelle Query Builder leitet Query-vs-Scan aus deinen Filter-Pills ab, sobald die Anmeldedaten wieder gültig sind.

Verwandte Fehler

Quellen

Mit DynamoDB ohne die Console arbeiten

Ein schneller DynamoDB-Desktop-Client, der das echte SQL ausführt, das DynamoDB nicht kann — JOINs, GROUP BY, Aggregationen — mit visueller Bearbeitung und einem KI-Agenten auf deinen eigenen Bedrock-Schlüsseln.

30 Tage kostenlos testen, keine Kreditkarte — danach der Kostenlos-Tarif ohne Zeitlimit.