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 expiredAWS, 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
- 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 …). - Üç 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.
- Bayat ortam değişkenlerini temizleyin —
unset 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. - 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. aws sts get-caller-identityile doğrulayın — bu başarılı olursa, kimlik bilgileriniz günceldir.- 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
- The security token included in the request is invalid — süresi geçmiş değil, yanlış olarak reddedilen kimlik bilgileri.
- IncompleteSignatureException — hatalı biçimlendirilmiş bir istek imzası.
- AccessDeniedException — geçerli kimlik bilgileri, eksik izin.
Kaynaklar
- Request temporary security credentials — IAM User Guide
- AssumeRole — AWS Security Token Service API Reference
- Common Error Types — Amazon DynamoDB API Reference
- Troubleshooting errors for the AWS CLI — AWS CLI User Guide
En son 2026-07-13 tarihinde yukarıda bağlantısı verilen resmi AWS belgelerine karşı doğrulandı.