Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 7537|Antwort: 1

MongoDB-Berechtigungsrollentabelle

[Link kopieren]
Veröffentlicht am 09.10.2016 17:04:10 | | |
MongoDB gewährt den Zugriff auf Daten und Befehle durch rollenbasierte Autorisierung und stellt integrierte Rollen bereit, die die verschiedenen Zugriffsebenen bereitstellen, die in einem Datenbanksystem häufig benötigt werden. Außerdem können Sie benutzerdefinierte Rollen erstellen.
Eine Rolle gewährt Privilegien, um Aktionen auf definierten Ressourcen auszuführen. Eine bestimmte Rolle gilt für die Datenbank, auf der sie definiert ist, und kann Zugriff bis auf eine Sammlungsgranularitätsebene gewähren.
Jede der integrierten Rollen von MongoDB definiert den Zugriff auf Datenbankebene für alle nicht-systembezogenen Sammlungen in der Datenbank der Rolle und auf Sammlungsebene für alle Systemsammlungen.
MongoDB stellt die integrierten Rollen für Datenbankbenutzer und Datenbankverwaltung auf jeder Datenbank bereit. MongoDB stellt alle anderen integrierten Rollen nur in der Admin-Datenbank bereit.
Dieser Abschnitt beschreibt die Privilegien für jede eingebaute Rolle. Sie können auch jederzeit die Rechte einer eingebauten Rolle einsehen, indem Sie den Befehl rolesInfo, wobei die Felder showPrivileges und showBuiltinRolesfields beide auf true gesetzt sind.
Datenbank-Benutzerrollen
Jede Datenbank umfasst die folgenden Client-Rollen:
Lesen
Bietet die Möglichkeit, Daten aus allen nicht-systembezogenen Sammlungen sowie zu den folgenden Systemsammlungen:system.indexes, system.js und system.namespaces zu lesen. Die Rolle gewährt Lesezugriff, indem sie folgende Aktionen gewährt:
  • collStats
  • dbHash
  • dbStats
  • Finden Sie
  • killCursors
  • Liste Indizes
  • Liste Sammlungen
readWrite
Bietet alle Rechte der Leserolle sowie die Möglichkeit, Daten auf allen nicht-systembezogenen Sammlungen und der system.js Sammlung zu verändern. Die Rolle bietet folgende Aktionen auf diese Sammlungen:
  • collStats
  • convertToCapped
  • createCollection
  • dbHash
  • dbStats
  • dropCollection
  • createIndex
  • dropIndex
  • Emptycapped
  • Finden Sie
  • Insert
  • killCursors
  • Liste Indizes
  • Liste Sammlungen
  • entfernen
  • renameCollectionSameDB
  • aktualisieren

Datenbankverwaltungsrollen
Jede Datenbank umfasst die folgenden Aufgaben der Datenbankverwaltung:
dbAdmin
Bietet die folgenden Aktionen für die System.indexes, system.namespaces und system.profile Collections der Datenbank:
  • collStats
  • dbHash
  • dbStats
  • Finden Sie
  • killCursors
  • Liste Indizes
  • Liste Sammlungen
  • dropCollection und createCollection nur auf system.profile
Geändert in Version 2.6.4: dbAdmin fügte die createCollection für die system.profilecollection hinzu. Frühere Versionen hatten die dropCollection nur in der system.profile Collection.

Bietet die folgenden Aktionen für alle nicht-systembezogenen Sammlungen. Diese Rolle beinhaltet keinen vollständigen Lesezugriff auf Nicht-System-Sammlungen:
  • bypassDocumentValidation
  • collMod
  • collStats
  • Kompakt
  • convertToCapped
  • createCollection
  • createIndex
  • dbStats
  • dropCollection
  • dropDatabase
  • dropIndex
  • enableProfiler
  • reIndex
  • renameCollectionSameDB
  • repairDatabase
  • storageDetails
  • validieren
dbOwner
Der Datenbankbesitzer kann jede administrative Aktion an der Datenbank ausführen. Diese Rolle vereint die von den Rollen readWrite, dbAdmin und userAdmin gewährten Rechte.
userAdmin
Bietet die Möglichkeit, Rollen und Benutzer in der aktuellen Datenbank zu erstellen und zu ändern. Diese Rolle gewährt auch indirekt Superuser-Zugriff entweder auf die Datenbank oder, falls es auf die Admin-Datenbank beschränkt ist, auf den Cluster. Die Rolle UserAdmin erlaubt es Benutzern, jedem Benutzer jegliche Rechte zu gewähren, einschließlich sich selbst.
Die userAdmin-Rolle stellt ausdrücklich folgende Aktionen vor:
  • changeCustomData
  • changePasswort
  • createRole
  • createUser
  • DropRole
  • dropUser
  • StipendieRolle
  • revokeRole
  • AnsichtRolle
  • viewUser

