Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 7537|Răspunde: 1

Tabelul rolurilor de permisiuni MongoDB

[Copiază linkul]
Postat pe 09.10.2016 17:04:10 | | |
MongoDB oferă acces la date și comenzi prin autorizare bazată pe roluri și oferă roluri integrate care oferă diferitele niveluri de acces necesare în mod obișnuit într-un sistem de baze de date. Poți, de asemenea, să creezi roluri definite de utilizator.
Un rol acordă privilegii pentru a efectua seturi de acțiuni asupra resurselor definite. Un rol dat se aplică bazei de date pe care este definit și poate acorda acces până la nivelul de granularitate al colecției.
Fiecare dintre rolurile încorporate ale MongoDB definește accesul la nivelul bazei de date pentru toate colecțiile non-sistemului din baza de date a rolului și la nivel de colecție pentru toate colecțiile de sistem.
MongoDB oferă rolurile integrate de utilizator și administrare a bazei de date pe fiecare bază de date. MongoDB oferă toate celelalte roluri integrate doar în baza de date de administratori.
Această secțiune descrie privilegiile pentru fiecare rol încorporat. De asemenea, poți vizualiza privilegiile pentru un rol încorporat oricând, emitând comanda rolesInfo cu showPrivileges și showBuiltinRolesfields ambele setate pe true.
Roluri de utilizator în baza de date
Fiecare bază de date include următoarele roluri de client:
citește
Oferă posibilitatea de a citi date pentru toate colecțiile non-system și pentru următoarele colecții de sistem: system.indexes, colecțiile system.js și system.namespaces. Rolul oferă acces la citire prin acordarea următoarelor acțiuni:
  • collStats
  • dbHash
  • dbStats
  • găsește
  • killCursors
  • listIndexes
  • listă Colecții
readWrite
Oferă toate privilegiile rolului de citire plus posibilitatea de a modifica datele din toate colecțiile non-sistem și colecția system.js. Rolul oferă următoarele acțiuni pentru aceste colecții:
  • collStats
  • convertToCap
  • createCollection
  • dbHash
  • dbStats
  • dropCollection
  • createIndex
  • dropIndex
  • Capac gol
  • găsește
  • insert
  • killCursors
  • listIndexes
  • listă Colecții
  • îndepărtează
  • renameCollectionSameDB
  • Actualizare

Roluri de administrare a bazelor de date
Fiecare bază de date include următoarele roluri de administrare a baze de date:
dbAdmin
Oferă următoarele acțiuni asupra colecțiilor system.indexes, system.namespaces și system.profile ale bazei de date:
  • collStats
  • dbHash
  • dbStats
  • găsește
  • killCursors
  • listIndexes
  • listă Colecții
  • dropCollection și createCollection doar pe system.profile
Schimbat în versiunea 2.6.4: dbAdmin a adăugat createCollection pentru system.profilecollection. Versiunile anterioare aveau dropCollection doar pe system.profile collection.

Oferă următoarele acțiuni pentru toate colecțiile non-sistem. Acest rol nu include acces complet la citire pe colecțiile non-sistem:
  • OcoleșteDocumentValidare
  • collMod
  • collStats
  • compact
  • convertToCap
  • createCollection
  • createIndex
  • dbStats
  • dropCollection
  • dropDatabase
  • dropIndex
  • enableProfiler
  • reIndex
  • renameCollectionSameDB
  • repairDatabase
  • stocareDetalii
  • validează
dbOwner
Proprietarul bazei de date poate efectua orice acțiune administrativă asupra bazei de date. Acest rol combină privilegiile acordate de rolurile readWrite, dbAdmin și userAdmin.
userAdmin
Oferă posibilitatea de a crea și modifica roluri și utilizatori în baza de date curentă. Acest rol oferă, indirect, de asemenea, acces superutilizatorului fie la baza de date, fie, dacă este inclus în baza de date administrativă, la cluster. Rolul AdministratorUtilizator permite utilizatorilor să acorde oricărui utilizator orice privilegiu, inclusiv ei înșiși.
Rolul userAdmin oferă explicit următoarele acțiuni:
  • changeCustomData
  • changePassword
  • createRole
  • createUser
  • dropRole
  • dropUser
  • GrantRol
  • revokeRol
  • viewRol
  • viewUser

