|
MongoDB suteikia prieigą prie duomenų ir komandų per vaidmenimis pagrįstą autorizaciją ir suteikia integruotus vaidmenis, kurie suteikia skirtingus prieigos lygius, kurių paprastai reikia duomenų bazių sistemoje. Galite papildomai kurti vartotojo apibrėžtus vaidmenis. Vaidmuo suteikia teises atlikti veiksmų rinkinius su apibrėžtais ištekliais. Tam tikras vaidmuo taikomas duomenų bazei, kurioje jis apibrėžtas, ir gali suteikti prieigą iki rinkinio detalumo lygio. Kiekvienas iš MongoDB integruotų vaidmenų apibrėžia prieigą duomenų bazės lygiu visoms ne sistemos kolekcijoms vaidmens duomenų bazėje ir visų sistemos kolekcijų rinkinio lygiu. MongoDB suteikia integruotus duomenų bazės vartotojo ir duomenų bazės administravimo vaidmenis kiekvienoje duomenų bazėje. MongoDB visus kitus integruotus vaidmenis teikia tik administratoriaus duomenų bazėje. Šiame skyriuje aprašomos kiekvieno įtaisytojo vaidmens teisės. Taip pat galite bet kada peržiūrėti įtaisytojo vaidmens teises išleisdami komandą rolesInfo su laukais showPrivileges ir showBuiltinRoles. Duomenų bazės vartotojų vaidmenysKiekvienoje duomenų bazėje yra šie klientų vaidmenys: Skaityti DaugiauSuteikia galimybę skaityti duomenis visuose ne sistemos rinkiniuose ir šiuose sistemų rinkiniuose:system.indexes, system.js ir system.namespaces rinkiniuose. Šis vaidmuo suteikia skaitymo prieigą suteikiant šiuos veiksmus: - collStats
- dbHash
- dbStatistika
- rasti
- killCursors
- listIndexes
- sąrašasKolekcijos
skaitytiRašytiSuteikia visas skaitymo vaidmens teises ir galimybę modifikuoti duomenis visuose ne sistemos rinkiniuose ir system.js rinkinyje. Šis vaidmuo atlieka šiuos veiksmus su šiais rinkiniais: - collStats
- convertToCapped
- sukurti kolekciją
- dbHash
- dbStatistika
- lašų kolekcija
- kurtiIndeksas
- dropIndex
- tuščias dangtelis
- rasti
- Įterpti
- killCursors
- listIndexes
- sąrašasKolekcijos
- pašalinti
- pervardytiCollectionSameDB
- Atnaujinti
Duomenų bazės administravimo vaidmenysKiekvienoje duomenų bazėje yra šie duomenų bazės administravimo vaidmenys: dbAdminPateikia šiuos veiksmus duomenų bazės rinkiniuose system.indexes, system.namespaces ir system.profile: - collStats
- dbHash
- dbStatistika
- rasti
- killCursors
- listIndexes
- sąrašasKolekcijos
- dropCollection ir createCollection tik system.profile
Pakeista 2.6.4 versijoje: dbAdmin pridėjo system.profilecollection createCollection. Ankstesnėse versijose dropCollection buvo tik rinkinyje system.profile.
Pateikia šiuos veiksmus visuose ne sistemos rinkiniuose. Šis vaidmuo neapima visiškos skaitymo prieigos ne sistemos rinkiniuose: - bypassDocumentValidation
- collMod
- collStats
- kompaktiškas
- convertToCapped
- sukurti kolekciją
- kurtiIndeksas
- dbStatistika
- lašų kolekcija
- dropDatabase
- dropIndex
- enableProfiler
- perindeksas
- pervardytiCollectionSameDB
- taisytiDuomenų bazė
- saugyklaIšsami informacija
- Patvirtinti
dbSavininkasDuomenų bazės savininkas gali atlikti bet kokį duomenų bazės administravimo veiksmą. Šis vaidmuo sujungia teises, kurias suteikia readWrite, dbAdmin ir userAdmin vaidmenys. vartotojasAdministratoriusSuteikia galimybę kurti ir modifikuoti vaidmenis ir vartotojus dabartinėje duomenų bazėje. Šis vaidmuo taip pat netiesiogiai suteikia supervartotojo prieigą prie duomenų bazės arba, jei aprėpiama administratoriaus duomenų bazėje, klasterio. TheuserAdmin vaidmuo leidžia vartotojams suteikti bet kuriam vartotojui bet kokias teises, įskaitant save. Vartotojo administratoriaus vaidmuo aiškiai pateikia šiuos veiksmus: - keistiCustomData
- keisti slaptažodį
- createRole
- Sukurti Vartotojas
- dropRole
- lašas Vartotojas
- grantRole
- atšauktiVaidmuo
- viewRole
- peržiūrėtiVartotojas
Klasterio administravimo vaidmenysAdministratoriaus duomenų bazėje yra šie vaidmenys, skirti administruoti visą sistemą, o ne tik vieną duomenų bazę. Šie vaidmenys apima, bet neapsiriboja, replikų rinkinio ir suskaidyto klasterio administravimo funkcijas. clusterAdminSuteikia didžiausią klasterio valdymo prieigą. Šis vaidmuo sujungia teises, kurias suteikia vaidmenys clusterManager, clusterMonitor ir hostManager. Be to, vaidmuo teikialašasDuomenų bazės veiksmas. klasterio valdytojasTeikia klasterio valdymo ir stebėsenos veiksmus. Vartotojas, turintis šį vaidmenį, gali pasiekti vietines konfigūracijos duomenų bazes, kurios naudojamos atitinkamai skaidymui ir replikavimui. Pateikiami šie veiksmai visoje klasteryje: - addShard
- applicationMessage
- cleanupOrphaned
- flushRouterConfig
- sąrašasŠukės
- pašalintiShard
- replSetConfigure
- replSetGetConfig
- replSetGetStatus
- replSetStateChange
- Sinchronizuoti iš naujo
Pateikia šiuos veiksmus visose klasterio duomenų bazėse: - įgalinti skaldymą
- moveChunk
- splitChunk
- padalintas vektorius
Konfigūracijos duomenų bazėje pateikiami šie parametrų rinkinio veiksmai: - Įterpti
- pašalinti
- Atnaujinti
Konfigūracijos duomenų bazėje pateikiami šie veiksmai visuose konfigūracijos rinkiniuose ir sistemos.indeksų, system.js ir sistemos.vardų sričių rinkiniuose: - collStats
- dbHash
- dbStatistika
- rasti
- killCursors
Vietinėje duomenų bazėje pateikia šiuos veiksmus su replset rinkiniu: - collStats
- dbHash
- dbStatistika
- rasti
- killCursors
clusterMonitorSuteikia tik skaitymo prieigą prie stebėjimo įrankių, tokių kaip "MongoDB Cloud Manager" ir "Ops Manager" stebėjimo agentas. Pateikiami šie veiksmai visoje klasteryje: - connPoolStatistika
- žymeklisInformacija
- getCmdLineOpts
- getLog
- getParameter
- getShardMap
- hostInformacija
- inprog
- sąrašasDuomenų bazės
- sąrašasŠukės
- netstat
- replSetGetStatus
- replSetGetConfig
- serverio būsena
- shardingState
- Į viršų
Pateikia šiuos veiksmus visose klasterio duomenų bazėse: - collStats
- dbStatistika
- getShardVersion
- indexStats
Pateikia ieškojimo veiksmą visuose klasterio system.profile rinkiniuose. Pateikia šiuos veiksmus konfigūracijos duomenų bazės konfigūracijų rinkiniuose ir system.indexes, system.js ir system.namespaces rinkiniuose: - collStats
- dbHash
- dbStatistika
- rasti
- killCursors
hostManagerSuteikia galimybę stebėti ir valdyti serverius. Pateikiami šie veiksmai visoje klasteryje: - applicationMessage
- closeAllDatabases
- connPoolSync
- procesoriaus profiliuotojas
- diagLogging
- flushRouterConfig
- fsync
- invalidateUserCache
- killopas
- logRotate
- Sinchronizuoti iš naujo
- setParameter
- išjungimas
- Liesti
- atrakinti
Pateikia šiuos veiksmus visose klasterio duomenų bazėse: - killCursors
- taisytiDuomenų bazė
Atsarginių kopijų kūrimo ir atkūrimo vaidmenysAdministratoriaus duomenų bazėje yra šie vaidmenys, skirti atsarginėms duomenų kopijoms kurti ir atkurti: atsarginė kopijaSuteikia minimalias teises, reikalingas atsarginėms duomenų kopijoms kurti. Šis vaidmuo suteikia pakankamai teisių naudotiMongoDB Cloud Manager atsarginės kopijos agentas, Ops Manager atsarginės kopijos agentas arba naudoti mongodump viso mongod egzemplioriaus atsarginei kopijai sukurti. Pateikia įterpimo ir naujinimo veiksmus mms.backup rinkinyje administravimo duomenų bazėje ir parametrų rinkinyje konfigūracijos duomenų bazėje. Pateikia veiksmą listDatabases visame klasteryje. Pateikia veiksmą listCollections visose duomenų bazėse. Pateikia visų rinkinių veiksmą listIndexes. Pateikia veiksmą bypassDocumentValidation rinkiniams, kuriuose yra dokumentų tikrinimas. Pateikia ieškojimo veiksmą: - Visi ne sistemos rinkiniai klasteryje
- Visi šie klasterio sistemų rinkiniai: System.indexes, System.Namespaces ir system.js
- Rinkiniai admin.system.users ir admin.system.roles
- Rinkinys config.settings
- senosios system.users kolekcijos iš MongoDB versijų iki 2.6
Pakeista 3.2.1 versijoje: atsarginės kopijos vaidmuo suteikia papildomų teisių kurti atsargines sistemos.profilio rinkinių, esančių vykdant duomenų bazės profiliavimą, atsargines kopijas. Anksčiau vartotojams reikėjo papildomos skaitymo prieigos prie šio rinkinio. AtkurtiSuteikia teises, reikalingas atkurti duomenis iš atsarginių kopijų, kuriose nėra system.profilecollection duomenų. Šio vaidmens pakanka atkuriant duomenis naudojant mongorestore be parinkties --oplogReplay. Jei atsarginės kopijos duomenys apima system.profile rinkinio duomenis, o paskirties duomenų bazėje nėra system.profile rinkinio, mongorestore bando sukurti rinkinį, nors Programa iš tikrųjų neatkuria System.Profile dokumentų. Todėl vartotojui reikia papildomų teisių, kad galėtų atlikti createCollection ir convertToCapped veiksmus duomenų bazės system.profile rinkinyje. Integruoti vaidmenys dbAdmin ir dbAdminAnyDatabase suteikia papildomų teisių. Jei paleidžiate mongorestore su --oplogReplay, atkūrimo vaidmens nepakanka pakartoti oplog. Norėdami pakartoti oplog, sukurkite vartotojo apibrėžtą vaidmenį, kuris turi anyAction anyResource ir suteikite tik tiems vartotojams, kurie turi paleisti mongorestore su --oplogReplay.
Pateikiami šie veiksmai su visais klasterio ne sistemos rinkiniais ir system.js rinkiniais; administratoriaus duomenų bazės rinkiniuose admin.system.users ir admin.system.roles; ir senuose system.users rinkiniuose iš MongoDB versijų iki 2.6: - collMod
- sukurti kolekciją
- kurtiIndeksas
- lašų kolekcija
- Įterpti
Pateikia veiksmą listCollections visose duomenų bazėse. Pateikia šiuos papildomus veiksmus admin.system.users ir senstelėjusiose system.userscollections: Pateikia ieškojimo veiksmą visuose klasterio system.namespaces rinkiniuose. Nors atkūrimas apima galimybę modifikuoti dokumentus admin.system.userscollection naudojant įprastas modifikavimo operacijas, modifikuokite šiuos duomenis tik naudodami vartotojų valdymą metodus.
Visos duomenų bazės vaidmenysAdministratoriaus duomenų bazėje pateikiami šie vaidmenys, kurie taikomi visoms duomenų bazėms mongod egzemplioriuje ir yra maždaug lygiaverčiai jų vienos duomenų bazės atitikmenims: readAnyDatabaseSuteikia tas pačias tik skaitymo teises kaip ir skaitymo, išskyrus tai, kad ji taikoma visoms klasterio duomenų bazėms. Šis vaidmuo taip pat pateikia veiksmą listDatabases visame klasteryje. readWriteAnyDatabaseSuteikia tas pačias skaitymo ir rašymo teises kaip ir readWrite, išskyrus tai, kad ji taikoma visoms klasterio duomenų bazėms. Šis vaidmuo taip pat pateikia veiksmą listDatabases visame klasteryje. userAdminAnyDatabaseSuteikia tokią pačią prieigą prie vartotojų administravimo operacijų kaip ir userAdmin, išskyrus tai, kad ji taikoma visoms klasterio duomenų bazėms. Šiame vaidmenyje taip pat numatyti šie veiksmai visoje grupėje: - authSchemaUpgrade
- invalidateUserCache
- sąrašasDuomenų bazės
Šis vaidmuo taip pat atlieka šiuos veiksmus admin.system.users ir admin.system.roles rinkiniuose administratoriaus duomenų bazėje ir senstelėjusiuose system.userscollections iš versijų MongoDB iki 2.6: - collStats
- dbHash
- dbStatistika
- rasti
- killCursors
- planCacheRead
Pakeista 2.6.4 versijoje: userAdminAnyDatabase pridėjo šias teises į admin.system.users ir admin.system.roles rinkinius:
Vaidmuo userAdminAnyDatabase neriboja teisių, kurias vartotojas gali suteikti. Dėl to userAdminAnyDatabase vartotojai gali suteikti sau privilegijas, viršijančias dabartines teises, ir netgi gali suteikti sau visas privilegijas, nors vaidmuo to nedaro aiškiai įgalioti teises, nesusijusias su vartotojo administravimu. Šis vaidmuo iš tikrųjų yra MongoDB sistemos supervartotojas. dbAdminAnyDatabaseSuteikia tokią pačią prieigą prie duomenų bazės administravimo operacijų kaip ir dbAdmin, išskyrus tai, kad ji taikoma visoms klasterio duomenų bazėms. Šis vaidmuo taip pat pateikia veiksmą listDatabases visame klasteryje.
Supervartotojo vaidmenysKeli vaidmenys suteikia netiesioginę arba tiesioginę prieigą prie visos sistemos supernaudotojo. Šie vaidmenys suteikia galimybę bet kuriam vartotojui priskirti bet kokias teises bet kurioje duomenų bazėje, o tai reiškia, kad vartotojai, turintys vieną iš šių vaidmenų, gali priskirti sau bet kokias teises bet kurioje duomenų bazėje: - dbOwner vaidmuo, kai aprėpiama administratoriaus duomenų bazė
- userAdmin vaidmuo, kai aprėpiama administratoriaus duomenų bazė
- userAdminAnyDatabase vaidmuo
Šis vaidmuo suteikia visas teises visuose ištekliuose: šaknisSuteikia prieigą prie operacijų ir visų išteklių readWriteAnyDatabase,dbAdminAnyDatabase, userAdminAnyDatabase, clusterAdmin vaidmenys, atkurti kartu. Pakeista 3.0.7 versijoje: šaknis turi patvirtinti veiksmą sistemoje. kolekcijas. Anksčiau rootneapima jokios prieigos prie kolekcijų, kurios prasideda nuo sistemos. priešdėlis, išskyrus system.indexes ir system.namespaces. Šakninis vaidmuo apima atkūrimo vaidmens teises.
Vidinis vaidmuo__systemMongoDB priskiria šį vaidmenį vartotojo objektams, atstovaujantiems klasterio nariams, pvz., replikų rinkinio nariams ir mongos egzemplioriams. Šis vaidmuo suteikia teisę jo turėtojui imtis bet kokių veiksmų prieš bet kurį duomenų bazės objektą. Nepriskirkite šio vaidmens vartotojo objektams, atstovaujantiems programoms ar administratoriams, išskyrus išimtines aplinkybes. Jei jums reikia prieigos prie visų veiksmų su visais ištekliais, pvz., norint paleisti applyOps komandas, nepriskirkite šio vaidmens. Vietoj to sukurkite vartotojo apibrėžtą vaidmenį, kuris suteikia anyAction anyResource ir užtikrinkite, kad šią prieigą turėtų tik vartotojai, kuriems reikia prieigos prie šių operacijų. Originalas: https://docs.mongodb.com/manual/reference/built-in-roles/#built-in-roles
|