Selamlar ,
Bu yazımda MongoDB’de yetkilendirme çeşitlerini ve kullanıcı rollerini paylaşacağım;
İyi Okumalar ;
MongoDB rol bazlı erişim kontrolü (RBAC) için kullanılan rol çeşitleri
Database User Roles
– read
– readWrite
Database Administration Roles
– dbAdmin
– dbOwner
– userAdmin
Cluster Administration Roles
– clusterAdmin
– clusterManager
– clusterMonitor
– hostManager
Backup and Restoration Roles
– backup
– restore
All-Database Roles
– readAnyDatabase
– readWriteAnyDatabase
– userAdminAnyDatabase
– dbAdminAnyDatabase
Superuser Roles
– root
Internal Role
– __system
- MongoDB rol bazlı yetkilendirme & Syntax örnekleri
Bir DB özelinde Read&Write Yetkisi :
db.createUser({
user: “kullanici_adi”,
pwd: “sifre”,
roles: [{ role: “readWrite”, db: “DBNAME” }]
});
DB içerisinde Bir Collection’a Read Yetkisi :
db.createUser({ user: “kullanici_adi”, pwd: “sifre”, roles: [ { role: “read”, db: “DBNAME”, collection: “koleksiyon_adi” } ] });
DB içerisinde Bir Collection’a Write Yetkisi :(MongoDb’de bu şekilde bir rol yok maalesef bunun için aşağıdaki şekilde bir rol oluşturup bu rol ile kullanıcıya sadece write yetkisi tanımlayabiliriz.)
Write Rolü oluşturma & Yetkilendirme:
db.createRole({ role: “writeOnlyRole”, privileges: [ { resource: { db: “DBNAME”, collection: “koleksiyon_adi” }, actions: [“insert”, “update”, “remove”] } ], roles: [] });
db.createUser({
user: “kullanici_adi”,
pwd: “sifre”,
roles: [
{ role: “writeOnlyRole”, db: “DBNAME” }
]
});
DbOwner Yetkisi :(Bu yetki ile kullanıcı db özelinde tüm işlemeleri yapabilir)
db.createUser({
user: “kullanici_adi”,
pwd: “sifre”,
roles: [{ role: “dbOwner”, db: “DBNAME” }]
});
Tüm Db’lerde ReadWrite yetkisi :
db.createUser({
user: “kullanici_adi”,
pwd: “sifre”,
roles: [{ role: “readWriteAnyDatabase”, db: “admin” }]
});