Roluri de administrare a clusterelor
Baza de date a administratorilor include următoarele roluri pentru administrarea întregului sistem, nu doar a unei singure baze de date. Aceste roluri includ, dar nu se limitează la, funcții administrative de set replici și clustere fragmentate.
clusterAdmin
Oferă cel mai bun acces la managementul clusterelor. Acest rol combină privilegiile acordate de rolurile theclusterManager, clusterMonitor și hostManager. În plus, rolul oferă acțiunea dropDatabase.
clusterManager
Asigură acțiuni de management și monitorizare asupra clusterului. Un utilizator cu acest rol poate accesa bazele de date locale și config, care sunt folosite în sharding și replicare, respectiv.
Oferă următoarele acțiuni asupra întregului cluster:
  • addShard
  • applicationMessage
  • curățenieOrfan
  • flushRouterConfig
  • listShards
  • removeShard
  • replSetConfigure
  • replSetGetConfig
  • replSetGetStatus
  • replSetStateChange
  • resincronizare
Oferă următoarele acțiuni pentru toate bazele de date din cluster:
  • enpermiting Sharding
  • moveChunk
  • splitChunk
  • splitVector
În baza de date de configurare, oferă următoarele acțiuni în colecția de setări:
  • insert
  • îndepărtează
  • Actualizare
În baza de date de configurare, se oferă următoarele acțiuni pentru toate colecțiile de configurație și pentru colecțiile thesystem.indexes, system.js și system.namespaces:
  • collStats
  • dbHash
  • dbStats
  • găsește
  • killCursors
Pe baza de date locală, oferă următoarele acțiuni asupra colecției replset:
  • collStats
  • dbHash
  • dbStats
  • găsește
  • killCursors
clusterMonitor
Oferă acces doar în citire la instrumente de monitorizare, cum ar fi MongoDB Cloud Manager și agentul de monitorizare Ops Manager.
Oferă următoarele acțiuni asupra întregului cluster:
  • connPoolStats
  • cursorInfo
  • getCmdLineOpts
  • getLog
  • getParameter
  • getShardMap
  • hostInfo
  • inprog
  • listBaze de date
  • listShards
  • netstat
  • replSetGetStatus
  • replSetGetConfig
  • serverStatus
  • ShardingState
  • sus
Oferă următoarele acțiuni pentru toate bazele de date din cluster:
  • collStats
  • dbStats
  • getShardVersion
  • indexStats
Oferă acțiunea de găsire pentru toate colecțiile system.profile din cluster.
Oferă următoarele acțiuni asupra colecțiilor de configurare și colecțiilor system.indexes, system.js și system.namespaces ale bazei de date de configurație:
  • collStats
  • dbHash
  • dbStats
  • găsește
  • killCursors
hostManager
Oferă posibilitatea de a monitoriza și gestiona servere.
Oferă următoarele acțiuni asupra întregului cluster:
  • applicationMessage
  • closeAllDatabases
  • connPoolSync
  • cpuProfiler
  • diagLogging
  • flushRouterConfig
  • fsync
  • invalidateUserCache
  • killop
  • logRotate
  • resincronizare
  • setParameter
  • Închidere
  • atingere
  • Deblochează
Oferă următoarele acțiuni pentru toate bazele de date din cluster:
  • killCursors
  • repairDatabase

