Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 7537|Svar: 1

MongoDB-behörighetsrolltabell

[Kopiera länk]
Publicerad på 2016-10-09 17:04:10 | | |
MongoDB ger tillgång till data och kommandon genom rollbaserad auktorisation och tillhandahåller inbyggda roller som tillhandahåller de olika åtkomstnivåer som vanligtvis behövs i ett databassystem. Du kan dessutom skapa användardefinierade roller.
En roll ger privilegier att utföra uppsättningar av handlingar på definierade resurser. En given roll gäller för databasen där den definieras och kan ge åtkomst ner till en samlingsnivå av granularitet.
Var och en av MongoDBs inbyggda roller definierar åtkomst på databasnivå för alla icke-systemsamlingar i rollens databas och på samlingsnivå för alla systemsamlingar.
MongoDB tillhandahåller de inbyggda funktionerna för databasanvändare och databasadministration på varje databas. MongoDB tillhandahåller alla andra inbyggda roller endast i admindatabasen.
Detta avsnitt beskriver privilegierna för varje inbyggd roll. Du kan också se privilegierna för en inbyggd roll när som helst genom att ge ordern rolesInfo, med showPrivileges och showBuiltinRolesfields båda inställda på true.
Databasanvändarroller
Varje databas innehåller följande klientroller:
Läs
Ger möjlighet att läsa data på alla icke-systemsamlingar och på följande systemsamlingar: system.indexes, system.js och system.namespaces-samlingar. Rollen ger läsåtkomst genom att bevilja följande åtgärder:
  • collStats
  • dbHash
  • dbStats
  • hitta
  • killCursors
  • lista index
  • lista Samlingar
läsaSkriv
Ger alla behörigheter för läsrollen plus möjlighet att ändra data på alla icke-systemsamlingar och system.js samling. Rollen ger följande åtgärder på dessa samlingar:
  • collStats
  • konverteraToCcaped
  • skapaSamling
  • dbHash
  • dbStats
  • dropCollection
  • createIndex
  • dropIndex
  • Tomt med hatten
  • hitta
  • Insert
  • killCursors
  • lista index
  • lista Samlingar
  • ta bort
  • renameCollectionSameDB
  • Uppdatering

Databasadministrationsroller
Varje databas inkluderar följande databasadministrationsroller:
dbAdmin
Tillhandahåller följande åtgärder på databasens system.indexes, system.namespaces och system.profile-samlingar:
  • collStats
  • dbHash
  • dbStats
  • hitta
  • killCursors
  • lista index
  • lista Samlingar
  • dropCollection och createCollection endast på system.profile
Ändrat i version 2.6.4: dbAdmin lade till createCollection för system.profilecollection. Tidigare versioner hade endast dropCollection på system.profile-samlingen.

Tillhandahåller följande åtgärder för alla icke-systemsamlingar. Denna roll inkluderar inte full läsåtkomst på icke-systemsamlingar:
  • bypassDocumentValidation
  • collMod
  • collStats
  • Kompakt
  • konverteraToCcaped
  • skapaSamling
  • createIndex
  • dbStats
  • dropCollection
  • dropDatabase
  • dropIndex
  • enableProfiler
  • reIndex
  • renameCollectionSameDB
  • repairDatabase
  • lagringsDetaljer
  • validera
dbOwner
Databasägaren kan utföra vilken administrativ åtgärd som helst på databasen. Denna roll kombinerar de privilegier som ges av readWrite-, dbAdmin- och userAdmin-rollerna.
userAdmin
Ger möjlighet att skapa och ändra roller och användare i den aktuella databasen. Denna roll ger också indirekt superanvändaråtkomst till antingen databasen eller, om det är begränsat till admindatabasen, klustret. Rollen Användaradministratör tillåter användare att ge vilken användare som helst vilken behörighet som helst, inklusive sig själva.
Rollen userAdmin tillhandahåller uttryckligen följande åtgärder:
  • changeCustomData
  • changePassword
  • createRole
  • createUser
  • dropRoll
  • dropUser
  • Bidragsroll
  • revokeRoll
  • visaRoll
  • viewUser

Klusteradministrationsroller
Administratörsdatabasen inkluderar följande roller för att administrera hela systemet snarare än bara en enda databas. Dessa roller inkluderar, men är inte begränsade till, administrativa funktioner för replikaset och sharded kluster.
clusterAdmin
Ger den bästa åtkomsten till klusterhantering. Denna roll kombinerar de privilegier som ges av theclusterManager, clusterMonitor och hostManager. Dessutom tillhandahåller rollen åtgärden dropDatabase.
clusterManager
Tillhandahåller hanterings- och övervakningsåtgärder på klustret. En användare med denna roll kan komma åt konfigurationen och lokala databaser, som används vid sharding respektive replikering.
Tillhandahåller följande åtgärder på klustret som helhet:
  • addShard
  • applicationMessage
  • Föräldralös
  • flushRouterConfig
  • lista Skärvor
  • ta bortSkärva
  • replSetConfigure
  • replSetGetConfig
  • replSetGetStatus
  • replSetStateChange
  • Resync
