DBAtlas · Veritabanı operasyon atlası

Özel rol tanımla, kullanıcı oluştur, rol ver/geri al ve şifre değiştir

MongoDBGüvenlik

Komut

use admin
db.createRole({
  role: "opsRead",
  privileges: [
    { resource: { db: "shop", collection: "" }, actions: ["find", "listCollections", "listIndexes", "collStats", "dbStats"] },
    { resource: { cluster: true }, actions: ["serverStatus", "inprog"] }
  ],
  roles: []
})
db.createUser({ user: "shop_app", pwd: passwordPrompt(), roles: [{ role: "readWrite", db: "shop" }, { role: "opsRead", db: "admin" }] })
db.grantRolesToUser("shop_app", [{ role: "clusterMonitor", db: "admin" }])
db.revokeRolesFromUser("shop_app", [{ role: "clusterMonitor", db: "admin" }])
db.changeUserPassword("shop_app", passwordPrompt())
db.getUser("shop_app", { showPrivileges: true })
db.runCommand({ usersInfo: { forAllDBs: true } })

Ne yapar?

Belirli veritabanı ve cluster aksiyonlarını içeren özel bir rol tanımlar, kullanıcıyı bu rol ve yerleşik rollerle oluşturur, rol ekleyip çıkarır, şifreyi değiştirir ve tüm veritabanlarındaki kullanıcıları listeler.

Ne zaman kullanılır?

Uygulama ve izleme hesaplarını en az yetki ilkesine göre açarken, yetki denetiminde veya şifre rotasyonunda.

Dikkat

Kullanıcının tanımlandığı veritabanı (burada admin) authSource olarak kullanılır; uygulamanın bağlantı dizgesiyle aynı olmalıdır. root/dbOwner gibi geniş rolleri uygulama hesaplarına verme. Rol değişikliği mevcut oturumlara hemen yansır; şifre değişikliği açık bağlantıları kesmez, yeni bağlantılarda geçerli olur.

DBAtlas'ta aç →