Dela via


Läs- och läs-/skrivbehörigheter med sekundära användare i Azure Cosmos DB för MongoDB vCore (förhandsversion)

Azure Cosmos DB for MongoDB vCore har nu stöd för sekundära användare med särskilda skrivroller. Den här funktionen gör det möjligt för sekundära användare att komma åt och ändra data, vilket gör det enklare att delegera ansvarsområden samtidigt som datasäkerheten förbättras. Genom att tillåta detaljerad åtkomstkontroll kan team med säkerhet utöka dataåtkomsten till olika intressenter, till exempel utvecklare och analytiker, utan att äventyra systemets integritet.

Konfigurera sekundära användare

Kommentar

Du kan aktivera/inaktivera den här funktionen med hjälp av en ARM-mall eller via Azure CLI under förhandsgranskningsfasen.

Med hjälp av 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\"]}"

Använda ARM-mall

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

Kommandon och exempel som stöds

MongoDB vCore stöder nu rollbaserad åtkomstkontroll (RBAC) för sekundära användare med läs- och skrivbehörighet. På så sätt kan administratörer tilldela roller som ger åtkomst till sekundära databaser för viktiga läsåtgärder samtidigt som primära dataintegritet skyddas.

Kommentar

Du kan använda någon av MongoDB-drivrutinerna eller mongotools som mongosh för att utföra dessa åtgärder.

Autentisera och utföra åtgärder via Mongosh

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

Kommentar

Se till att du tillåterlistning av klient-IP-adressen under nätverksinställningarna på Azure Portal.

CreateUser

Skapar en ny användare i databasen där du kör kommandot. Kommandot createUser returnerar ett duplicerat användarfel om användaren finns.

Dataadministratörsroll

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

ReadOnly-roll

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

Uppdatera användare

Uppdaterar en användare i databasen där du kör kommandot. Kommandot updateUser stöder endast uppdatering av lösenordet.

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

Släpp användare

Tar bort användaren från databasen där du kör kommandot.

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

Visa användare

Returnerar information om en eller flera användare. Det har också stöd för att skicka in en enskild användare till usersInfo. I så fall returneras information om användaren, dess roll osv.

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

Begränsningar

  • Du kan skapa upp till 10 användare/roller per kluster. Om du har ett krav på att lägga till fler användare öppnar du ett supportärende.
  • Kommandot Updateuser stöder nu endast lösenordsuppdateringar och kan inte ändra andra objektfält.
  • Kommandot Roleinfo stöds inte i förhandsversionen. Du kan också använda usersInfo.
  • RBAC-stöd för att tilldela roller till specifika databaser eller samlingar stöds ännu inte.