The security token included in the request is expired

TL;DR — Geçici AWS kimlik bilgileriniz zaman aşımına uğradı. Bu yalnızca STS/SSO/üstlenilen-rol kimlik bilgileriyle olur (uzun ömürlü IAM kullanıcı anahtarlarıyla değil). Oturumu yenileyin — aws sso login'i yeniden çalıştırın ya da rolü yeniden üstlenin — AWS_SESSION_TOKEN'ın yeni olan olduğundan emin olun ve ortamda kalan herhangi bir bayat belirteci temizleyin.

Ne anlama gelir

ExpiredTokenException: The security token included in the request is expired

AWS, isteğinizi imzalandığı geçici güvenlik kimlik bilgilerinin süresi geçtiği için reddetti. STS'ten gelen geçici kimlik bilgileri (AssumeRole, SSO, GetSessionToken, EC2/ECS örnek rolleri) sınırlı bir pencerede yaşar — rol oturumları 15 dakikadan rolün maksimum oturum süresi ayarına kadar sürer (1 ile 12 saat arası; varsayılan 1 saat) ve bir IAM sensı için GetSessionToken kimlik bilgileri varsayılan olarak 12 saat sürer ve 36 saate uzayabilir. O pencere geçtiğinde, onlarla imzalanan her istek ExpiredTokenException ile başarısız olur. Aynı süresi geçmiş belirteçle yeniden göndermek yine başarısız olur — yalnızca yeniledikten sonra yeniden denemeye değer.

Neden olur

  • STS/SSO oturumu basitçe zaman aşımına uğradı — üstlenilen-rol kimlik bilgileri rolün oturum süresinde sona erer (varsayılan 1 saat, 12'ye kadar yapılandırılabilir); bir SSO oturumu da benzer şekilde sona erer.
  • Ortamda bayat bir AWS_SESSION_TOKEN — kabuğunuza (ya da bir .env'e) dışa aktarılmış eski bir oturum belirteci, süresi geçtikten sonra kullanılmaya devam eder; ortam değişkenleri otomatik yenilenmez.
  • Başlangıçta bir kez kimlik bilgisi getiren ve onları asla yenilemeyen uzun süre çalışan bir süreç.
  • ~/.aws/cli/cache'te ya da bir SDK kimlik bilgisi önbelleğinde sona erme sürelerinden daha uzun yaşayan önbelleğe alınmış kimlik bilgileri.
  • Saat kayması — yeterince kaymış bir makine saati, geçerli kimlik bilgilerini süresi geçmiş gösterebilir.

Nasıl düzeltilir

  1. Oturumu yenileyin. Yeni bir erişim anahtarı, gizli ve oturum belirteci almak için aws sso login'i (SSO için) yeniden çalıştırın ya da rolü yeniden üstlenin (aws sts assume-role …).
  2. Üç değerin hepsini güncelleyin — erişim anahtarı kimliği, gizli erişim anahtarı ve oturum belirteci birlikte. Bayat bir belirteçle yeni bir anahtar yine başarısız olur.
  3. Bayat ortam değişkenlerini temizleyinunset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN, sonra yeni kimlik bilgilerini yeniden kaynak alın ya da SDK'nın kendi başına yenileyebileceği bir profile geçin.
  4. Yaşam döngüsünü SDK'nın yönetmesine izin verin — bir profil / kimlik bilgisi sağlayıcı (SSO, assume_role, örnek rolü) yapılandırın, böylece SDK tek bir belirteci sabitlemek yerine sona ermeden önce otomatik yeniler.
  5. aws sts get-caller-identity ile doğrulayın — bu başarılı olursa, kimlik bilgileriniz günceldir.
  6. Her şey yeni görünüyor ama istekler yine de süre bitimi bildiriyorsa saati kontrol edin (NTP).

DynoTable'dan bağlanın

DynoTable profilinizi her bağlantıda taze olarak çözer — SSO oturumları ve MFA korumalı rol üstlenme dahil — böylece oturum yenilendiğinde tablolarınız yeniden başlatma olmadan geri gelir. Geçici kimlik bilgileri sona erdiğinde profil çipinin durum noktası kırmızıya döner ve Oturum aç (SSO) ya da Yeniden bağlan yazar; uygulama içi yenileme akışını tetiklemek için tıklayın ya da bir sorguyu yeniden çalıştırın. Terminalde yenilediğiniz profilde olduğunuzu doğrulamak için ⌘P tuşuna basın. Sorgu oluşturucu, imzalı okumaların yenilemeden sonra başarılı olduğunu görmek için hızlı bir sağlık kontrolüdür.

SSS

"the security token included in the request is expired"ı nasıl düzeltirim? Geçici kimlik bilgileriniz sona erdi. Onları yenileyin — aws sso login'i yeniden çalıştırın ya da rolü yeniden üstlenin — ve erişim anahtarını, gizliyi ve AWS_SESSION_TOKEN'ı birlikte güncelleyin. Eskisinin yeniden kullanılmaması için kabuğunuzda kalan herhangi bir bayat belirteci temizleyin ve otomatik yenileyen bir SDK kimlik bilgisi sağlayıcısını tercih edin.

Bunu neden yalnızca geçici kimlik bilgileriyle alırım? ExpiredTokenException, bir sona erme taşıyan zaman-sınırlı STS/SSO/üstlenilen-rol kimlik bilgileri için geçerlidir. Uzun ömürlü IAM kullanıcı erişim anahtarları kendi başlarına sona ermez, dolayısıyla kimlik bilgisi hatalarını bunun için değil, başka nedenlerle (geçersiz/devre dışı) fırlatırlar.

DynoTable, profilinizi her bağlantıda taze olarak çözer — SSO oturumları ve MFA korumalı rol üstlenme dahil — böylece oturum yenilendiğinde tablolarınız yeniden başlatma gerekmeden hemen geri gelir.

İlgili hatalar

Kaynaklar

En son 2026-07-13 tarihinde yukarıda bağlantısı verilen resmi AWS belgelerine karşı doğrulandı.

Console olmadan DynamoDB ile çalış

DynamoDB’nin çalıştıramadığı gerçek SQL’i çalıştıran hızlı bir DynamoDB masaüstü istemcisi — JOINs, GROUP BY, toplamalar — görsel düzenleme ve kendi Bedrock anahtarların üzerinde bir yapay zekâ aracısıyla.

30 günlük ücretsiz deneme, kredi kartı yok — ardından süre sınırı olmayan Ücretsiz plan.