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

TL;DR — Dein IAM-Identity-Center-(AWS-SSO)-Access-Token ist abgelaufen, sodass das Profil keine Anmeldedaten für den DynamoDB-Aufruf ausstellen kann. Führe aws sso login --profile <profile> aus, um dich erneut zu authentifizieren. Wenn der Fehler direkt nach dem Login bestehen bleibt, meldest du dich bei einem anderen Profil/einer anderen Session an, als der Code verwendet, oder der gecachte Token unter ~/.aws/sso/cache ist veraltet — lösche 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 die DynoTable-Desktop-App dein aktualisiertes SSO-Profil und verbindet sich erneut mit deinen Tabellen. Solange die Session aktiv ist, hilft dir der DynamoDB Expression Builder, das, was du abfragen willst, in einen korrekten Request zu verwandeln.

Verwandte Fehler

Referenzen

Zuletzt verifiziert am 2026-07-13 gegen die oben verlinkte offizielle AWS-Dokumentation.

Mit DynamoDB ohne die Console arbeiten

DynoTable ist ein schneller Desktop-Client für DynamoDB — durchsuche Tabellen, führe SQL-artige Queries aus und bearbeite Items lokal.