|
MongoDB gir tilgang til data og kommandoer gjennom rollebasert autorisasjon og tilbyr innebygde roller som gir de ulike tilgangsnivåene som vanligvis trengs i et databasesystem. Du kan i tillegg opprette brukerdefinerte roller. En rolle gir privilegier til å utføre sett av handlinger på definerte ressurser. En gitt rolle gjelder for databasen den er definert på, og kan gi tilgang ned til et samlingsnivå av granularitet. Hver av MongoDBs innebygde roller definerer tilgang på databasenivå for alle ikke-systemsamlinger i rollens database og på samlingsnivå for alle systemsamlinger. MongoDB tilbyr de innebygde database-bruker- og databaseadministrasjonsrollene på hver database. MongoDB tilbyr alle andre innebygde roller kun i administrasjonsdatabasen. Denne seksjonen beskriver privilegiene for hver innebygde rolle. Du kan også se privilegiene for en innebygd rolle når som helst ved å sende kommandoen rolesInfo, med showPrivileges og showBuiltinRolesfields begge satt til true. Database-brukerrollerHver database inkluderer følgende klientroller: LesGir mulighet til å lese data på alle ikke-system-samlinger og på følgende systemsamlinger: system.indexes, system.js og system.namespaces-samlinger. Rollen gir lesetilgang ved å gi følgende handlinger: - collStats
- dbHash
- dbStats
- finn
- killCursors
- listeIndekser
- listeSamlinger
readWriteGir alle privilegiene til leserollen pluss mulighet til å endre data på alle ikke-system-samlinger og system.js-samlingen. Rollen gir følgende handlinger på disse samlingene: - collStats
- convertToCapped
- createCollection
- dbHash
- dbStats
- dropCollection
- createIndex
- dropIndex
- Emptycapped
- finn
- Sett inn
- killCursors
- listeIndekser
- listeSamlinger
- Fjern
- renameCollectionSameDB
- Oppdatering
DatabaseadministrasjonsrollerHver database inkluderer følgende databaseadministrasjonsroller: dbAdminGir følgende handlinger på databasens system.indexes, system.namespaces og system.profile-samlinger: - collStats
- dbHash
- dbStats
- finn
- killCursors
- listeIndekser
- listeSamlinger
- dropCollection og createCollection kun på system.profile
Endret i versjon 2.6.4: dbAdmin la til createCollection for system.profilecollection. Tidligere versjoner hadde kun dropCollection på system.profile-samlingen.
Gir følgende handlinger på alle ikke-systembaserte samlinger. Denne rollen inkluderer ikke full lesetilgang på ikke-systembaserte samlinger: - bypassDokumentvalidering
- collMod
- collStats
- Kompakt
- convertToCapped
- createCollection
- createIndex
- dbStats
- dropCollection
- dropDatabase
- dropIndex
- enableProfiler
- reIndex
- renameCollectionSameDB
- repairDatabase
- lagringsDetaljer
- Valider
dbOwnerDatabaseeieren kan utføre hvilken som helst administrativ handling på databasen. Denne rollen kombinerer privilegiene gitt av readWrite-, dbAdmin- og userAdmin-rollene. userAdminGir mulighet til å opprette og endre roller og brukere på den nåværende databasen. Denne rollen gir også indirekte superbrukertilgang til enten databasen eller, hvis det er begrenset til admin-databasen, klyngen. TheuserAdmin-rollen lar brukere gi enhver bruker alle privilegier, inkludert seg selv. UserAdmin-rollen gir eksplisitt følgende handlinger: - changeCustomData
- changePassword
- createRole
- createUser
- dropRole
- dropUser
- GrantRoll
- tilbakekalleRolle.
- seRolleT
- viewUser
KlyngeadministrasjonsrollerAdmin-databasen inkluderer følgende roller for å administrere hele systemet i stedet for bare én enkelt database. Disse rollene inkluderer, men er ikke begrenset til, replica set og sharded cluster administrative funksjoner. clusterAdminGir den beste tilgangen til klyngehåndtering. Denne rollen kombinerer privilegiene gitt av theclusterManager, clusterMonitor og hostManager. I tillegg gir rollen handlingen thedropDatabase. clusterManagerGir administrasjons- og overvåkingstiltak på klyngen. En bruker med denne rollen kan få tilgang til konfigurasjons- og lokale databaser, som brukes i henholdsvis sharding og replikering. Gir følgende handlinger på klyngen som helhet: - addShard
- applicationMessage
- Opprydding Foreldreløs
- flushRouterConfig
- listeFragmenter
- fjern Shard
- replSetConfigure
- replSetGetConfig
- replSetGetStatus
- replSetStateChange
- Resync
Gir følgende handlinger på alle databaser i klyngen: - enableSharding
- moveChunk
- splitChunk
- splitVector
På konfigurasjonsdatabasen finnes følgende handlinger i innstillingssamlingen: På konfigurasjonsdatabasen finnes følgende handlinger på alle konfigurasjonssamlinger og på thesystem.indexes, system.js og system.namespaces-samlingene: - collStats
- dbHash
- dbStats
- finn
- killCursors
På den lokale databasen finnes følgende handlinger på replset-samlingen: - collStats
- dbHash
- dbStats
- finn
- killCursors
clusterMonitorGir skrivebeskyttet tilgang til overvåkingsverktøy, som MongoDB Cloud Manager og Ops Manager overvåkingsagent. Gir følgende handlinger på klyngen som helhet: - connPoolStats
- cursorInfo
- getCmdLineOpts
- getLog
- getParameter
- getShardMap
- hostInfo
- inprog
- listeDatabaser
- listeFragmenter
- Netstat
- replSetGetStatus
- replSetGetConfig
- serverStatus
- shardingState
- Topp
Gir følgende handlinger på alle databaser i klyngen: - collStats
- dbStats
- getShardVersion
- indexStats
Gir finn-handlingen på alle system.profile-samlinger i klyngen. Gir følgende handlinger på konfigurasjonsdatabasens konfigurasjonssamlinger og system.indexes, system.js og system.namespaces: - collStats
- dbHash
- dbStats
- finn
- killCursors
hostManagerGir mulighet til å overvåke og administrere servere. Gir følgende handlinger på klyngen som helhet: - applicationMessage
- closeAllDatabases
- connPoolSync
- cpuProfiler
- diagLogging
- flushRouterConfig
- fsync
- invalidateUserCache
- Killop
- logRotate
- Resync
- setParameter
- Nedleggelse
- Berøring
- Lås opp
Gir følgende handlinger på alle databaser i klyngen: - killCursors
- repairDatabase
Backup- og restaureringsrollerAdministrasjonsdatabasen inkluderer følgende roller for sikkerhetskopiering og gjenoppretting av data: BackupGir minimale rettigheter som trengs for sikkerhetskopiering av data. Denne rollen gir tilstrekkelige rettigheter til å bruke MongoDB Cloud Manager-backupagent, Ops Manager-backupagent, eller til å bruke mongodump for å sikkerhetskopiere en hel Mongod-instans. Gir innsettings- og oppdateringshandlingene på mms.backup-samlingen i admin-databasen og på innstillingssamlingen i konfigurasjonsdatabasen. Gir listDatabases-handlingen på klyngen som helhet. Gir listCollections-handlingen på alle databaser. Gir listIndexes-handlingen for alle samlinger. Gir bypassDocumentValidation-handlingen for samlinger som har dokumentvalidering. Gir funn-handlingen på følgende: - alle ikke-system-samlinger i klyngen
- Alle følgende systemsamlinger i klyngen: System.Indexes, System.Namespaces og system.js
- samlingene admin.system.users og admin.system.roles
- Config.settings-samlingen
- legacy system.users-samlinger fra versjoner av MongoDB før 2.6
Endret i versjon 3.2.1: Backup-rollen gir ekstra rettigheter for å ta backup av system.profile-samlingene som eksisterer når databaseprofilering kjøres. Tidligere trengte brukere ekstra lesetilgang på denne samlingen. RestaurereGir rettigheter som trengs for å gjenopprette data fra sikkerhetskopier som ikke inkluderer system.profilecollection-data. Denne rollen er tilstrekkelig når man gjenoppretter data med mongorestore uten --oplogReplay-alternativet. Hvis sikkerhetskopidataene inkluderer system.profile-innsamlingsdata og måldatabasen ikke inneholder system.profile-samlingen, forsøker mongorestore å opprette samlingen selv om Programmet gjenoppretter faktisk ikke System.Profile-dokumenter. Som sådan krever brukeren tilleggsrettigheter for å utføre createCollection- og convertToCapped-handlinger på system.profile-samlingen for en database. De innebygde rollene dbAdmin og dbAdminAnyDatabase gir de ekstra privilegiene. Hvis man kjører mongorestore med --oplogReplay, er restore-rollen utilstrekkelig for å spille av oplogen på nytt. For å spille av oplogen på nytt, opprett en brukerdefinert rolle som har anyAction på anyResource og gi kun til brukere som må kjøre mongorestore med --oplogReplay.
Gir følgende handlinger på alle ikke-system-samlinger og system.js samlinger i klyngen; på samlingene admin.system.users og admin.system.roles i admin-databasen; og på eldre system.users-samlinger fra versjoner av MongoDB før 2.6: - collMod
- createCollection
- createIndex
- dropCollection
- Sett inn
Gir listCollections-handlingen på alle databaser. Gir følgende ekstra handlinger på admin.system.users og legacy system.userscollections: Gir finn-handlingen på alle system.namespaces-samlingene i klyngen. Selv om gjenoppretting inkluderer muligheten til å endre dokumentene i admin.system.userscollection ved bruk av vanlige modifikasjonsoperasjoner, må du kun endre disse dataene via brukeradministrasjonen metoder.
Roller med alle databaserAdmin-databasen tilbyr følgende roller som gjelder for alle databaser i en mongod-instans og er omtrent ekvivalente med deres enkelt-database-ekvivalenter: readAnyDatabaseGir de samme skrivebeskyttede tillatelsene som lesetillatelser, bortsett fra at det gjelder for alle databaser i klyngen. Rollen gir også listDatabases-handlingen på klyngen som helhet. readWriteAnyDatabaseGir samme lese- og skrivetillatelser som readWrite, bortsett fra at det gjelder for alle databaser i klyngen. Rollen gir også listDatabases-handlingen på klyngen som helhet. userAdminAnyDatabaseGir samme tilgang til brukeradministrasjonsoperasjoner som userAdmin, bortsett fra at det gjelder for alle databaser i klyngen. Rollen gir også følgende handlinger på klyngen som en helhet: - authSchemaUpgrade
- invalidateUserCache
- listeDatabaser
Rollen gir også følgende handlinger på samlingene admin.system.users og admin.system.roles på admin-databasen, og på eldre system.userscollections fra versjoner av MongoDB før 2.6: - collStats
- dbHash
- dbStats
- finn
- killCursors
- planCacheRead
Endret i versjon 2.6.4: userAdminAnyDatabase la til følgende tillatelser på theadmin.system.users og admin.system.roles-samlingene:
userAdminAnyDatabase-rollen begrenser ikke hvilke tillatelser en bruker kan gi. Som et resultat kan userAdminAnyDatabase-brukere gi seg selv privilegier utover sine nåværende privilegier og til og med gi seg selv alle privilegier, selv om rollen ikke gjør det eksplisitt autorisere rettigheter utover brukeradministrasjon. Denne rollen er i praksis en MongoDB-systemsuperbruker. dbAdminAnyDatabaseGir samme tilgang til databaseadministrasjonsoperasjoner som dbAdmin, bortsett fra at det gjelder for alle databaser i klyngen. Rollen gir også listDatabases-handlingen på klyngen som helhet.
SuperbrukerrollerFlere roller gir enten indirekte eller direkte systemomfattende superbrukertilgang. Følgende roller gir mulighet til å tildele enhver bruker hvilken som helst privilegium på hvilken som helst database, noe som betyr at brukere med en av disse rollene kan tildele seg selv hvilken som helst rett på hvilken som helst database: - dbOwner-rollen, når den er begrenset til admin-databasen
- userAdmin-rollen, når den er begrenset til admin-databasen
- userAdminAnyDatabase-rolle
Følgende rolle gir fulle rettigheter på alle ressurser: rotGir tilgang til operasjonene og alle ressursene til readWriteAnyDatabase, dbAdminAnyDatabase, userAdminAnyDatabase, clusterAdmin, restore combined. Endret i versjon 3.0.7: Roten har valideringsaksjon på systemet. Samlinger. Tidligere inkluderte ikke root tilgang til samlinger som starter med systemet. prefiks annet enn system.indexes og system.namespaces. Rotrollen inkluderer privilegier fra gjenopprettingsrollen.
Intern rolle__systemMongoDB tildeler denne rollen til brukerobjekter som representerer klyngemedlemmer, som replikasettmedlemmer og-instanser. Rollen gir innehaveren rett til å iverksette enhver handling mot ethvert objekt i databasen. Ikke tildel denne rollen til brukerobjekter som representerer applikasjoner eller menneskelige administratorer, bortsett fra i unntakstilfeller. Hvis du trenger tilgang til alle handlinger på alle ressurser, for eksempel for å kjøre applyOps-kommandoer, ikke tildel denne rollen. Opprett i stedet en brukerdefinert rolle som gir anyAction på anyResource, og sørg for at kun brukerne som trenger tilgang til disse operasjonene har denne tilgangen. Original: https://docs.mongodb.com/manual/reference/built-in-roles/#built-in-roles
|