"The SSO session associated with this profile has expired": sesi SSO yang terkait dengan profil ini telah kedaluwarsa atau tidak valid

TL;DR — Token akses IAM Identity Center (AWS SSO) Anda telah habis masa berlakunya, sehingga profil tidak dapat membuat kredensial untuk panggilan DynamoDB. Jalankan aws sso login --profile <profile> untuk mengautentikasi ulang. Jika kesalahan tetap terjadi setelah masuk, berarti Anda masuk ke profil/session yang berbeda dengan yang digunakan kode, atau token yang di-cache pada ~/.aws/sso/cache sudah basi — hapus dan masuk 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.

diaktifkan saat SDK menyelesaikan kredensial, sebelum permintaan yang ditandatangani meninggalkan Anda mesin. Token yang di-cache pada ~/.aws/sso/cache telah kedaluwarsa, rusak, atau milik sso_session yang berbeda dari yang diselesaikan profil. Setiap panggilan AWS melalui profil itu gagal sebelum mencapai titik akhir layanan.

Mengapa itu terjadi

  • Sesi SSO telah habis waktunya — durasi sesi ditetapkan oleh administrator Pusat Identitas Anda; kadaluwarsa semalam adalah tipikal.
  • Anda masuk ke profil berbedaaws sso login dijalankan pada satu profil sementara aplikasi/tool Anda menyelesaikan profil lainnya (ketidakcocokan AWS_PROFILE, atau dua profil menunjuk pada konfigurasi sso_session berbeda).
  • Cache token basi atau rusak — file JSON pada ~/.aws/sso/cache tidak lagi cocok dengan konfigurasi SSO profil (region/start URL diubah), sehingga alat tetap melihat sesi "tidak valid" bahkan setelah login.
  • Alat pihak ketiga yang menyelesaikan kredensialnya sendiri — SDK dan alat yang membaca cache SSO secara langsung mungkin tidak setuju dengan CLI mengenai validitasnya (beberapa menganggap token telah kedaluwarsa sedikit sebelum masa berlaku sebenarnya).

Bagaimana cara memperbaikinya

  1. Otentikasi 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 berhubungan dengan DynamoDB, dan periksa ~/.aws/config untuk definisi profil duplikat/legacy.

  3. Masih "kedaluwarsa" setelah login? Hapus cache token dan login baru — aws sso logout adalah cara terdokumentasi untuk menghapus kredensial cache (mereka berada 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 beban kerja yang berjalan lama atau tanpa kepala, jangan gunakan profil SSO — login browser interaktif tidak dapat disegarkan tanpa pengawasan. Gunakan peran IAM yang melekat pada komputasi (peran instance/task/execution) atau peran CI OIDC sebagai gantinya.

  5. Sesi berakhir sangat cepat? Durasi sesi adalah setelan Pusat Identitas — mintalah administrator Anda untuk memperpanjangnya.

Cek di DynoTable

DynoTable menjalankan alur perangkat Pusat Identitas IAM yang sama dengan CLI — dalam proses, tidak diperlukan biner aws terpisah (Hubungkan akun AWS). Setelah aws sso login berhasil, aplikasi membaca token yang disegarkan ~/.aws/sso/cache pada koneksi berikutnya. Ketika sesi SSO berakhir, chip profil menunjukkan titik merah dengan Masuk; klik untuk membuka kembali browser mengalir tanpa memulai ulang DynoTable. Tekan ⌘P untuk memverifikasi profil nama cocok dengan yang Anda masuki di terminal. Setelah menyegarkan, buka tabel untuk mengonfirmasi panggilan DynamoDB berhasil — visual pembuat kueri memperoleh Query-vs-Scan dari pil filter Anda setelah kredensial aktif kembali.

Kesalahan terkait

Sumber

Bekerja dengan DynamoDB tanpa Console

Klien desktop DynamoDB yang cepat dan menjalankan SQL sungguhan yang tidak bisa dijalankan DynamoDB — JOINs, GROUP BY, agregasi — dengan editing visual dan agen AI pada kunci Bedrock milik Anda sendiri.

Uji coba gratis 30 hari, tanpa kartu kredit — lalu paket Free tanpa batas waktu.