Freigeben über


Rollenbasierte Zugriffssteuerung in Azure Cosmos DB für MongoDB

Azure Cosmos DB für MongoDB macht ein integriertes rollenbasiertes Zugriffssteuerungssystem verfügbar, mit dem Sie Ihre Datenanforderungen mit einem abgestimmten, rollenbasierten Berechtigungsmodell autorisieren können. Benutzer und Rollen befinden sich in einer Datenbank und werden mit azure CLI, Azure PowerShell oder Azure Resource Manager (ARM) verwaltet.

Kernkonzepte

Es gibt eine Reihe von Kernkonzepten, die Sie verstehen müssen, bevor Sie mit der rollenbasierten Zugriffssteuerung in Azure Cosmos DB für MongoDB arbeiten.

Resource

Eine Ressource ist eine Sammlung oder Datenbank, auf die wir Zugriffssteuerungsregeln anwenden.

Berechtigungen

Berechtigungen sind Aktionen, die für eine bestimmte Ressource ausgeführt werden können. Beispiel: "Lesezugriff auf Sammlung xyz". Berechtigungen werden einer bestimmten Rolle zugewiesen.

Rolle

Eine Rolle verfügt über ein oder mehrere Berechtigungen. Benutzern (null oder mehr) werden Rollen zugewiesen, damit sie die in diesen Berechtigungen definierten Aktionen ausführen können. Rollen werden in einer einzigen Datenbank gespeichert.

Diagnoseprotokollüberwachung

Eine weitere benannte userId Spalte wird in der MongoRequests Tabelle im Diagnosefeature des Azure-Portals angezeigt. In dieser Spalte wird angezeigt, welcher Benutzer jeden Datenplanvorgang ausgeführt hat. Der Wert in dieser Spalte bleibt leer, wenn die rollenbasierte Zugriffssteuerung nicht aktiviert ist.

Berechtigungen

Diese Liste enthält alle Berechtigungen, die für Rollen in Azure Cosmos DB für MongoDB verfügbar sind.

  • Abfragen und Schreiben
    • find
    • insert
    • remove
    • update
  • Datenströme ändern
    • changeStream
  • Datenbankverwaltung
    • createCollection
    • createIndex
    • dropCollection
    • killCursors
    • killAnyCursor
  • Serververwaltung
    • dropDatabase
    • dropIndex
    • reIndex
  • Diagnostik
    • collStats
    • dbStats
    • listDatabases
    • listCollections
    • listIndexes

Integrierte Rollen

Diese Rollen sind bereits in jeder Datenbank vorhanden und müssen nicht erstellt werden.

read readWrite dbAdmin dbOwner
changeStream ✅ Ja ✅ Ja ✅ Ja ✅ Ja
collStats ✅ Ja ✅ Ja ✅ Ja ✅ Ja
listCollections ✅ Ja ✅ Ja ✅ Ja ✅ Ja
listIndexes ✅ Ja ✅ Ja ✅ Ja ✅ Ja
createCollection ✖️ Nein ✅ Ja ✅ Ja ✅ Ja
createIndex ✖️ Nein ✅ Ja ✅ Ja ✅ Ja
dropCollection ✖️ Nein ✅ Ja ✅ Ja ✅ Ja
dbStats ✖️ Nein ✖️ Nein ✅ Ja ✅ Ja
dropDatabase ✖️ Nein ✖️ Nein ✅ Ja ✅ Ja
reIndex ✖️ Nein ✖️ Nein ✅ Ja ✅ Ja
find ✅ Ja ✅ Ja ✖️ Nein ✅ Ja
killCursors ✅ Ja ✅ Ja ✖️ Nein ✅ Ja
dropIndex ✖️ Nein ✅ Ja ✅ Ja ✅ Ja
insert ✖️ Nein ✅ Ja ✖️ Nein ✅ Ja
remove ✖️ Nein ✅ Ja ✖️ Nein ✅ Ja
update ✖️ Nein ✅ Ja ✖️ Nein ✅ Ja