|
MongoDB, rol tabanlı yetkilendirme yoluyla verilere ve komutlara erişim sağlar ve veritabanı sisteminde yaygın olarak ihtiyaç duyulan farklı erişim seviyelerini sağlayan yerleşik roller sağlar. Ayrıca kullanıcı tanımlı roller oluşturabilirsiniz. Bir rol, tanımlanmış kaynaklar üzerinde işlem setlerini gerçekleştirme yetkisi verir. Belirli bir rol, tanımlandığı veritabanına uygulanır ve bir koleksiyon seviyesine kadar erişim sağlayabilir. MongoDB'nin her yerleşik rolü, rol veritabanındaki tüm sistem dışı koleksiyonlar için ve tüm sistem koleksiyonları için veritabanı düzeyinde erişim tanımlar. MongoDB, her veritabanında yerleşik veritabanı kullanıcı ve veritabanı yönetimi rollerini sağlar. MongoDB, diğer tüm yerleşik rolleri yalnızca yönetici veritabanında sağlar. Bu bölüm, her yerleşik rol için ayrıcalıkları tanımlar. Ayrıca showPrivileges ve showBuiltinRolesfields her ikisi de true olarak ayarlanmış rolesInfo komutunu vererek yerleşik bir rol için ayrıcalıkları her zaman görebilirsiniz. Veritabanı Kullanıcı RolleriHer veritabanı aşağıdaki istemci rollerini içerir: OkuTüm sistem dışı koleksiyonlarda ve aşağıdaki sistem koleksiyonlarında veri okuma yeteneği sağlar: system.indexes, system.js ve system.namespaces koleksiyonları. Rol, aşağıdaki işlemleri onaylayarak okuma erişimi sağlar: - collStats
- dbHash
- dbStats
- bulmak
- killCursors
- listIndexes
- liste Koleksiyonlar
readWriteOkuma rolünün tüm ayrıcalıklarını ve tüm sistem dışı koleksiyonlarda ve system.js koleksiyonunda veri değiştirme imkanı sağlar. Rol, bu koleksiyonlar üzerinde aşağıdaki işlemleri sağlar: - collStats
- dönüştürToCapped
- createCollection
- dbHash
- dbStats
- dropCollection
- createIndex
- dropIndex
- boş kaplı
- bulmak
- insert
- killCursors
- listIndexes
- liste Koleksiyonlar
- kaldır
- renameCollectionSameDB
- Güncelleme
Veritabanı Yönetimi RolleriHer veritabanı aşağıdaki veritabanı yönetim rollerini içerir: dbAdminVeritabanının system.indexes, system.namespaces ve system.profile koleksiyonlarında aşağıdaki işlemleri sağlar: - collStats
- dbHash
- dbStats
- bulmak
- killCursors
- listIndexes
- liste Koleksiyonlar
- dropCollection ve createCollection sadece system.profile üzerinde
2.6.4 sürümünde değiştirildi: dbAdmin system.profilecollection için createCollection ekledi. Önceki sürümlerde dropCollection sadece system.profile koleksiyonunda bulunuyordu.
Tüm sistem dışı koleksiyonlar için aşağıdaki işlemleri sağlar. Bu rol, sistem dışı koleksiyonlarda tam okuma erişimini içermez: - bypassDocumentValidation
- collMod
- collStats
- kompakt
- dönüştürToCapped
- createCollection
- createIndex
- dbStats
- dropCollection
- dropDatabase
- dropIndex
- enableProfiler
- reIndex
- renameCollectionSameDB
- repairDatabase
- Depolama Detayları
- Doğrulama
dbSahibiVeritabanı sahibi, veritabanı üzerinde herhangi bir idari işlemi gerçekleştirebilir. Bu rol, readWrite, dbAdmin ve userAdmin rollerinin verdiği ayrıcalıkları birleştirir. userAdminMevcut veritabanında roller ve kullanıcılar oluşturma ve değiştirme imkanı sağlar. Bu rol ayrıca dolaylı olarak süper kullanıcıya veritabanına veya yönetici veritabanına bağlıdırsa kümeye erişim sağlar. TheuserAdmin rolü, kullanıcıların kendileri de dahil olmak üzere herhangi bir kullanıcıya herhangi bir ayrıcalık vermesine olanak tanır. userAdmin rolü aşağıdaki işlemleri açıkça sağlar: - changeCustomData
- changePassword
- createRole
- createUser
- dropRole
- dropUser
- Grant Role
- Role kaldırıldı
- viewRole
- viewUser
Küme Yönetimi RolleriYönetici veritabanı, sadece tek bir veritabanı yerine tüm sistemi yönetmek için aşağıdaki rolleri içerir. Bu roller arasında replika kümesi ve parçalanmış küme yönetici fonksiyonları bulunur ancak bunlarla sınırlı değildir. clusterAdminEn iyi küme yönetimi erişimini sağlar. Bu rol, theclusterManager, clusterMonitor ve hostManager rollerinin verdiği ayrıcalıkları birleştirir. Ayrıca, rol thedropDatabase eylemini sağlar. clusterManagerKüme üzerinde yönetim ve izleme işlemleri sağlar. Bu rolü taşıyan bir kullanıcı, sırasıyla sharding ve replikasyon için kullanılan config ve yerel veritabanlarına erişebilir. Küme genelinde aşağıdaki işlemleri sağlar: - addShard
- applicationMessage
- temizlikOrphaned
- flushRouterConfig
- listShards
- removeShard
- replSetConfigure
- replSetGetConfig
- replSetGetStatus
- replSetStateChange
- yeniden senkronize et
Kümedeki tüm veritabanları üzerinde aşağıdaki işlemleri sağlar: - enableSharding
- moveChunk
- splitChunk
- splitVector
Yapılandırma veritabanında, ayar koleksiyonunda aşağıdaki işlemler sağlanır: Yapılandırma veritabanında, tüm yapılandırma koleksiyonlarında ve thesystem.indexes, system.js ve system.namespaces koleksiyonlarında aşağıdaki işlemleri sağlar: - collStats
- dbHash
- dbStats
- bulmak
- killCursors
Yerel veritabanında, replset koleksiyonu üzerinde aşağıdaki işlemleri sağlar: - collStats
- dbHash
- dbStats
- bulmak
- killCursors
clusterMonitorMongoDB Cloud Manager ve Ops Manager izleme ajanı gibi izleme araçlarına yalnızca okunabilir erişim sağlar. Küme genelinde aşağıdaki işlemleri sağlar: - connPoolStats
- cursorInfo
- getCmdLineOpts
- getLog
- getParameter
- getShardMap
- hostInfo
- inprog
- listVeritabanları
- listShards
- Netstat
- replSetGetStatus
- replSetGetConfig
- serverStatus
- shardingState
- Sayfanın Üstü
Kümedeki tüm veritabanları üzerinde aşağıdaki işlemleri sağlar: - collStats
- dbStats
- getShardVersion
- indeksIstatistikler
Kümedeki tüm system.profile koleksiyonlarında bulma eylemini sağlar. Yapılandırma veritabanının yapılandırma koleksiyonları ve system.indexes, system.js ve system.namespaces koleksiyonlarında aşağıdaki işlemleri sağlar: - collStats
- dbHash
- dbStats
- bulmak
- killCursors
hostManagerSunucuları izleme ve yönetme imkanı sağlar. Küme genelinde aşağıdaki işlemleri sağlar: - applicationMessage
- closeAllDatabases
- connPoolSync
- cpuProfiler
- diagLogging
- flushRouterConfig
- fsync
- invaliditeUserCache
- killop
- logRotate
- yeniden senkronize et
- setParameter
- Kapanma
- dokunmak
- Kilidini aç
Kümedeki tüm veritabanları üzerinde aşağıdaki işlemleri sağlar: - killCursors
- repairDatabase
Yedek ve Restorasyon RolleriYönetici veritabanı, verileri yedekleme ve geri yükleme için aşağıdaki rolleri içerir: yedekVerileri yedeklemek için minimum ayrıcalıklar sağlar. Bu rol, theMongoDB Cloud Manager yedekleme ajanı, Ops Manager yedek ajanı kullanmak veya mongodump kullanarak tüm bir mongod örneğini yedeklemek için yeterli ayrıcalıklar sağlar. Yönetici veritabanındaki mms.backup koleksiyonunda ve yapılandırma veritabanındaki ayarlar koleksiyonunda ekleme ve güncelleme işlemlerini sağlar. Küme bütününde listDatabases eylemini sağlar. Tüm veritabanlarında listCollections eylemini sağlar. Tüm koleksiyonlar için listIndexes eylemini sağlar. Belge doğrulaması olan koleksiyonlar için bypassDocumentValidation eylemini sağlar. Aşağıdaki konularda bulma eylemini sağlar: - kümedeki tüm sistem dışı koleksiyonlar
- Kümedeki tüm sistem koleksiyonları: system.indexes, system.namespaces ve system.js
- admin.system.users ve admin.system.roles koleksiyonları
- config.settings koleksiyonu
- 2.6 öncesi MongoDB sürümlerinden eski system.users koleksiyonları
3.2.1 sürümünde değiştirildi: Yedek rolü, veritabanı profilleme ile çalışırken mevcut olan thesystem.profile koleksiyonlarını yedeklemek için ek ayrıcalıklar sağlar. Daha önce, kullanıcılar bu koleksiyonda ek bir okuma erişimi gerektiriyordu. Restoresystem.profilecollection verisini içermeyen yedeklemelerden verileri geri yüklemek için gereken ayrıcalıklar sağlar. Bu rol, --oplogReplay seçeneği olmadan mongorestore ile veri geri yüklemekte yeterlidir. Yedek veri system.profile koleksiyon verisini içeriyorsa ve hedef veritabanı system.profile koleksiyonunu içermiyorsa, mongorestore koleksiyonu oluşturmaya çalışır Program aslında system.profile belgelerini geri yüklemez. Bu nedenle, kullanıcı, bir veritabanı için system.profile koleksiyonunda createCollection ve convertToCapped işlemlerini gerçekleştirmek için ek ayrıcalıklara ihtiyaç duyar. Yerleşik roller dbAdmin ve dbAdminAnyDatabase ek ayrıcalıklar sağlar. Mongorestore ile --oplogReplay çalıştırılırsa, restore rolü oplog'u tekrar oynatmak için yeterli değildir. Oplog'u tekrar oynatmak için, anyResource üzerinde anyAction olan ve yalnızca --oplogReplay ile mongorestore çalıştırması gereken kullanıcılara verilen kullanıcı tanımlı bir rol oluşturun.
Tüm sistem dışı koleksiyonlar ve kümedeki system.js koleksiyonlar üzerinde aşağıdaki işlemleri sağlar; admin.system.users ve admin.system.roles koleksiyonlarında admin veritabanında; ve 2.6 öncesi MongoDB sürümlerinden eski system.users koleksiyonları üzerine: - collMod
- createCollection
- createIndex
- dropCollection
- insert
Tüm veritabanlarında listCollections eylemini sağlar. admin.system.users ve eski system.userscollections üzerinde aşağıdaki ek işlemleri sağlar: Kümedeki tüm system.namespaces koleksiyonlarında find eylemini sağlar. Restore uygulaması, admin.system.userscollection'daki belgeleri normal modifikasyon işlemleriyle değiştirme imkanını da içerse de, bu verileri yalnızca kullanıcı yönetimiyle değiştirin yöntemler.
Tüm Veritabanı RolleriYönetici veritabanı, bir mongod örneğindeki tüm veritabanlarına uygulanan ve tek veritabanı muadilleriyle yaklaşık olarak eşdeğer olan aşağıdaki rolleri sağlar: readAnyDatabaseOkuma ile aynı okunma izinlerini sağlar, ancak kümedeki tüm veritabanları için geçerlidir. Rol ayrıca küme üzerinde listDatabases eylemini de sağlar. readWriteAnyDatabasereadWrite ile aynı okuma ve yazma izinlerini sağlar, ancak kümedeki tüm veritabanları için geçerlidir. Rol ayrıca küme üzerinde listDatabases eylemini de sağlar. userAdminAnyDatabaseuserAdmin ile aynı kullanıcı yönetimi işlemlerine erişim sağlar, ancak kümedeki tüm veritabanları için geçerlidir. Rol ayrıca küme genelinde aşağıdaki eylemleri sağlar: - authSchemaUpgrade
- invaliditeUserCache
- listVeritabanları
Rol ayrıca admin.system.users ve admin.system.roles koleksiyonlarında ve eski system.userscollections sürümlerinde aşağıdaki işlemleri sağlar 2.6 öncesi MongoDB: - collStats
- dbHash
- dbStats
- bulmak
- killCursors
- planCacheRead
2.6.4 sürümünde değiştirildi: userAdminAnyDatabase theadmin.system.users ve admin.system.roles koleksiyonlarına aşağıdaki izinleri ekledi:
userAdminAnyDatabase rolü, kullanıcının verebileceği izinleri sınırlamaz. Sonuç olarak, userAdminAnyDatabase kullanıcıları kendilerine mevcut ayrıcalıklarının üzerinde ayrıcalıklar verebilir ve hatta tüm ayrıcalıkları kendilerine verebilirler, ancak bu rol vermese kullanıcı yönetiminin ötesinde ayrıcalıkları açıkça yetkilendirmek. Bu rol fiilen bir MongoDB sistem süper kullanıcısıdır. dbAdminAnyDatabaseDBADMIN ile aynı veritabanı yönetim işlemlerine erişim sağlar, ancak kümedeki tüm veritabanları için geçerlidir. Rol ayrıca küme üzerinde listDatabases eylemini de sağlar.
Süperkullanıcı RolleriBirçok rol dolaylı veya doğrudan sistem genelinde süper kullanıcı erişimi sağlar. Aşağıdaki roller, herhangi bir kullanıcıya herhangi bir veritabanında herhangi bir ayrıcalık atama imkanı sağlar; bu da bu rollerden birine sahip kullanıcıların herhangi bir veritabanında kendilerine herhangi bir ayrıcalık ataması anlamına gelir: - dbOwner rolü, yönetici veritabanına kapsama alındığında
- userAdmin rolü, yönetici veritabanına kapsamda
- userAdminAnyDatabase rolü
Aşağıdaki rol tüm kaynaklarda tam ayrıcalıklar sağlar: kökreadWriteAnyDatabase,dbAdminAnyDatabase, userAdminAnyDatabase, clusterAdmin rolleri, restore birleşiklerinde işlemlere ve tüm kaynaklara erişim sağlar. 3.0.7 sürümünde değiştirildi: Kök sistemde doğrulama eylemi var. koleksiyonlar. Daha önce, root' sistemle başlayan koleksiyonlara erişim içermiyordu. System.indexes ve system.namespaces dışındaki ön ek. Kök rolü, restore rolünden gelen ayrıcalıkları içerir.
İç Rol__systemMongoDB, bu rolü, küme üyelerini temsil eden kullanıcı nesnelerine, örneğin replika küme üyeleri ve mongos örneklerine atar. Bu rol, sahibine veritabanındaki herhangi bir nesneye karşı herhangi bir işlem yapma hakkı verir. Bu rolü, uygulamaları veya insan yöneticileri temsil eden kullanıcı nesnelerine atamayın, istisnai durumlar dışında. Tüm kaynaklardaki tüm işlemlere erişmeniz gerekiyorsa, örneğin applyOps komutlarını çalıştırmak için, bu rolü atamayın. Bunun yerine, anyResource üzerinde anyAction hakkı veren kullanıcı tanımlı bir rol oluşturun ve bu işlemlere erişimi olan kullanıcıların bu erişime sahip olmasını sağlayın. Orijinal: https://docs.mongodb.com/manual/reference/built-in-roles/#built-in-roles
|