Cluster-Verwaltungsaufgaben
Die Admin-Datenbank umfasst folgende Aufgaben zur Verwaltung des gesamten Systems und nicht nur eine einzelne Datenbank. Diese Aufgaben umfassen, sind aber nicht beschränkt auf, Verwaltungsfunktionen für Replica-Set und Sharded Cluster.
clusterAdmin
Bietet den besten Zugriff auf das Cluster-Management. Diese Rolle vereint die von theclusterManager, clusterMonitor und hostManager gewährten Privilegien. Zusätzlich bietet die Rolle die Aktion thedropDatabase.
clusterManager
Bietet Management- und Überwachungsmaßnahmen auf dem Cluster an. Ein Benutzer mit dieser Rolle kann auf die Konfiguration und lokale Datenbanken zugreifen, die jeweils für Sharding und Replikation verwendet werden.
Bietet folgende Aktionen für den gesamten Cluster:
  • addShard
  • applicationMessage
  • Aufräumen Verwaist
  • flushRouterConfig
  • listeSplitter
  • entfernenSplitter
  • replSetConfigure
  • replSetGetConfig
  • replSetGetStatus
  • replSetStateChange
  • Resync
Bietet folgende Aktionen für alle Datenbanken im Cluster:
  • enableSharding
  • moveChunk
  • splitChunk
  • splitVector
In der Konfigurationsdatenbank werden folgende Aktionen in der Einstellungssammlung bereitgestellt:
  • Insert
  • entfernen
  • aktualisieren
In der Konfigurationsdatenbank werden folgende Aktionen für alle Konfigurationssammlungen sowie für thesystem.indexes, system.js und system.namespaces bereitgestellt:
  • collStats
  • dbHash
  • dbStats
  • Finden Sie
  • killCursors
In der lokalen Datenbank werden folgende Aktionen auf der Replset-Sammlung bereitgestellt:
  • collStats
  • dbHash
  • dbStats
  • Finden Sie
  • killCursors
clusterMonitor
Bietet schreibgeschützten Zugriff auf Überwachungstools wie den MongoDB Cloud Manager und den Ops Manager Monitoring Agent.
Bietet folgende Aktionen für den gesamten Cluster:
  • connPoolStats
  • cursorInfo
  • getCmdLineOpts
  • getLog
  • getParameter
  • getShardMap
  • hostInfo
  • Inprog
  • Liste Datenbanken
  • listeSplitter
  • netstat
  • replSetGetStatus
  • replSetGetConfig
  • serverStatus
  • ShardingState
  • Nach oben
Bietet folgende Aktionen für alle Datenbanken im Cluster:
  • collStats
  • dbStats
  • getShardVersion
  • indexStatistiken
Bietet die Suchaktion für alle system.profile-Sammlungen im Cluster an.
Bietet die folgenden Aktionen für die Konfigurationssammlungen und system.indexes, system.js und system.namespaces-Sammlungen der Konfigurationsdatenbank:
  • collStats
  • dbHash
  • dbStats
  • Finden Sie
  • killCursors
hostManager
Bietet die Möglichkeit, Server zu überwachen und zu verwalten.
Bietet folgende Aktionen für den gesamten Cluster:
  • applicationMessage
  • closeAllDatabases
  • connPoolSync
  • cpuProfiler
  • diagLogging
  • flushRouterConfig
  • fsync
  • invalidateUserCache
  • killop
  • logRotate
  • Resync
  • setParameter
  • Stilllegung
  • Berühren
  • Freischalten
Bietet folgende Aktionen für alle Datenbanken im Cluster:
  • killCursors
  • repairDatabase

