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 berbeda —
aws sso loginberjalan terhadap satu profil sementara aplikasi/alat Anda menyelesaikan yang lain (ketidakcocokanAWS_PROFILE, atau dua profil yang menunjuk ke konfigurasisso_sessionberbeda). - Cache token usang atau rusak — file JSON di bawah
~/.aws/sso/cachetidak 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
Autentikasi ulang profil yang benar:
aws sso login --profile my-profile aws sts get-caller-identity --profile my-profile # confirm it workedPastikan kode Anda menggunakan profil yang sama — atur
AWS_PROFILE=my-profileuntuk proses yang berbicara dengan DynamoDB, dan periksa~/.aws/configuntuk definisi profil duplikat/legacy.Masih "expired" setelah login? Hapus cache token dan login baru —
aws sso logoutadalah 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-profileUntuk 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.
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
- The security token included in the request is expired — kredensial role kedaluwarsa alih-alih sesi SSO.
- The security token included in the request is invalid
- Unable to locate credentials (boto3)
References
- Configuring IAM Identity Center authentication with the AWS CLI — AWS CLI User Guide
- sso login — AWS CLI Command Reference
- Set session duration for AWS accounts — IAM Identity Center User Guide
Terakhir diverifikasi 2026-07-13 terhadap dokumentasi resmi AWS yang ditautkan di atas.