Missing Authentication Token
TL;DR — "Missing Authentication Token", isteğin ya hiç kimlik bilgisi taşımadığı ya da AWS'nin tanımadığı bir uç noktaya/yönteme ulaştığı anlamına gelir — var olmayan bir yola ya da desteklenmeyen bir HTTP yöntemine yapılan bir istek, bir 404 yerine bunu döndürür. DynamoDB için neredeyse her zaman bir yanlış uç nokta URL'si ya da hiç imzalanmamış bir istektir.
Ne anlama gelir
{"message":"Missing Authentication Token"}AWS'nin SigV4 sorun giderme kılavuzu ilk neden hakkında açık sözlüdür: API isteği imzalanmamışsa, Missing Authentication Token alabilirsiniz. Sezgiye aykırı olarak, aynı mesaj, yol ya da HTTP yöntemi hiçbir rotayla eşleşmediğinde API-Gateway tarzı uç noktalardan (HTTP 403) da geri gelir — AWS, yönlendiremediği bir istekte kimlik doğrulaması arar ve bir "bulunamadı" yerine eksik belirteci bildirir. DynamoDB'nin kendisi, yetkilendirme başlığı eksik ya da hatalı biçimlendirilmiş bir isteği reddettiğinde, istisna MissingAuthenticationTokenException'dır — HTTP 400, yeniden denenebilir değil, "Request must contain a valid (registered) AWS Access Key ID." mesajıyla.
Neden olur
- Yanlış uç nokta URL'si — hizmet köküne düzgün imzalı bir SDK çağrısı yerine, bir tarayıcıda ya da düz bir GET ile
https://dynamodb.<region>.amazonaws.com/some/path'e ulaşmak. - İmzasız istek — SigV4
Authorizationbaşlığı olmayan çıplak bircurl/fetch(SDK normalde onu ekler). - Yanlış HTTP yöntemi — DynamoDB'nin API'si, işlemi adlandıran bir
X-Amz-Targetbaşlığıyla/'yePOSTbekler; diğer şekiller imzalı işlemler olarak tanınmaz. - Yanlış yazılmış özel bir uç nokta — DynamoDB hizmetine karşılık gelmeyen bir URL'yi göstermek.
- Erişim anahtarı yapılandırılmamış DynamoDB Local — SDK'lar, yerel olarak bile bir erişim anahtarı ve bölge değeri ayarlanmasını gerektirir (herhangi bir değer çalışır; Local onları yalnızca veritabanı dosyasını adlandırmak için kullanır).
Nasıl düzeltilir
- Çıplak bir HTTP çağrısı değil, AWS SDK kullanın. SDK'nın doğru
X-Amz-Targetile imzalıPOST'u oluşturmasına izin verin — URL'leri elle hazırlamayın. - Bir yola değil, hizmet köküne yöneltin (
https://dynamodb.<region>.amazonaws.com) ve istemcinin bölgesini eşleşecek şekilde ayarlayın. - SDK'nın isteği gerçekten imzalaması için kimlik bilgilerinin yapılandırıldığını doğrulayın (ortam değişkenleri, profil ya da rol).
- DynamoDB Local için, uç noktayı
http://localhost:8000'e ayarlayın ve SDK'nın normal şekilde imzalaması için bir kukla erişim anahtarı/gizli (yalnızca harfler ve rakamlar) yapılandırın — Local onları doğrulamaz.
İlgili hatalar
- Unable to locate credentials — SDK hiç kimlik bilgisi bulamadı.
- The security token included in the request is invalid — kimlik bilgileri mevcut ama reddedildi.
- Could not connect to the endpoint URL — hatalı biçimlendirilmiş ya da ulaşılamayan bir uç nokta.
- Öğrenin: Connect to DynamoDB Local & LocalStack
References
- Troubleshoot Signature Version 4 signing for AWS API requests — IAM User Guide
- Error handling with DynamoDB — Amazon DynamoDB Developer Guide
- Create a signed AWS API request — IAM User Guide
- DynamoDB local usage notes — Amazon DynamoDB Developer Guide
En son 2026-07-13 tarihinde yukarıda bağlantısı verilen resmi AWS belgelerine karşı doğrulandı.