Sdílet prostřednictvím


Oprávnění ke čtení a zápisu se sekundárními nativními uživateli prostředí Azure DocumentDB

Azure DocumentDB podporuje sekundární nativní uživatele DocumentDB se specializovanými rolemi pro čtení i zápis a jen pro čtení, což umožňuje zabezpečené delegování přístupu k datům. Integrovaný účet pro správu vytvořený během zřizování clusteru má úplná oprávnění, včetně správy uživatelů. Sekundární uživatelé se automaticky replikují do replik clusteru, ale správa uživatelů musí být provedena v primárním clusteru.

Požadavky

  • Předplatné Azure

  • Existující cluster Azure DocumentDB

Nativní role

Azure DocumentDB podporuje nativní řízení přístupu na základě role pro sekundární uživatele s následujícími rolemi:

Description
readWriteAnyDatabase Úplná oprávnění pro čtení i zápis, včetně správy databáze
clusterAdmin Úplná oprávnění pro čtení i zápis, včetně správy databáze
readAnyDatabase Oprávnění jen pro čtení

Správa uživatelů a rolí pomocí ovladačů Nebo nástrojů MongoDB, jako je MongoDB Shell (mongosh).

Poznámka:

Podporují se pouze úplní uživatelé pro čtení i zápis s oprávněními pro správu databáze i operace. Role nelze přiřadit samostatně.

Ověřování a provádění operací přes MongoDB Shell

Ověřte se pomocí integrovaného účtu pro správu vytvořeného během zřizování clusteru. Tento účet má výhradní oprávnění pro správu uživatelů (userAdmin) v clusteru.

  1. Otevřete terminál na klientovi s nainstalovaným MongoDB shellem.

  2. Získejte název clusteru Azure DocumentDB a aktuální přihlašovací údaje.

    Návod

    Nativní připojovací řetězec pro cluster můžete získat na webu Azure Portal pomocí části Připojovací řetězce .

  3. Připojte se pomocí následujícího připojovacího řetězce:

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

Správa uživatelů

Vytvoří nového uživatele v clusteru, ve kterém příkaz spustíte. Příkaz createUser vrátí duplicitní chybu uživatele, pokud již uživatel existuje.

  1. Vytvořte administrativního uživatele pro datovou rovinu.

    db.runCommand(
      {
        createUser:"yourUserName",
        pwd : "yourPassword",
        roles : [
          { role:"clusterAdmin",db:"admin" },
          { role:"readWriteAnyDatabase", db:"admin" }
        ]
      }
    )
    
  2. Vytvořte uživatele jen pro čtení.

    db.runCommand(
      {
        createUser:"yourUserName",
        pwd : "yourPassword",
        roles : [
          { role:"readAnyDatabase",db:"admin" }
        ]
      }
    )
    
  3. Spuštěním updateUser příkazu aktualizujte uživatele v databázi.

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

    Poznámka:

    Příkaz podporuje pouze aktualizaci hesla.

  4. Odeberte uživatele z clusteru.

    use admin
    
    db.runCommand(
      {
        dropUser:"<username>"
      }
    )
    
  5. Načtěte podrobnosti o všech nativních uživatelích v clusteru nebo zadejte jednoho uživatele, který získá informace o svých rolích a dalších atributech.

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