dataiotech Labs
dbaguidedbaguideDBAdataxtoolsdataopsphere
Home/Hata Teşhis Kütüphanesi/mongodb-authentication-failed-scram-user-not-found
MongoDB
MongoDB 6.0 - 8.0Kimlik & Güvenlik
4 dk okuma
Authentication failed. / BadValue: SCRAM-SHA-1 and SCRAM-SHA-256 / UserNotFound

MongoDB Kimlik Doğrulama Başarısız: authSource=admin Eksikliği, Yanlış Veritabanı Rolleri ve SCRAM Uyumluluğu

Kullanıcının admin veritabanında oluşturulup bağlantı dizesinde authSource belirtilmemesi sonucu reddedilen bağlantılar; rol doğrulama ve SCRAM-SHA-256 standardı.

İnceleyen:Kıdemli Veritabanı Mimarı & SRE (dataiotech Labs)
Test Edilen Sürümler: MongoDB 6.0 / 7.0 / 8.0

Operasyonel Doğrulama & Güvenilirlik Standardı

Son Teknik İnceleme: 2 Kasım 2026
Test Edilen SürümlerMongoDB 7.0.8, 8.0.1
Gerekli YetkiuserAdminAnyDatabase on admin
Risk Seviyesi
MediumHatalı auth mekanizması veya yanlış authSource uygulamayı veritabanı erişiminden tamamen mahrum bırakır
Beklenen Çıktıdb.getUsers() çıktısında kullanıcının doğru db rolü ve SCRAM-SHA-256 mekanizmasıyla doğrulanması
Geri Dönüş (Rollback) Planı:Bağlantı dizesine ?authSource=admin parametresini ekleme
MongoDB Docs: Authentication & SCRAM
İlk 60 Saniye Teşhis Protokolü:

Hata mesajı semptomdur, kök neden değildir. Sunucuyu yeniden başlatmadan veya rastgele ayar değiştirmeden önce aşağıdaki "Nedeni ayırt eden tek sorgu"yu çalıştırarak gerçek senaryoyu netleştirin.

▸Belirti

İstemci şifre doğru olmasına rağmen veritabanına bağlanamaz:

plaintext
MongoServerError: Authentication failed. MongoSecurityException: Exception authenticating MongoCredential: UserNotFound: Could not find user "app_user" for db "prod"

▸Sahada Ne Görürsün?

Kullanıcı adı ve şifre doğrudur ancak istemci prod veritabanında kullanıcıyı arar ve bulamaz. Bağlantı reddedilir.


▸Kök Neden Matrisi

OlasılıkKök NedenAçıklama
%70`authSource=admin` EksikliğiKullanıcı admin veritabanında oluşturulmuştur ancak bağlantı dizesinde hedef olarak prod verilmiştir; authSource belirtilmemiştir.
%20SCRAM-SHA-1 vs SCRAM-SHA-256 UyuşmazlığıSunucu SCRAM-SHA-256 beklerken eski istemci SCRAM-SHA-1 göndermektedir.
%10Rolün Yanlış Veritabanına TanımlanmasıKullanıcıya readWrite rolü prod yerine yanlışlıkla başka şemada atanmıştır.

▸ACİL RUNBOOK (0-5dk)

bash
# 1. Doğru authSource parametresi ile bağlanmayı dene mongosh -u app_user -p --authenticationDatabase admin 10.0.0.5:27017/prod
javascript
// 2. Kullanıcının hangi veritabanında olduğunu ve rollerini gör use admin; db.getUsers(); db.getUser("app_user"); // 3. Kullanıcıya hedef veritabanında yetki ver db.grantRolesToUser("app_user", [ { role: "readWrite", db: "prod" } ]);

▸KALICI BLUEPRINT

  1. 1Standardize URI Parametresi: Tüm bağlantı dizelerinde ?authSource=admin açıkça yer almalıdır:
plaintext
mongodb://app_user:GizliSifre@node1:27017/prod?authSource=admin&replicaSet=rs0
  1. 1SCRAM-SHA-256 Standardı: Tüm yeni rollerde varsayılan şifreleme SCRAM-SHA-256 olmalıdır.

▸Doğrulama

bash
mongosh -u app_user -p 'GizliSifre' --authenticationDatabase admin --eval "db.stats()" 10.0.0.5:27017/prod

Diğer Veritabanı Hata Teşhisleri

Kriz anında başvurabileceğiniz diğer doğrulanmış hata rehberleri.

Tüm Hatalar (82)