Tillhandahåller följande åtgärder på alla databaser i klustret:
  • enableSharding
  • flytta Chunk
  • splitChunk
  • splitVector
I konfigurationsdatabasen finns följande åtgärder i inställningssamlingen:
  • Insert
  • ta bort
  • Uppdatering
I konfigurationsdatabasen finns följande åtgärder på alla konfigurationssamlingar och på thesystem.indexes, system.js och system.namespaces-samlingar:
  • collStats
  • dbHash
  • dbStats
  • hitta
  • killCursors
På den lokala databasen finns följande åtgärder på replset-samlingen:
  • collStats
  • dbHash
  • dbStats
  • hitta
  • killCursors
clusterMonitor
Ger skrivskyddad åtkomst till övervakningsverktyg, såsom MongoDB Cloud Manager och Ops Manager övervakningsagent.
Tillhandahåller följande åtgärder på klustret som helhet:
  • connPoolStats
  • cursorInfo
  • getCmdLineOpts
  • getLog
  • getParameter
  • getShardMap
  • hostInfo
  • inprog
  • lista databaser
  • lista Skärvor
  • Netstat
  • replSetGetStatus
  • replSetGetConfig
  • serverStatus
  • ShardingState
  • topp
Tillhandahåller följande åtgärder på alla databaser i klustret:
  • collStats
  • dbStats
  • getShardVersion
  • indexStatistik
Tillhandahåller sökfunktionen för alla system.profile-samlingar i klustret.
Tillhandahåller följande åtgärder på konfigurationsdatabasens konfigurationssamlingar ochsystem.indexes, system.js och system.namespaces:
  • collStats
  • dbHash
  • dbStats
  • hitta
  • killCursors
hostManager
Ger möjlighet att övervaka och hantera servrar.
Tillhandahåller följande åtgärder på klustret som helhet:
  • applicationMessage
  • closeAllDatabases
  • connPoolSync
  • cpuProfiler
  • diagLogging
  • flushRouterConfig
  • fsync
  • invalidateUserCache
  • killop
  • logRotate
  • Resync
  • setParameter
  • Nedstängning
  • Beröring
  • Lås upp
Tillhandahåller följande åtgärder på alla databaser i klustret:
  • killCursors
  • repairDatabase

Reserv- och restaureringsroller
Administratörsdatabasen inkluderar följande roller för säkerhetskopiering och återställning av data:
Backup
Ger minimala behörigheter som behövs för säkerhetskopiering av data. Denna roll ger tillräckliga rättigheter för att använda MongoDB Cloud Manager backup agent, Ops Manager backup agent eller att använda mongodump för att säkerhetskopiera en hel mongod-instans.
Tillhandahåller insättnings- och uppdateringsåtgärder i mms.backup-samlingen i administrationsdatabasen och i inställningssamlingen i konfigurationsdatabasen.
Tillhandahåller listDatabases-åtgärden på klustret som helhet.
Tillhandahåller listCollections-åtgärden på alla databaser.
Tillhandahåller listIndexes-åtgärden för alla samlingar.
Tillhandahåller åtgärden bypassDocumentValidation för samlingar som har dokumentvalidering.
Tillhandahåller sökfunktionen på följande:
  • Alla icke-system-samlingar i klustret
  • Alla följande systemsamlingar i klustret: System.indexes, System.namespaces och system.js
  • samlingarna admin.system.users och admin.system.roles
  • Config.settings-samlingen
  • legacy system.users-samlingar från versioner av MongoDB före 2.6
Ändrat i version 3.2.1: Säkerhetskopieringsrollen ger ytterligare behörigheter för att säkerhetskopiera system.profile-samlingarna som finns vid körning med databasprofilering. Tidigare krävde användare ytterligare läsbehörighet på denna samling.

Återställ
Ger behörigheter som behövs för att återställa data från säkerhetskopior som inte inkluderar system.profilecollection-data. Denna roll är tillräcklig när man återställer data med mongorestore utan --oplogReplay-alternativet.
  • Om säkerhetskopian innehåller system.profile-samlingsdata och måldatabasen inte innehåller system.profile-samlingen, försöker mongorestore skapa samlingen även om Programmet återställer faktiskt inte system.profile-dokument. Därför kräver användaren ytterligare privilegier för att utföra createCollection- och convertToCcaped-åtgärder på system.profile-samlingen för en databas.
    De inbyggda rollerna dbAdmin och dbAdminAnyDatabase ger de extra rättigheterna.
  • Om man kör mongorestore med --oplogReplay är återställningsrollen otillräcklig för att spela om oplogen. För att spela om oplogen, skapa en användardefinierad roll som har anyAction på anyResource och ge endast till användare som måste köra mongorestore med --oplogReplay.

