|
MongoDB antaa pääsyn tietoihin ja komentoihin roolipohjaisen valtuutuksen kautta ja tarjoaa sisäänrakennetut roolit, jotka tarjoavat tietokantajärjestelmässä yleisesti tarvitsemat eri käyttötasot. Voit lisäksi luoda käyttäjän määrittelemiä rooleja. Rooli antaa oikeudet suorittaa joukkoja toimintoja määritellyille resursseille. Tietty rooli koskee tietokantaa, johon se on määritelty, ja voi antaa pääsyn kokoelman tarkkuudelle asti. Jokainen MongoDB:n sisäänrakennettu rooli määrittelee pääsyn tietokantatasolla kaikille ei-järjestelmäkokoelmille roolin tietokannassa sekä kokoelmatasolla kaikille järjestelmäkokoelmille. MongoDB tarjoaa sisäänrakennetut tietokannan käyttäjä- ja tietokannanhallintaroolit jokaisessa tietokannassa. MongoDB tarjoaa kaikki muut sisäänrakennetut roolit vain ylläpitäjätietokannassa. Tässä osiossa kuvataan kunkin sisäänrakennetun roolin oikeudet. Voit myös tarkastella sisäänrakennetun roolin oikeuksia milloin tahansa antamalla rolesInfo-komennon, jossa sekä showPrivileges että showBuiltinRoles-kentät on asetettu true-tilaan. Tietokannan käyttäjäroolitJokaisessa tietokannassa on seuraavat asiakasroolit: LueMahdollistaa tiedon lukemisen kaikista ei-järjestelmäkokoelmista ja seuraavista järjestelmäkokoelmista: system.indexes, system.js ja system.namespaces -kokoelmat. Rooli tarjoaa lukuoikeuden myöntämällä seuraavat toiminnot: - collStats
- dbHash
- dbStats
- löydä
- killCursors
- listIndexit
- lista Kokoelmat
readWriteTarjoaa kaikki lukuroolin oikeudet sekä mahdollisuuden muokata tietoja kaikissa ei-järjestelmäkokoelmissa ja system.js-kokoelmassa. Rooli tarjoaa seuraavat toimenpiteet näissä kokoelmissa: - collStats
- convertToCapped
- createCollection
- dbHash
- dbStats
- dropCollection
- createIndex
- dropIndex
- tyhjä kypärä
- löydä
- lisää
- killCursors
- listIndexit
- lista Kokoelmat
- poista
- renameCollectionSameDB
- Päivitys
Tietokannan ylläpidon roolitJokaisessa tietokannassa on seuraavat tietokannan ylläpidon roolit: dbAdminTarjoaa seuraavat toiminnot tietokannan system.indexes-, system.namespace- ja system.profile-kokoelmissa: - collStats
- dbHash
- dbStats
- löydä
- killCursors
- listIndexit
- lista Kokoelmat
- dropCollection ja createCollection vain system.profile -sivustolla
Muutettu versiossa 2.6.4: dbAdmin lisäsi createCollectionin system.profilecollectioniin. Aiemmissa versioissa dropCollection oli vain system.profile-kokoelmassa.
Tarjoaa seuraavat toiminnot kaikille ei-järjestelmäkokoelmille. Tämä rooli ei sisällä täyttä lukuoikeutta ei-järjestelmäkokoelmiin: - bypassDocumentValidation
- collMod
- collStats
- kompakti
- convertToCapped
- createCollection
- createIndex
- dbStats
- dropCollection
- dropDatabase
- dropIndex
- enableProfiler
- reIndex
- renameCollectionSameDB
- repairDatabase
- säilytystiedot
- Validoi
dbOmistajaTietokannan omistaja voi suorittaa mitä tahansa hallinnollista toimenpidettä tietokannassa. Tämä rooli yhdistää readWrite-, dbAdmin- ja userAdmin-roolien myöntämät oikeudet. userAdminMahdollistaa roolien ja käyttäjien luomisen ja muokkaamisen nykyisessä tietokannassa. Tämä rooli tarjoaa myös epäsuorasti superkäyttäjälle pääsyn joko tietokantaan tai, jos se on laajennettu ylläpitäjätietokantaan, klusteriin. TheuserAdmin-rooli antaa käyttäjille mahdollisuuden myöntää kenelle tahansa käyttäjälle etuoikeuksia, myös itselleen. userAdmin-rooli tarjoaa nimenomaisesti seuraavat toiminnot: - changeCustomData
- changePassword
- createRole
- createUser
- dropRole
- dropUser
- ApurahaRooli
- revokeRooli
- viewRooli
- viewUser
Klusterihallinnon roolitYlläpitäjätietokanta sisältää seuraavat roolit koko järjestelmän hallintaan, ei vain yhden tietokannan hallintaan. Näihin rooleihin kuuluvat, mutta eivät rajoitu, replikasarja- ja sharded cluster -hallinnolliset toiminnot. clusterAdminTarjoaa parhaan klusterinhallinnan pääsyn. Tämä rooli yhdistää theclusterManager-, clusterMonitor- ja hostManager-roolien myöntämät oikeudet. Lisäksi rooli tarjoaa thedropDatabase-toiminnon. clusterManagerTarjoaa hallinta- ja seurantatoimia klusterissa. Tämän roolin käyttäjä voi käyttää config- ja paikallisia tietokantoja, joita käytetään shardingissa ja replikaatiossa. Tarjoaa seuraavat toiminnot koko klusterille: - addShard
- applicationMessage
- siivous Orpo
- flushRouterConfig
- listShards
- poista sirpale
- replSetConfigure
- replSetGetConfig
- replSetGetStatus
- replSetStateChange
- uudelleensynkronointi
Tarjoaa seuraavat toiminnot kaikille klusterin tietokannoille: - enableSharding
- moveChunk
- splitChunk
- splitVector
Konfiguraatiotietokannassa on seuraavat toiminnot asetuskokoelmassa: Konfiguraatiotietokannassa se tarjoaa seuraavat toiminnot kaikille konfiguraatiokokoelmille sekä thesystem.indexes-, system.js- ja system.namespaces -kokoelmille: - collStats
- dbHash
- dbStats
- löydä
- killCursors
Paikallisessa tietokannassa on seuraavat toiminnot replset-kokoelmassa: - collStats
- dbHash
- dbStats
- löydä
- killCursors
clusterMonitorTarjoaa vain luku -pääsyn valvontatyökaluihin, kuten MongoDB Cloud Manageriin ja Ops Managerin valvontaagenttiin. Tarjoaa seuraavat toiminnot koko klusterille: - connPoolStats
- cursorInfo
- getCmdLineOpts
- getLog
- getParameter
- getShardMap
- hostInfo
- inprog
- listTietokannat
- listShards
- Netstat
- replSetGetStatus
- replSetGetConfig
- serverStatus
- shardingState
- ylhäällä
Tarjoaa seuraavat toiminnot kaikille klusterin tietokannoille: - collStats
- dbStats
- getShardVersion
- indexStats
Tarjoaa etsintätoiminnon kaikille system.profile-kokoelmille klusterissa. Tarjoaa seuraavat toiminnot konfiguraatiotietokannan konfiguraatiokokoelmissa sekä system.indexes-, system.js- ja system.namespaces -kokoelmissa: - collStats
- dbHash
- dbStats
- löydä
- killCursors
hostManagerMahdollistaa palvelimien valvonnan ja hallinnan. Tarjoaa seuraavat toiminnot koko klusterille: - applicationMessage
- closeAllDatabases
- connPoolSync
- cpuProfiler
- diagLogging
- flushRouterConfig
- fsync
- invalidateUserCache
- killop
- logRotate
- uudelleensynkronointi
- setParameter
- Sulku
- Kosketus
- Avaa
Tarjoaa seuraavat toiminnot kaikille klusterin tietokannoille: - killCursors
- repairDatabase
Vara- ja kunnostustehtävätYlläpitäjätietokanta sisältää seuraavat tehtävät tietojen varmuuskopiointiin ja palautukseen: VarasuunnitelmaTarjoaa minimioikeudet datan varmuuskopiointiin. Tämä rooli antaa riittävät oikeudet käyttää MongoDB Cloud Manager -varmuuskopioagenttia, Ops Manager -varaagenttia tai käyttää mongodumpia koko mongod-instanssin varmuuskopiointiin. Tarjoaa lisäämis- ja päivitystoiminnot mms.backup-kokoelmassa ylläpitäjätietokannassa sekä asetuskokoelmassa konfiguraatiotietokannassa. Tarjoaa listDatabases-toiminnon koko klusterille. Tarjoaa listCollections-toiminnon kaikissa tietokannoissa. Tarjoaa listIndexes-toiminnon kaikille kokoelmille. Tarjoaa bypassDocumentValidation-toiminnon kokoelmille, joissa on asiakirjan validointi. Tarjoaa etsintätoiminnon seuraavissa asioissa: - kaikki klusterin ei-järjestelmäkokoelmat
- Kaikki seuraavat järjestelmäkokoelmat klusterissa: system.indexes, system.namespaces ja system.js
- admin.system.users ja admin.system.roles -kokoelmat
- config.settings-kokoelma
- Legacy system.users -kokoelmat MongoDB:n versioista ennen versiota 2.6
Muutettu versiossa 3.2.1: Varmuuskopiointirooli antaa lisäoikeuksia varmuuskopioida thesystem.profile -kokoelmia, jotka ovat olemassa tietokantaprofiloinnin yhteydessä. Aiemmin käyttäjiltä vaadittiin lisälukuoikeus tähän kokoelmaan. RestaurointiTarjoaa oikeudet varmuuskopioiden tietojen palauttamiseen, jotka eivät sisällä system.profilecollection-tietoja. Tämä rooli riittää, kun dataa palautetaan mongorestorella ilman --oplogReplay-vaihtoehtoa. Jos varmuuskopiotiedot sisältävät system.profile-kokoelmaa ja kohdetietokanta ei sisällä system.profile-kokoelmaa, mongorestore yrittää luoda kokoelman, vaikka Ohjelma ei itse asiassa palauta system.profile-dokumentteja. Tämän vuoksi käyttäjä tarvitsee lisäoikeuksia suorittaakseen createCollection- ja convertToCapped-toimintoja system.profile-kokoelmassa tietokannalle. Sisäänrakennetut roolit dbAdmin ja dbAdminAnyDatabase tarjoavat lisäoikeudet. Jos ajat mongorestorea --oplogReplaylla, palautusrooli ei riitä oplogin toistamiseen. Oplogin toistamiseksi luo käyttäjän määrittelemä rooli, jossa anyAction on anyResource ja se myönnetään vain käyttäjille, joiden täytyy suorittaa mongorestore-toiminto --oplogReplaylla.
Tarjoaa seuraavat toiminnot kaikille ei-järjestelmäkokoelmille ja system.js kokoelmille klusterissa; admin.system.users- ja admin.system.roles-kokoelmista ylläpitäjätietokannassa; sekä legacy system.users-kokoelmista MongoDB:n versioista ennen versiota 2.6: - collMod
- createCollection
- createIndex
- dropCollection
- lisää
Tarjoaa listCollections-toiminnon kaikissa tietokannoissa. Tarjoaa seuraavat lisätoiminnot admin.system.users- ja legacy system.userscollections -sivustolle: Tarjoaa etsintätoiminnon kaikille system.namespace-kokoelmille klusterissa. Vaikka palautus sisältää mahdollisuuden muokata admin.system.userscollectionin asiakirjoja normaaleilla muokkaustoiminnoilla, muokkaa näitä tietoja vain käyttäjähallinnan avulla menetelmiä.
Kaikki tietokantaroolitYlläpitäjätietokanta tarjoaa seuraavat roolit, jotka koskevat kaikkia mongod-instanssin tietokantoja ja ovat suunnilleen samankaltaisia kuin yksittäisen tietokannan vastineet: readAnyDatabaseTarjoaa samat vain luku -oikeudet kuin luku, paitsi että se koskee kaikkia klusterin tietokantoja. Rooli tarjoaa myös listDatabases-toiminnon koko klusterille. readWriteAnyDatabaseTarjoaa samat luku- ja kirjoitusoikeudet kuin readWrite, paitsi että se koskee kaikkia klusterin tietokantoja. Rooli tarjoaa myös listDatabases-toiminnon koko klusterille. userAdminAnyDatabaseTarjoaa saman pääsyn käyttäjähallintatoimintoihin kuin userAdmin, paitsi että se koskee kaikkia klusterin tietokantoja. Rooli tarjoaa myös seuraavat toiminnot koko klusterille: - authSchemaUpgrade
- invalidateUserCache
- listTietokannat
Rooli tarjoaa myös seuraavat toiminnot admin.system.users- ja admin.system.roles-kokoelmille ylläpitäjätietokannassa sekä legacy system.userscollections -versioista MongoDB ennen versiota 2.6: - collStats
- dbHash
- dbStats
- löydä
- killCursors
- planCacheRead
Muutettu versiossa 2.6.4: userAdminAnyDatabase lisäsi seuraavat oikeudet theadmin.system.users- ja admin.system.roles-kokoelmiin:
userAdminAnyDatabase-rooli ei rajoita käyttäjän myöntämiä oikeuksia. Tämän seurauksena userAdminAnyDatabase-käyttäjät voivat myöntää itselleen oikeuksia, jotka ylittävät nykyiset etuoikeutensa, ja voivat jopa myöntää itselleen kaikki oikeudet, vaikka rooli ei sitä teekään Valtuuta nimenomaisesti käyttöoikeuksia käyttäjähallinnan ulkopuolella. Tämä rooli on käytännössä MongoDB:n järjestelmän superkäyttäjä. dbAdminAnyDatabaseTarjoaa saman pääsyn tietokannan hallintaoperaatioihin kuin dbAdmin, paitsi että se koskee kaikkia klusterin tietokantoja. Rooli tarjoaa myös listDatabases-toiminnon koko klusterille.
Superkäyttäjän roolitUseat roolit tarjoavat joko epäsuoran tai suoran koko järjestelmän laajuisen superkäyttäjän pääsyn. Seuraavat roolit mahdollistavat minkä tahansa käyttäjän oikeuksien myöntämisen missä tahansa tietokannassa, mikä tarkoittaa, että käyttäjät, joilla on jokin näistä rooleista, voivat määrittää itselleen minkä tahansa oikeuden missä tahansa tietokannassa: - dbOwner-rooli, kun se on laajennettu ylläpitäjätietokantaan
- userAdmin-rooli, kun se on rajattu ylläpitäjätietokantaan
- userAdminAnyDatabase rooli
Seuraava rooli takaa täydet oikeudet kaikkiin resursseihin: juuriTarjoaa pääsyn readWriteAnyDatabase, dbAdminAnyDatabase, userAdminAnyDatabase, clusterAdmin ja Restore -rooleihin sekä kaikkiin toimintoihin ja kaikkiin resursseihin. Muutettu versiossa 3.0.7: Rootissa on validointitoiminto järjestelmässä. kokoelmia. Aiemmin root ei sisältänyt pääsyä kokoelmiin, jotka alkavat järjestelmästä. etuliite muut kuin system.indexes ja system.namespace. Juurirooli sisältää palautusroolin etuoikeudet.
Sisäinen rooli__systemMongoDB määrittää tämän roolin käyttäjäobjekteille, jotka edustavat klusterin jäseniä, kuten replika-joukkojen jäsenille ja mongos-instansseille. Rooli oikeuttaa haltijansa ryhtymään mihin tahansa tietokannan objektiin vastaan. Älä anna tätä roolia käyttäjäobjekteille, jotka edustavat sovelluksia tai ihmisylläpitäjiä, paitsi poikkeustapauksissa. Jos tarvitset pääsyn kaikkiin toimintoihin kaikilla resursseilla, esimerkiksi applyOps-komentojen suorittamiseen, älä määritä tätä roolia. Sen sijaan luo käyttäjän määrittelemä rooli, joka myöntää anyActionin anyResource -palvelussa ja varmista, että vain käyttäjillä, jotka tarvitsevat pääsyn näihin toimintoihin, on tämä käyttöoikeus. Alkuperäinen: https://docs.mongodb.com/manual/reference/built-in-roles/#built-in-roles
|