Sdílet prostřednictvím


Oprávnění ke čtení a zápisu se sekundárními uživateli ve službě Azure Cosmos DB pro virtuální jádro MongoDB (Preview)

Virtuální jádro Azure Cosmos DB pro MongoDB teď podporuje sekundární uživatele se specializovanými rolemi pro čtení i zápis. Tato funkce umožňuje sekundárním uživatelům přístup k datům a jejich úpravu, což usnadňuje delegování zodpovědností při vylepšování zabezpečení dat. Díky povolení podrobného řízení přístupu můžou týmy s jistotou rozšířit přístup k datům různým zúčastněným stranám, jako jsou vývojáři a analytici, aniž by to ovlivnilo integritu systému.

Konfigurace sekundárních uživatelů

Poznámka:

Tuto funkci můžete povolit nebo zakázat pomocí šablony ARM nebo azure CLI během fáze Preview.

Pomocí Azure CLI

    az resource patch --ids "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroup}/providers/Microsoft.DocumentDB/mongoClusters/{ClusterName}" --api-version 2024-10-01-preview --properties "{\"previewFeatures\": [\"GeoReplicas\", \"EnableReadOnlyUser\"]}"

Použití šablony Resource Manageru

"previewFeatures": {
            "value": [
                "EnableReadOnlyUser"
            ]
        }

Podporované příkazy a příklady

Virtuální jádro MongoDB teď podporuje řízení přístupu na základě role (RBAC) pro sekundární uživatele s oprávněními ke čtení a zápisu. Správci tak můžou přiřazovat role, které udělují přístup sekundárním databázím pro základní operace čtení při ochraně integrity primárních dat.

Poznámka:

K provedení těchto operací můžete použít kterýkoli z ovladačů MongoDB nebo mongotools, jako je mongosh.

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

mongosh mongodb+srv://<YOUR_USERNAME>:<YOUR_PASSWORD>@>YOUR_HOST>?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000

Poznámka:

Ujistěte se, že jste ip adresu klienta povolili v nastavení sítě na webu Azure Portal.

CreateUser

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

Role správce dat

use admin
db.runCommand(
    {
        createUser:"yourUserName",
        pwd : "yourPassword",
        roles : [
            { role:"clusterAdmin",db:"admin" },
            { role:"readWriteAnyDatabase", db:"admin" }
        ]
    }
)

Role Jen pro čtení

use admin
db.runCommand(
    {
        createUser:"yourUserName",
        pwd : "yourPassword",
        roles : [
            { role:"readAnyDatabase",db:"admin" }
        ]
    }
)

Aktualizace uživatele

Aktualizuje uživatele v databázi, ve které příkaz spustíte. Příkaz updateUser podporuje pouze aktualizaci hesla.

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

Přetažení uživatele

Odebere uživatele z databáze, na které příkaz spustíte.

use admin
db.runCommand(
    {
        dropUser:"<username>"
    }
)

Vypsání uživatelů

Vrátí informace o jednom nebo více uživatelích. Podporuje také předávání jednoho uživatele do usersInfo. V takovém případě vrátí informace o uživateli, jeho roli atd.

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

Omezení

  • Pro každý cluster můžete vytvořit až 10 uživatelů a rolí. Pokud potřebujete přidat další uživatele, otevřete lístek podpory.
  • Příkaz Updateuser teď podporuje pouze aktualizace hesel a nemůže upravovat jiná pole objektů.
  • Příkaz Roleinfo není ve verzi Preview podporovaný. Alternativně můžete použít usersInfo.
  • Podpora RBAC pro přiřazování rolí konkrétním databázím nebo kolekcím se zatím nepodporuje.