Roluri de backup și restaurare
Baza de date administrativă include următoarele roluri pentru backup-ul și restaurarea datelor:
Rezervă
Oferă privilegii minime necesare pentru backup-ul datelor. Acest rol oferă suficiente privilegii pentru a folosi agentul de backup MongoDB Cloud Manager, agentul de backup Ops Manager sau pentru a folosi mongodump pentru a face backup întregii instanțe mongod.
Oferă acțiunile de inserare și actualizare pe colecția mms.backup din baza de date de administrare și pe colecția de setări din baza de date de configurare.
Oferă acțiunea listDatabases asupra întregului cluster.
Oferă acțiunea listCollections pe toate bazele de date.
Oferă acțiunea listIndexes pentru toate colecțiile.
Oferă acțiunea bypassDocumentValidation pentru colecțiile care au validare a documentelor.
Oferă acțiunea de găsire a următoarelor:
  • toate colecțiile non-sistemului din cluster
  • toate următoarele colecții de sistem din cluster: system.indexes, system.namespaces și system.js
  • Colecțiile admin.system.users și admin.system.roles
  • Colecția config.settings
  • colecții vechi system.users din versiunile MongoDB anterioare 2.6
Schimbat în versiunea 3.2.1: Rolul de backup oferă privilegii suplimentare pentru a face backup la colecțiile system.profile care există atunci când rulează cu profilare a bazei de date. Anterior, utilizatorii aveau nevoie de acces suplimentar la lectură pentru această colecție.

Restaurare
Oferă privilegiile necesare pentru restaurarea datelor din backup-uri care nu includ date system.profilecollection. Acest rol este suficient atunci când se restaurează date cu mongorestore fără opțiunea --oplogReplay.
  • Dacă datele de backup includ date de colecție system.profile și baza de date țintă nu conține colecția system.profile, mongorestore încearcă să creeze colecția chiar dacă Programul nu restaurează efectiv documentele system.profile. Astfel, utilizatorul are nevoie de privilegii suplimentare pentru a efectua acțiuni createCollection și convertToCapped pe colecția system.profile pentru o bază de date.
    Rolurile încorporate dbAdmin și dbAdminAnyDatabase oferă privilegii suplimentare.
  • Dacă rulezi mongorestore cu --oplogReplay, rolul de restaurare este insuficient pentru a rejuca oplogul. Pentru a reda oplog-ul, creează un rol definit de utilizator care are anyAction pe anyResource și acordă doar utilizatorilor care trebuie să ruleze mongorestore cu --oplogReplay.

Oferă următoarele acțiuni pentru toate colecțiile non-sistemului și system.js colecții din cluster; pe colecțiile admin.system.users și admin.system.roles din baza de date de administratori; și pe colecțiile vechi system.users din versiunile MongoDB anterioare 2.6:
  • collMod
  • createCollection
  • createIndex
  • dropCollection
  • insert
Oferă acțiunea listCollections pe toate bazele de date.
Oferă următoarele acțiuni suplimentare pe admin.system.users și system.userscollections vechi:
  • găsește
  • îndepărtează
  • Actualizare
Oferă acțiunea find pentru toate colecțiile system.namespaces din cluster.
Deși, restaurarea include posibilitatea de a modifica documentele din admin.system.userscollection folosind operații normale de modificare, să modifici aceste date doar prin gestionarea utilizatorilor Metode.

Roluri exclusiv bazate de date
Baza de date de administratori oferă următoarele roluri care se aplică tuturor bazelor de date dintr-o instanță mongod și sunt aproximativ echivalente cu echivalentele lor dintr-o singură bază de date:
readAnyDatabase
Oferă aceleași permisiuni doar de citire ca și citirea, cu excepția faptului că se aplică tuturor bazelor de date din cluster. Rolul oferă, de asemenea, acțiunea listDatabases asupra întregului cluster.
readWriteAnyDatabase
Oferă aceleași permisiuni de citire și scriere ca readWrite, cu excepția faptului că se aplică tuturor bazelor de date din cluster. Rolul oferă, de asemenea, acțiunea listDatabases asupra întregului cluster.
userAdminAnyDatabase
Oferă același acces la operațiunile de administrare a utilizatorilor ca userAdmin, cu excepția faptului că se aplică tuturor bazelor de date din cluster. Rolul oferă, de asemenea, următoarele acțiuni asupra întregului cluster:
  • authSchemaUpgrade
  • invalidateUserCache
  • listBaze de date
