dataiotech Labs
dbaguidedbaguideDBAdataxtoolsdataopsphere
Script #96
mongodb
Securityread-onlyMin Version: 4.0

MongoDB Kullanıcı ve Rol Yetki Denetimi

Kullanıcıları ve atanmış rollerini listeler, root ve yüksek yetkili rolleri vurgular. Güvenlik denetimi ve en az yetki ilkesi için temel kontroldür.

#users#roles#authentication#hardening
mongodb · javascript
db.getSiblingDB("admin").system.users.find(
  {}, { user: 1, db: 1, roles: 1, "credentials.SCRAM-SHA-256": { $exists: true } }
).toArray().map(u => ({
  user: u.user, db: u.db,
  roles: u.roles.map(r => r.role + "@" + r.db).join(", "),
  privileged: u.roles.some(r => ["root","dbOwner","userAdminAnyDatabase","clusterAdmin"].includes(r.role))
}));
Operasyonel Notlar & İyileştirme Aksiyonu

Alternatif: `db.getSiblingDB('admin').runCommand({ usersInfo: { forAllDBs: true } })`. Authentication kapalıysa bu ciddi bir bulgudur.

Üretim Güvenliği & Çalıştırma Standartları
  • Bu script salt okunur (read-only) teşhis için tasarlanmıştır; doğrudan veri veya şema değişikliği yapmaz.
  • Ağır yük altındaki üretim sunucularında çalıştırmadan önce hedef veritabanı sürümünü (Min. Sürüm: 4.0) doğrulayın.
  • İlişkili oturumu sonlandırma veya indeks silme gibi yazma etkili aksiyonlar için notlar bölümündeki komutları temkinli uygulayın.