Delen via


Lees- en lees-/schrijfbevoegdheden met secundaire systeemeigen gebruikers in Azure DocumentDB

Azure DocumentDB biedt ondersteuning voor secundaire systeemeigen DocumentDB-gebruikers met speciale rollen voor lezen/schrijven en alleen-lezen, waardoor beveiligde overdracht van gegevenstoegang mogelijk is. Het ingebouwde beheerdersaccount, dat is gemaakt tijdens het inrichten van het cluster, heeft volledige bevoegdheden, waaronder gebruikersbeheer. Secundaire gebruikers worden automatisch gerepliceerd naar clusterreplica's, maar gebruikersbeheer moet worden uitgevoerd op het primaire cluster.

Vereiste voorwaarden

  • Een Azure-abonnement

  • Een bestaand Azure DocumentDB-cluster

Systeemeigen rollen

Azure DocumentDB biedt ondersteuning voor systeemeigen op rollen gebaseerd toegangsbeheer voor secundaire gebruikers met de volgende rollen:

Description
readWriteAnyDatabase Volledige lees-/schrijfmachtigingen, waaronder databasebeheer
clusterAdmin Volledige lees-/schrijfmachtigingen, waaronder databasebeheer
readAnyDatabase Alleen-lezenmachtigingen

Gebruikers en rollen beheren met MongoDB-stuurprogramma's of hulpprogramma's zoals MongoDB Shell (mongosh).

Opmerking

Alleen volledige lees-/schrijfgebruikers met zowel databasebeheer- als bewerkingsbevoegdheden worden ondersteund. Rollen kunnen niet afzonderlijk worden toegewezen.

Bewerkingen verifiëren en uitvoeren via MongoDB Shell

Verifieer met behulp van het ingebouwde beheerdersaccount dat is gemaakt tijdens het inrichten van het cluster. Dit account heeft exclusieve bevoegdheden voor gebruikersbeheer (userAdmin) in het cluster.

  1. Open een terminal op een client waarop MongoDB-shell is geïnstalleerd.

  2. Haal de naam van uw Azure DocumentDB-cluster en uw huidige referenties op.

    Aanbeveling

    U kunt de systeemeigen verbindingsreeks voor het cluster ophalen in Azure Portal met behulp van de sectie Verbindingsreeksen .

  3. Maak verbinding met behulp van de volgende verbindingsreeks:

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

Gebruikers beheren

Hiermee maakt u een nieuwe gebruiker in het cluster waarop u de opdracht uitvoert. De createUser opdracht retourneert een dubbele gebruikersfout als de gebruiker al bestaat.

  1. Maak een gebruiker met beheerdersrechten voor het gegevensvlak.

    db.runCommand(
      {
        createUser:"yourUserName",
        pwd : "yourPassword",
        roles : [
          { role:"clusterAdmin",db:"admin" },
          { role:"readWriteAnyDatabase", db:"admin" }
        ]
      }
    )
    
  2. Maak een gebruiker met alleen-lezenrechten.

    db.runCommand(
      {
        createUser:"yourUserName",
        pwd : "yourPassword",
        roles : [
          { role:"readAnyDatabase",db:"admin" }
        ]
      }
    )
    
  3. Werk een gebruiker in de database bij door de opdracht uit te updateUser voeren.

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

    Opmerking

    De opdracht ondersteunt alleen het bijwerken van het wachtwoord.

  4. Een gebruiker uit het cluster verwijderen.

    use admin
    
    db.runCommand(
      {
        dropUser:"<username>"
      }
    )
    
  5. Haal details op over alle systeemeigen gebruikers in het cluster of geef één gebruiker op om informatie over hun rollen en andere kenmerken op te halen.

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