Tillhandahåller följande åtgärder för alla icke-systemsamlingar och system.js samlingar i klustret; på samlingarna admin.system.users och admin.system.roles i admindatabasen; och på äldre system.users-samlingar från versioner av MongoDB före 2.6:
  • collMod
  • skapaSamling
  • createIndex
  • dropCollection
  • Insert
Tillhandahåller listCollections-åtgärden på alla databaser.
Tillhandahåller följande ytterligare åtgärder på admin.system.users och äldre system.userscollections:
  • hitta
  • ta bort
  • Uppdatering
Tillhandahåller sökfunktionen på alla system.namespaces-samlingar i klustret.
Även om restore inkluderar möjligheten att ändra dokumenten i admin.system.userscollection med normala modifieringsoperationer, modifiera endast dessa data via användarhanteringen metoder.

Roller med alla databaser
Administratörsdatabasen tillhandahåller följande roller som gäller för alla databaser i en mongod-instans och är ungefär ekvivalenta med deras motsvarigheter i en enda databas:
readAnyDatabase
Ger samma skrivskyddade behörigheter som läsbehörighet, förutom att det gäller alla databaser i klustret. Rollen tillhandahåller också listDatabases-åtgärden på klustret som helhet.
readWriteAnyDatabase
Ger samma läs- och skrivbehörigheter som readWrite, förutom att det gäller alla databaser i klustret. Rollen tillhandahåller också listDatabases-åtgärden på klustret som helhet.
userAdminAnyDatabase
Ger samma åtkomst till användaradministrationsoperationer som userAdmin, förutom att det gäller alla databaser i klustret. Rollen ger också följande åtgärder för klustret som helhet:
  • authSchemaUpgrade
  • invalidateUserCache
  • lista databaser
Rollen tillhandahåller också följande åtgärder på samlingarna admin.system.users och admin.system.roles i admindatabasen, samt på äldre system.userscollections från versioner av MongoDB före 2.6:
  • collStats
  • dbHash
  • dbStats
  • hitta
  • killCursors
  • planCacheRead
Ändrat i version 2.6.4: userAdminAnyDatabase lade till följande behörigheter på theadmin.system.users och admin.system.roles-samlingarna:
  • createIndex
  • dropIndex

Rollen userAdminAnyDatabase begränsar inte vilka behörigheter en användare kan ge. Som ett resultat kan användareAdminAnyDatabase-användare ge sig själva privilegier utöver sina nuvarande privilegier och till och med ge sig själva alla rättigheter, även om rollen inte gör det Auktorisera uttryckligen privilegier utöver användaradministration. Denna roll är i praktiken en MongoDB-systemsuperanvändare.
dbAdminAnyDatabase
Ger samma åtkomst till databasadministrationsoperationer som dbAdmin, förutom att det gäller alla databaser i klustret. Rollen tillhandahåller också listDatabases-åtgärden på klustret som helhet.

Superanvändarroller
Flera roller ger antingen indirekt eller direkt systemomfattande superanvändaråtkomst.
Följande roller ger möjlighet att tilldela vilken användare som helst vilken behörighet som helst på vilken databas som helst, vilket innebär att användare med en av dessa roller kan tilldela sig själva vilken behörighet som helst på vilken databas som helst:
  • dbOwner-rollen, när den är begränsad till administratörsdatabasen
  • userAdmin-rollen, när den är begränsad till admindatabasen
  • userAdminAnyDatabase-roll
Följande roll ger fulla rättigheter på alla resurser:
rot
Ger tillgång till operationerna och alla resurser för readWriteAnyDatabase, dbAdminAnyDatabase, userAdminAnyDatabase, clusterAdminAdmin, restore combined.
Ändrat i version 3.0.7: Roten har valideringsåtgärd på systemet. Samlingar. Tidigare inkluderade root ingen åtkomst till samlingar som börjar med systemet. prefix annat än system.index och system.namespaces.
Rotrollen inkluderar privilegier från återställningsrollen.


Intern roll__system
MongoDB tilldelar denna roll till användarobjekt som representerar klustermedlemmar, såsom replikauppsättningsmedlemmar och mongos-instanser. Rollen ger innehavaren rätt att vidta åtgärder mot vilket objekt som helst i databasen.
Tilldela inte denna roll till användarobjekt som representerar applikationer eller mänskliga administratörer, förutom i undantagsfall.
Om du behöver tillgång till alla handlingar på alla resurser, till exempel för att köra applyOps-kommandon, tilldela inte denna roll. Skapa istället en användardefinierad roll som ger anyAction på anyResource och se till att endast de användare som behöver tillgång till dessa operationer har denna åtkomst.
Original: https://docs.mongodb.com/manual/reference/built-in-roles/#built-in-roles






Föregående:C#-reflektionen får visningsnamnet för objektegenskapen
Nästa:Skapa ett konto och lösenord för att logga in på MongoDb
 Hyresvärd| Publicerad på 2016-10-09 17:33:26 |
Skapa ett konto och lösenord för att logga in på MongoDb
http://www.itsvse.com/thread-3221-1-1.html
(Källa: Code Agriculture Network)
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com