Rolul oferă, de asemenea, următoarele acțiuni asupra colecțiilor admin.system.users și admin.system.roles din baza de date a administratorilor și asupra colecțiilor system.users vechi din versiunile MongoDB înainte de versiunea 2.6:
  • collStats
  • dbHash
  • dbStats
  • găsește
  • killCursors
  • planCacheRead
Modificat în versiunea 2.6.4: userAdminAnyDatabase a adăugat următoarele permisiuni asupra colecțiilor admin.system.users și admin.system.roles:
  • createIndex
  • dropIndex

Rolul userAdminAnyDatabase nu restricționează permisiunile pe care un utilizator le poate acorda. Ca urmare, utilizatorii userAdminAnyDatabase își pot acorda privilegii în plus față de cele actuale și chiar pot acorda toate privilegiile, chiar dacă rolul nu o face autorizați explicit privilegii dincolo de administrarea utilizatorilor. Acest rol este practic un superutilizator de sistem MongoDB.
dbAdminAnyDatabase
Oferă același acces la operațiunile de administrare a bazelor de date ca dbAdmin, cu excepția faptului că se aplică tuturor bazelor de date din cluster. Rolul oferă, de asemenea, acțiunea listDatabases asupra întregului cluster.

Roluri de superutilizator
Mai multe roluri oferă acces indirect sau direct pentru superutilizatori la nivelul întregului sistem.
Următoarele roluri oferă posibilitatea de a atribui oricărui utilizator orice privilegiu pe orice bază de date, ceea ce înseamnă că utilizatorii cu unul dintre aceste roluri își pot atribui orice privilegiu pe orice bază de date:
  • Rol dbOwner, când este extins în baza de date de administratori
  • rolul userAdmin, când este încadrat în baza de date de administratori
  • rolul userAdminAnyDatabase
Următorul rol oferă privilegii complete asupra tuturor resurselor:
rădăcină
Oferă acces la operațiunile și toate resursele readWriteAnyDatabase, dbAdminAnyDatabase, userAdminAnyDatabase, clusterAdmin, rolurile de restaurare combinate.
Schimbat în versiunea 3.0.7: Root-ul are acțiunea de validare a sistemului. Colecții. Anterior, root nu includea acces la colecțiile care încep cu sistemul. prefix other thansystem.indexes și system.namespaces.
Rolul rădăcină include privilegii din rolul de restaurare.


Rol intern__system
MongoDB atribuie acest rol obiectelor utilizator care reprezintă membri ai clusterului, cum ar fi membrii mulțimii replici și instanțele mongos. Rolul îi conferă titularului dreptul de a lua orice acțiune împotriva oricărui obiect din baza de date.
Nu atribuiți acest rol obiectelor utilizator care reprezintă aplicații sau administratori umani, decât în circumstanțe excepționale.
Dacă ai nevoie de acces la toate acțiunile de pe toate resursele, de exemplu pentru a rula comenzi applyOps, nu atribui acest rol. În schimb, creează un rol definit de utilizator care acordă anyAction pe anyResource și asigură-te că doar utilizatorii care au nevoie de acces la aceste operațiuni au acest acces.
Original: https://docs.mongodb.com/manual/reference/built-in-roles/#built-in-roles






Precedent:Reflecția C# primește numele de afișare al proprietății obiectului
Următor:Creează un cont și o parolă pentru a te conecta pe MongoDb
 Proprietarul| Postat pe 09.10.2016 17:33:26 |
Creează un cont și o parolă pentru a te conecta pe MongoDb
http://www.itsvse.com/thread-3221-1-1.html
(Sursa: Code Agriculture Network)
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com