Backup- und Restaurierungsrollen
Die Administratordatenbank umfasst folgende Aufgaben zur Sicherung und Wiederherstellung von Daten:
Backup
Bietet minimale Rechte für das Sichern von Daten. Diese Rolle bietet ausreichende Rechte, um den MongoDB Cloud Manager Backup Agent, den Ops Manager Backup Agent oder Mongodump zur Sicherung einer gesamten Mongod-Instanz zu verwenden.
Stellt die Einfügungs- und Aktualisierungsaktionen für die mms.backup-Sammlung in der Admin-Datenbank und für die Einstellungssammlung in der Konfigurationsdatenbank bereit.
Stellt die listDatabases-Aktion für den gesamten Cluster bereit.
Stellt die Aktion listCollections auf allen Datenbanken bereit.
Bietet die Aktion listIndexes für alle Sammlungen.
Bietet die Aktion BypassDocumentValidation für Sammlungen mit Dokumentvalidierung an.
Bietet die Suchaktion für Folgendes:
  • Alle Nicht-System-Sammlungen im Cluster
  • Alle folgenden Systemsammlungen im Cluster: System.Indexes, System.Namespaces und system.js
  • Die Sammlungen admin.system.users und admin.system.roles
  • Die config.settings-Sammlung
  • Legacy-System.users-Sammlungen aus Versionen von MongoDB vor Version 2.6
Geändert in Version 3.2.1: Die Backup-Rolle bietet zusätzliche Rechte zur Sicherung der system.profile-Sammlungen, die beim Ausführen von Datenbankprofilierung existieren. Früher benötigten Nutzer einen zusätzlichen Lesezugriff auf dieser Sammlung.

Wiederherstellung
Gewährt Privilegien, die benötigt werden, um Daten aus Backups wiederherzustellen, die keine system.profilecollection-Daten enthalten. Diese Rolle ist ausreichend, wenn man Daten mit mongorestore ohne die Option --oplogReplay wiederherstellt.
  • Wenn die Sicherungsdaten system.profile Collection enthalten und die Zieldatenbank die system.profile Collection nicht enthält, versucht mongorestore, die Sammlung zu erstellen, obwohl Das Programm stellt System.Profile-Dokumente tatsächlich nicht wieder her. Daher benötigt der Benutzer zusätzliche Rechte, um createCollection und convertToCapped-Aktionen auf der system.profile Collection für eine Datenbank auszuführen.
    Die eingebauten Rollen dbAdmin und dbAdminAnyDatabase bieten die zusätzlichen Privilegien.
  • Wenn mongorestore mit --oplogReplay ausgeführt wird, reicht die Restore-Rolle nicht aus, um den Oplog erneut abzuspielen. Um den Oplog erneut abzuspielen, erstelle eine benutzerdefinierte Rolle, die anyAction auf anyResource hat, und gewähre nur Benutzern, die mongorestore mit --oplogReplay ausführen müssen.

Bietet folgende Aktionen für alle nicht-systembezogenen Sammlungen und system.js Sammlungen im Cluster; auf den Sammlungen admin.system.users und admin.system.roles in der Admin-Datenbank; und auf legacy-system.users-Sammlungen aus Versionen von MongoDB vor 2.6:
  • collMod
  • createCollection
  • createIndex
  • dropCollection
  • Insert
Stellt die Aktion listCollections auf allen Datenbanken bereit.
Bietet folgende zusätzliche Aktionen auf admin.system.users und legacy-system.userscollections:
  • Finden Sie
  • entfernen
  • aktualisieren
Stellt die Suchaktion für alle system.namespaces-Sammlungen im Cluster bereit.
Obwohl restore die Möglichkeit beinhaltet, die Dokumente in der admin.system.userscollection mit normalen Änderungsoperationen zu verändern, ändern Sie diese Daten nur über das Benutzermanagement Methoden.

All-Datenbank-Rollen
Die Admin-Datenbank bietet folgende Rollen, die für alle Datenbanken in einer Mongod-Instanz gelten und ungefähr mit ihren Einzeldatenbank-Äquivalenten äquivalent sind:
readAnyDatabase
Bietet die gleichen Schreibberechtigungen wie Leseberechtigungen, außer dass sie für alle Datenbanken im Cluster gelten. Die Rolle stellt außerdem die listDatabases-Aktion für den gesamten Cluster bereit.
readWriteAnyDatabase
Bietet die gleichen Lese- und Schreibrechte wie readWrite, jedoch gilt sie für alle Datenbanken im Cluster. Die Rolle stellt außerdem die listDatabases-Aktion für den gesamten Cluster bereit.
userAdminAnyDatabase
Bietet denselben Zugriff auf Benutzerverwaltungsoperationen wie userAdmin, außer dass er für alle Datenbanken im Cluster gilt. Die Rolle bietet außerdem folgende Aktionen für den gesamten Cluster:
  • authSchemaUpgrade
  • invalidateUserCache
  • Liste Datenbanken
