Freigeben über


Leseberechtigungen und Lese-/Schreibberechtigungen für sekundäre native Benutzer in Azure DocumentDB

Azure DocumentDB unterstützt sekundäre native DocumentDB-Benutzer mit spezialisierten Lese-/Schreib- und schreibgeschützten Rollen, wodurch eine sichere Delegierung des Datenzugriffs ermöglicht wird. Das integrierte Administratorkonto, das während der Clusterbereitstellung erstellt wurde, verfügt über vollständige Berechtigungen, einschließlich der Benutzerverwaltung. Sekundäre Benutzer werden automatisch in Clusterreplikate repliziert, aber die Benutzerverwaltung muss auf dem primären Cluster ausgeführt werden.

Voraussetzungen

  • Ein Azure-Abonnement

    • Wenn Sie nicht über ein Azure-Abonnement verfügen, erstellen Sie ein kostenloses Konto
  • Ein vorhandener Azure DocumentDB-Cluster

    • Wenn Sie keinen Cluster haben, erstellen Sie einen neuen Cluster.

Systemeigene Rollen

Azure DocumentDB unterstützt systemeigene rollenbasierte Zugriffssteuerung für sekundäre Benutzer mit den folgenden Rollen:

Description
readWriteAnyDatabase Vollständige Lese-/Schreibberechtigungen, einschließlich Datenbankverwaltung
clusterAdmin Vollständige Lese-/Schreibberechtigungen, einschließlich Datenbankverwaltung
readAnyDatabase Schreibgeschützte Berechtigungen

Verwalten Sie Benutzer und Rollen mithilfe von MongoDB-Treibern oder Tools wie MongoDB Shell (mongosh).

Hinweis

Nur vollständige Lese-/Schreibzugriffsbenutzer mit Datenbankverwaltungs- und Betriebsberechtigungen werden unterstützt. Rollen können nicht separat zugewiesen werden.

Authentifizieren und Ausführen von Vorgängen über die MongoDB-Shell

Authentifizieren Sie sich mithilfe des integrierten Verwaltungskontos, das während der Clusterbereitstellung erstellt wurde. Dieses Konto verfügt über exklusive Benutzerverwaltungsberechtigungen (userAdmin) auf dem Cluster.

  1. Öffnen Sie ein Terminal auf einem Client mit installierter MongoDB-Shell.

  2. Rufen Sie den Namen Ihres Azure DocumentDB-Clusters und Ihre aktuellen Anmeldeinformationen ab.

    Tipp

    Sie können die systemeigene Verbindungszeichenfolge für den Cluster im Azure-Portal mithilfe des Abschnitts "Verbindungszeichenfolgen" abrufen.

  3. Stellen Sie eine Verbindung mithilfe der folgenden Verbindungszeichenfolge her:

    mongosh "mongodb+srv://<username>:<password>@<cluster-name>?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"
    

Verwalten von Benutzern

Erstellt einen neuen Benutzer im Cluster, in dem Sie den Befehl ausführen. Der createUser Befehl gibt einen doppelten Benutzerfehler zurück, wenn der Benutzer bereits vorhanden ist.

  1. Erstellen Sie einen Administrativen Benutzer auf der Datenebene.

    db.runCommand(
      {
        createUser:"yourUserName",
        pwd : "yourPassword",
        roles : [
          { role:"clusterAdmin",db:"admin" },
          { role:"readWriteAnyDatabase", db:"admin" }
        ]
      }
    )
    
  2. Erstellen Sie einen schreibgeschützten Benutzer.

    db.runCommand(
      {
        createUser:"yourUserName",
        pwd : "yourPassword",
        roles : [
          { role:"readAnyDatabase",db:"admin" }
        ]
      }
    )
    
  3. Aktualisieren Sie einen Benutzer in der Datenbank, indem Sie den updateUser Befehl ausführen.

    use admin
    
    db.runCommand(
      {
        updateUser:"<username>",
        pwd : "<new cleartext password>"
      }
    )
    

    Hinweis

    Der Befehl unterstützt nur das Aktualisieren des Kennworts.

  4. Entfernen Sie einen Benutzer aus dem Cluster.

    use admin
    
    db.runCommand(
      {
        dropUser:"<username>"
      }
    )
    
  5. Rufen Sie Details zu allen systemeigenen Benutzern im Cluster ab, oder geben Sie einen einzelnen Benutzer an, um Informationen zu ihren Rollen und anderen Attributen abzurufen.

    use admin
    
    db.runCommand(
      {
        usersInfo:1
      }
    )