|
A MongoDB szerepalapú hitelesítéssel biztosít hozzáférést adatokhoz és parancsokhoz, valamint beépített szerepeket biztosít, amelyek az adatbázis rendszerében gyakran szükséges különböző hozzáférési szinteket biztosítják. Emellett létrehozhatsz felhasználó által definiált szerepeket is. Egy szerep jogosultságot ad meghatározott erőforrásokon végrehajtandó műveleti halmazok végrehajtására. Egy adott szerep arra az adatbázisra vonatkozik, amelyen definiálták, és hozzáférést adhat egy gyűjtemény részletességi szintjére. A MongoDB beépített szerepei mindegyik adatbázis szintjén határozzák meg a hozzáférést az összes nem rendszergyűjtemény számára a szerep adatbázisában, valamint a gyűjtemény szintjén az összes rendszergyűjtemény esetében. A MongoDB minden adatbázishoz beépített adatbázis-felhasználói és adatbázis-adminisztrációs feladatokat biztosít. A MongoDB minden más beépített szerepet csak az admin adatbázisban biztosít. Ez a rész bemutatja az egyes beépített szerepek jogosultságait. Bármikor megtekintheted a beépített szerep jogosultságait úgy, hogy megadod a rolesInfo parancsot, ahol a showPrivileges és a showBuiltinRolesfields mindkettő true-ra van állítva. Adatbázis-felhasználói szerepekMinden adatbázis tartalmazza a következő kliensszerepeket: Olvasd elLehetővé teszi az adatok olvasását minden nem rendszergyűjteményről, valamint a következő rendszergyűjteményekről: system.indexes, system.js és system.namespaces gyűjtemények. A szerep olvasási hozzáférést biztosít az alábbi műveletek engedélyezésével: - collStats
- dbHash
- dbStats
- találni
- killCursors
- listIndexek
- lista Gyűjtemények
readWriteBiztosítja az olvasási szerep minden jogosultságát, valamint az adatok módosítását minden nem rendszeres gyűjteményen és a system.js gyűjteményen. A szerepkör az alábbi intézkedéseket biztosítja ezeken a gyűjteményeknél: - collStats
- convertToCapped
- createCollection
- dbHash
- dbStats
- dropCollection
- createIndex
- dropIndex
- üres sapka
- találni
- Insert
- killCursors
- listIndexek
- lista Gyűjtemények
- Eltávolítani
- renameCollectionSameDB
- Frissítés
Adatbázis-adminisztrációs szerepekMinden adatbázis tartalmazza az alábbi adatbázis-adminisztrációs szerepeket: dbAdminAz alábbi műveleteket biztosítja az adatbázis system.indexes-ein, system.namespace-jein és system.profile gyűjteményeiben: - collStats
- dbHash
- dbStats
- találni
- killCursors
- listIndexek
- lista Gyűjtemények
- dropCollection és createCollection csak a system.profile oldalon
A 2.6.4-es verzióban módosítva: dbAdmin hozzáadta a createCollection-et a system.profilecollection fájlhoz. A korábbi verziókban csak a dropCollection szerepelt a system.profile gyűjteményben.
Az alábbi műveleteket biztosítja minden nem rendszer-gyűjteményen. Ez a szerep nem tartalmazza a teljes olvasási hozzáférést nem rendszeres gyűjteményeken: - bypassDocumentValidation
- collMod
- collStats
- kompakt
- convertToCapped
- createCollection
- createIndex
- dbStats
- dropCollection
- dropDatabase
- dropIndex
- enableProfiler
- reIndex
- renameCollectionSameDB
- repairDatabase
- Tárolás Részletek
- Validáld
dbTulajdonosAz adatbázis tulajdonosa bármilyen adminisztratív műveletet végrehajthat az adatbázison. Ez a szerep ötvözi a readWrite, dbAdmin és userAdmin szerepkörek által biztosított jogosultságokat. userAdminLehetővé teszi szerepek és felhasználók létrehozását és módosítását a jelenlegi adatbázison. Ez a szerep közvetve hozzáférést biztosít a szuperfelhasználók számára az adatbázishoz, vagy ha az admin adatbázisra korlátozódik, a klaszterhez. TheuserAdmin szerep lehetővé teszi a felhasználók számára, hogy bármely felhasználónak bármilyen jogot megadjanak, beleértve magukat is. A userAdmin szerep kifejezetten az alábbi műveleteket biztosítja: - changeCustomData
- changePassword
- createRole
- createUser
- dropRole
- dropUser
- TámogatásSzerep
- revoSzerep
- viewRole
- viewUser
Klaszteradminisztrációs szerepekAz admin adatbázis az alábbi szerepeket tartalmazza az egész rendszer adminisztrációjához, nem csak egyetlen adatbázist. Ezek a szerepkörek közé tartoznak, de nem kizárólagosan, a replika halmaz- és sharded klaszter-adminisztratív funkciók. clusterAdminA legnagyobb klaszter-menedzsment hozzáférést biztosítja. Ez a szerep ötvözi a theclusterManager, clusterMonitor és hostManager szerepkörek által biztosított jogosultságokat. Ezen felül a szerep thedropDatabase akciót is biztosít. clusterManagerMenedzsment és monitoring műveleteket biztosít a klaszteren. Egy ilyen szerepkörrel rendelkező felhasználó hozzáférhet a config és helyi adatbázisokhoz, amelyeket sharding-hez és replikációhoz használnak. Az alábbi műveleteket biztosítja a klaszterre nézve: - addShard
- applicationMessage
- takarításOrphaned
- flushRouterConfig
- listShards
- removeShard
- replSetConfigure
- replSetGetConfig
- replSetGetStatus
- replSetStateChange
- Újraszinkronizálás
Az alábbi műveleteket biztosítja a klaszter összes adatbázisán: - enableSharding
- moveChunk
- splitChunk
- splitVector
A konfigurációs adatbázisban a beállítások gyűjteményében a következő műveletek találhatók: - Insert
- Eltávolítani
- Frissítés
A konfigurációs adatbázisban az alábbi műveleteket biztosítja minden konfigurációs gyűjteményen, valamint a thesystem.indexes, system.js és system.namespaces gyűjteményeken: - collStats
- dbHash
- dbStats
- találni
- killCursors
A helyi adatbázisban a következő műveleteket biztosítja a replset gyűjteményen: - collStats
- dbHash
- dbStats
- találni
- killCursors
clusterMonitorCsak olvasási hozzáférést biztosít a megfigyelő eszközökhöz, mint például a MongoDB Cloud Manager és az Ops Manager monitorozó ügynök. Az alábbi műveleteket biztosítja a klaszterre nézve: - connPoolStats
- cursorInfo
- getCmdLineOpts
- getLog
- getParameter
- getShardMap
- hostInfo
- inprog
- listAdatbázisok
- listShards
- Netstat
- replSetGetStatus
- replSetGetConfig
- serverStatus
- shardingState
- Felső
Az alábbi műveleteket biztosítja a klaszter összes adatbázisán: - collStats
- dbStats
- getShardVersion
- indexStats
Megadja a Find műveletet az összes system.profile gyűjteményen a klaszterben. A konfigurációs adatbázis konfigurációs gyűjteményei, valamint system.indexes, system.js és system.namespaces gyűjteményeiben az alábbi műveleteket biztosítja: - collStats
- dbHash
- dbStats
- találni
- killCursors
hostManagerLehetővé teszi a szerverek figyelését és kezelését. Az alábbi műveleteket biztosítja a klaszterre nézve: - applicationMessage
- closeAllDatabases
- connPoolSync
- cpuProfiler
- diagLogging
- flushRouterConfig
- fsync
- invalidateUserCache
- Killop
- logRotate
- Újraszinkronizálás
- setParameter
- Leállás
- Érint
- Unlock
Az alábbi műveleteket biztosítja a klaszter összes adatbázisán: - killCursors
- repairDatabase
Biztonsági és helyreállítási szerepekAz adminisztrátori adatbázis az alábbi feladatokat tartalmazza az adatok mentésére és visszaállítására: Biztonsági mentésMinimális jogosultságokat biztosít az adatok mentéséhez. Ez a szerep elegendő jogosultságot biztosít a theMongoDB Cloud Manager biztonsági mentési ügynök, az Ops Manager biztonsági mentési ügynök, vagy a mongodump segítségével egy egész mongod példány mentelésére. Biztosítja a beillesztési és frissítési műveleteket az admin adatbázis mms.backup gyűjteményében, valamint a konfigurációs adatbázis beállítási gyűjteményében. Megadja a listDatabases műveletet a klaszterben teljes egészében. Minden adatbázisban megadja a listCollections műveletet. Minden gyűjteményhez megadja a listIndexes műveletet. Biztosítja a bypassDocumentValidation műveletet olyan gyűjteményeknél, amelyekben dokumentum validáció van. Megadja a keresési műveletet a következők területén: - az összes nem rendszer-gyűjtemény a klaszterben
- Az alábbi rendszergyűjtemények a klaszterben: system.indexes, system.namespaces és system.js
- az admin.system.users és admin.system.roles gyűjtemények
- a config.settings gyűjtemény
- a régi system.users gyűjtemények a MongoDB 2.6 előtti verziókból
A 3.2.1-es verzióban módosítva: a biztonsági mentési szerep további jogosultságokat biztosít a thesystem.profile gyűjtemények mentéséhez, amelyek adatbázis-profilozással futva léteznek. Korábban a felhasználóknak további olvasási hozzáférést kellett ehhez a gyűjteményhez. HelyreállításBiztosít olyan jogosultságokat, amelyek szükséges az adatok visszaállításához olyan mentésekből, amelyek nem tartalmazzák a system.profilecollection adatokat. Ez a szerep elegendő, amikor adatokat állítunk vissza mongorestore segítségével --oplogReplay opció nélkül. Ha a biztonsági mentési adatok system.profile gyűjteményt tartalmaznak, és a cél adatbázis nem tartalmazza a system.profile gyűjteményt, a mongorestore megpróbálja létrehozni a gyűjteményt, még akkor is, ha A program valójában nem állítja vissza a system.profile dokumentumokat. Ennek megfelelően a felhasználónak további jogosultságokra van szüksége a createCollection és convertToCapped műveletek végrehajtásához a system.profile gyűjteményen egy adatbázis számára. A beépített szerepek, a dbAdmin és a dbAdminAnyDatabase további jogosultságokat biztosítanak. Ha a mongorestore --oplogReplay segítségével futtatja, a visszaállítási szerep nem elegendő az oplog újrajátszásához. Az oplog újrajátszásához hozz létre egy felhasználó által definiált szerepet, amelyben anyAction van anyResource szerveren, és csak azoknak a felhasználóknak kell használnia, akiknek a mongorestore-t futtatniuk --oplogReplay-vel.
Az alábbi műveleteket biztosítja minden nem rendszeres gyűjteményen és system.js gyűjteményen a klaszterben; az admin.system.users és admin.system.roles gyűjteményekben az admin adatbázisban; valamint a régi system.users gyűjteményeken a MongoDB 2.6 előtti verziókból: - collMod
- createCollection
- createIndex
- dropCollection
- Insert
Minden adatbázisban megadja a listCollections műveletet. Az alábbi további műveleteket biztosítja az admin.system.users és a legacy system.userscollections rendszerekhez: - találni
- Eltávolítani
- Frissítés
Biztosítja a find műveletet az összes system.namespaces gyűjteményen a klaszterben. Bár a visszaállítás magában foglalja a admin.system.userscollection dokumentumainak módosítását normál módosítási műveletekkel, csak a felhasználói menedzsment segítségével módosíthatja ezeket az adatokat módszerek.
Teljes adatbázis szerepekAz admin adatbázis az alábbi szerepköreket biztosítja, amelyek minden adatbázisra vonatkoznak egy mongod példányban, és nagyjából egyenértékűek az egyetlen adatbázis megfelelőikkel: readAnyDatabaseUgyanazokat az olvasási jogokat biztosítja, mint az olvasás, csak az összes klaszterbeli adatbázisra vonatkozik. A szerep a listDatabases műveletet is biztosítja a klaszterben teljes egészében. readWriteAnyDatabaseUgyanazokat az olvasási és írási jogokat biztosítja, mint a readWrite, csak ez a klaszter összes adatbázisára vonatkozik. A szerep a listDatabases műveletet is biztosítja a klaszterben teljes egészében. userAdminAnyDatabaseUgyanazt a hozzáférést biztosítja a felhasználói adminisztrációs műveletekhez, mint a userAdmin, kivéve, hogy ez a klaszter összes adatbázisára vonatkozik. A szerepkör a klaszter egészén az alábbi műveleteket is tartalmazza: - authSchemaUpgrade
- invalidateUserCache
- listAdatbázisok
A szerepkör az alábbi műveleteket is tartalmazza az admin.system.users és admin.system.roles gyűjteményein az admin adatbázison, valamint a régi system.userscollections verziókból származó MongoDB a 2.6 előtt: - collStats
- dbHash
- dbStats
- találni
- killCursors
- planCacheRead
Megváltoztatva a 2.6.4-es verzióban: userAdminAnyDatabase a következő jogosultságokat adta a theadmin.system.users és admin.system.roles gyűjteményekhez:
A userAdminAnyDatabase szerep nem korlátozza a felhasználó által adott jogosultságokat. Ennek eredményeként a userAdminAnyDatabase felhasználói a jelenlegi jogosultságaikon felül adhatnak maguknak olyan jogosultságokat, amelyek meghaladják a jelenlegi jogosultságaikat, sőt, minden jogosultságot is megadhatnak maguknak, még akkor is, ha a szerep nem teszi ezt Kifejezetten engedélyezzen a felhasználói adminisztráción túli jogosultságokat. Ez a szerep lényegében MongoDB rendszer szuperfelhasználója. dbAdminAnyDatabaseUgyanazt az adatbázis-adminisztrációs műveletekhez biztosítja, mint a dbAdmin, kivéve, hogy a klaszter összes adatbázisára vonatkozik. A szerep a listDatabases műveletet is biztosítja a klaszterben teljes egészében.
Szuperfelhasználói szerepekSzámos szerep közvetett, vagy közvetlen rendszerszintű szuperfelhasználói hozzáférést biztosít. A következő szerepkör lehetővé teszi, hogy bármely felhasználónak bármilyen jogosultságot rendeljen bármely adatbázison, ami azt jelenti, hogy ezek közül valamelyik szerepkörrel rendelkező felhasználók bármely adatbázisban bármilyen jogosultságot kioszthatnak maguknak: - dbOwner szerep, amikor adminisztratív adatbázisban van
- userAdmin szerep, amikor admin adatbázisban van
- userAdminAnyDatabase szerep
Az alábbi szerepkör teljes jogjogokat biztosít minden erőforrásra: gyökérHozzáférést biztosít a readWriteAnyDatabase, dbAdminAnyDatabase, userAdminAnyDatabase, clusterAdmin szerepek, valamint a helyreállítás egyesített műveleteihez és erőforrásaihoz. Módosítva a 3.0.7-es verzióban: A gyökér validálási műveletet kapott a rendszeren. gyűjtemények. Korábban a root-ok nem tartalmaznak hozzáférést olyan gyűjteményekhez, amelyek a rendszerrel kezdődnek. előtag, ami nem a system.indexes és a system.namespaces. A root szerep magában foglalja a helyreállítási szerepből származó jogosultságokat.
Belső szerep__systemA MongoDB ezt a szerepet a klaszter tagjait képviselő felhasználói objektumokhoz rendeli, például replika halmaztagokat és Mongos példányokat. A szerep jogosult a birtokának, hogy bármilyen intézkedést tegyen bármely objektum ellen az adatbázisban. Ezt a szerepet ne rendelje felhasználói objektumokhoz, amelyek alkalmazásokat vagy emberi adminisztrátorokat képviselnek, kivéve kivételes helyzetekben. Ha minden erőforráson minden művelethez hozzá kell férni, például az applyOps parancsok futtatásához, ne rendeld hozzá ezt a szerepet. Ehelyett hozz létre egy felhasználó által definiált szerepet, amely anyAction-t biztosít anyResource eszközön, és biztosítsák, hogy csak azok a felhasználók, akiknek hozzáférésre van szükségük ezekhez a műveletekhez. Eredeti: https://docs.mongodb.com/manual/reference/built-in-roles/#built-in-roles
|