Die Rolle bietet außerdem folgende Aktionen auf den Sammlungen admin.system.users und admin.system.roles in der Admin-Datenbank sowie auf den alten system.userscollections aus Versionen von MongoDB vor 2.6:
  • collStats
  • dbHash
  • dbStats
  • Finden Sie
  • killCursors
  • planCacheRead
Geändert in Version 2.6.4: userAdminAnyDatabase fügte folgende Berechtigungen für theadmin.system.users und admin.system.roles hinzu:
  • createIndex
  • dropIndex

Die userAdminAnyDatabase-Rolle schränkt die Berechtigungen, die ein Benutzer erteilen kann, nicht ein. Daher können userAdminAnyDatabase-Nutzer sich Rechte gewähren, die über ihre aktuellen Rechte hinausgehen, und sogar alle Privilegien, auch wenn die Rolle dies nicht tut Autorisiere explizit Rechte über die Benutzerverwaltung hinaus. Diese Rolle ist effektiv ein MongoDB-System-Superuser.
dbAdminAnyDatabase
Bietet denselben Zugriff auf Datenbankadministrationsoperationen wie dbAdmin, außer dass er für alle Datenbanken im Cluster gilt. Die Rolle stellt außerdem die listDatabases-Aktion für den gesamten Cluster bereit.

Superuser-Rollen
Mehrere Rollen bieten entweder indirekten oder direkten systemweiten Superuser-Zugriff.
Die folgenden Rollen bieten die Möglichkeit, jedem Benutzer jedes Privilegium auf jeder Datenbank zuzuweisen, was bedeutet, dass Benutzer mit einer dieser Rollen sich jedes Privilegium auf jeder Datenbank zuweisen können:
  • dbOwner-Rolle, wenn sie auf die Admin-Datenbank beschränkt ist.
  • userAdmin-Rolle, wenn sie auf die Admin-Datenbank abgegrenzt ist
  • userAdminAnyDatabase-Rolle
Die folgende Rolle gewährt volle Rechte auf allen Ressourcen:
wurzel
Bietet Zugriff auf die Operationen und alle Ressourcen der readWriteAnyDatabase, dbAdminAnyDatabase, userAdminAnyDatabase, clusterAdmin, Restore kombiniert.
Geändert in Version 3.0.7: Die Wurzel hat eine Validate-Aktion auf dem System. Inkasso. Früher enthält root keinen Zugriff auf Sammlungen, die mit dem System beginnen. Präfix außer System.Indexes und System.Namespaces.
Die Wurzelrolle umfasst Privilegien aus der Wiederherstellungsrolle.


Interne Rolle__system
MongoDB weist diese Rolle Benutzerobjekten zu, die Clustermitglieder repräsentieren, wie Replica-Set-Mitglieder und Mongos-Instanzen. Die Rolle berechtigt den Inhaber, jegliche Maßnahme gegen jedes Objekt in der Datenbank zu ergreifen.
Weisen Sie diese Rolle nicht Benutzerobjekten zu, die Anwendungen oder menschliche Administratoren repräsentieren, außer in Ausnahmefällen.
Wenn Sie Zugriff auf alle Aktionen auf allen Ressourcen benötigen, zum Beispiel um applyOps-Befehle auszuführen, weisen Sie diese Rolle nicht zu. Stattdessen sollte eine benutzerdefinierte Rolle erstellt werden, die anyAction auf anyResource gewährt, und sicherstellen, dass nur die Nutzer, die Zugriff auf diese Operationen benötigen, diesen Zugriff haben.
Original: https://docs.mongodb.com/manual/reference/built-in-roles/#built-in-roles






Vorhergehend:C#-Spiegelung erhält den Anzeigenamen der Objekteigenschaft
Nächster:Erstelle ein Konto und ein Passwort, um dich bei MongoDB anzumelden
 Vermieter| Veröffentlicht am 09.10.2016 17:33:26 |
Erstelle ein Konto und ein Passwort, um dich bei MongoDB anzumelden
http://www.itsvse.com/thread-3221-1-1.html
(Quelle: Code Agriculture Network)
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com