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

TL;DR — Token akses IAM Identity Center (AWS SSO) Anda telah kedaluwarsa, jadi profil tidak dapat mencetak kredensial untuk panggilan DynamoDB. Jalankan aws sso login --profile <profile> untuk mengautentikasi ulang. Jika kesalahan bertahan tepat setelah login, Anda login ke profil/sesi berbeda dari yang digunakan kode, atau token yang di-cache di bawah ~/.aws/sso/cache usang — hapus dan login lagi.

Apa artinya

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.

Profil berbasis-SSO tidak menyimpan kunci berumur panjang. aws sso login men-cache token akses secara lokal, dan CLI/SDK menukarnya dengan kredensial role berumur pendek sesuai permintaan. Kedua lapisan kedaluwarsa: kredensial role setelah menit-hingga-jam, dan token SSO setelah panjang sesi yang dikonfigurasi organisasi Anda. Ketika token kedaluwarsa (atau refresh gagal), setiap panggilan yang ditandatangani — termasuk baca dan tulis DynamoDB — gagal dengan kesalahan ini sebelum mencapai AWS.

Mengapa terjadi

  • Sesi SSO hanya kedaluwarsa — durasi sesi diatur oleh administrator Identity Center Anda; kedaluwarsa semalaman adalah tipikal.
  • Anda login ke profil berbedaaws sso login berjalan terhadap satu profil sementara aplikasi/alat Anda menyelesaikan yang lain (ketidakcocokan AWS_PROFILE, atau dua profil yang menunjuk ke konfigurasi sso_session berbeda).
  • Cache token usang atau rusak — file JSON di bawah ~/.aws/sso/cache tidak lagi cocok dengan konfigurasi SSO profil (region/start URL berubah), jadi alat terus melihat sesi "invalid" bahkan setelah login.
  • Alat pihak ketiga menyelesaikan kredensial sendiri — SDK dan alat yang membaca cache SSO secara langsung dapat tidak sepakat dengan CLI tentang validitas (beberapa memperlakukan token sebagai kedaluwarsa sedikit lebih awal dari kedaluwarsa sebenarnya).

Cara memperbaikinya

  1. Autentikasi ulang profil yang benar:

    aws sso login --profile my-profile
    aws sts get-caller-identity --profile my-profile   # confirm it worked
  2. Pastikan kode Anda menggunakan profil yang sama — atur AWS_PROFILE=my-profile untuk proses yang berbicara dengan DynamoDB, dan periksa ~/.aws/config untuk definisi profil duplikat/legacy.

  3. Masih "expired" setelah login? Hapus cache token dan login baru — aws sso logout adalah cara yang didokumentasikan untuk menghapus kredensial yang di-cache (mereka hidup di bawah ~/.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. Untuk workload yang berjalan lama atau headless, jangan gunakan profil SSO — login browser interaktif tidak dapat menyegarkan tanpa pengawasan. Gunakan role IAM yang dilampirkan ke compute (instance/task/execution role) atau role OIDC CI sebagai gantinya.

  5. Sesi kedaluwarsa terlalu cepat mengganggu? Durasi sesi adalah pengaturan Identity Center — minta administrator Anda memperpanjangnya.

Alat desktop mewarisi perbaikan yang sama: setelah aws sso login berhasil, aplikasi desktop DynoTable mengambil profil SSO Anda yang disegarkan dan terhubung kembali ke tabel Anda. Saat sesi aktif, DynamoDB Expression Builder membantu Anda mengubah apa yang ingin Anda kueri menjadi permintaan yang benar.

Kesalahan terkait

References

Terakhir diverifikasi 2026-07-13 terhadap dokumentasi resmi AWS yang ditautkan di atas.

Bekerja dengan DynamoDB tanpa Console

DynoTable adalah klien desktop yang cepat untuk DynamoDB — jelajahi tabel, jalankan query gaya SQL, dan edit Item secara lokal.