Partage via


Privilèges de lecture et d’écriture avec des utilisateurs secondaires sur Azure Cosmos DB for MongoDB vCore (préversion)

Azure Cosmos DB for MongoDB vCore prend désormais en charge les utilisateurs secondaires disposant de rôles en lecture-écriture spécialisés. Cette fonctionnalité permet aux utilisateurs secondaires d’accéder aux données et de les modifier, ce qui facilite la délégation des responsabilités tout en améliorant la sécurité des données. En permettant un contrôle d'accès granulaire, les équipes peuvent étendre en toute confiance l'accès aux données à divers acteurs, tels que les développeurs et les analystes, sans compromettre l'intégrité du système.

Configuration des utilisateurs secondaires

Remarque

Vous pouvez activer/désactiver cette fonctionnalité à l’aide d’un modèle ARM ou via Azure CLI pendant la phase de préversion.

Utilisation de l’interface de ligne de commande Azure

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

Utilisation d’un modèle ARM

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

Commandes et exemples pris en charge

MongoDB vCore prend désormais en charge le contrôle d’accès en fonction du rôle (RBAC) pour les utilisateurs secondaires disposant de privilèges de lecture et d’écriture. Cela permet aux administrateurs d’attribuer des rôles qui accordent l’accès aux bases de données secondaires pour les opérations de lecture essentielles tout en protégeant l’intégrité des données primaires.

Remarque

Vous pouvez utiliser l’un des pilotes MongoDB ou des mongotools tels que mongosh pour effectuer ces opérations.

Authentifier et effectuer des opérations via Mongosh

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

Remarque

Veillez à autoriser l’inscription de l’adresse IP de votre client dans les paramètres de mise en réseau du Portail Azure.

CreateUser

Crée un utilisateur sur la base de données où vous exécutez la commande. La commande createUser retourne une erreur d’utilisateur en double si l’utilisateur existe.

Rôle d’administrateur de données

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

Mode Lecture seule

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

Mettre à jour un utilisateur

Met à jour un utilisateur sur la base de données où vous exécutez la commande. La commande updateUser prend uniquement en charge la mise à jour du mot de passe.

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

Supprimer l’utilisateur

Supprime l’utilisateur de la base de données sur laquelle vous exécutez la commande.

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

Afficher la liste des utilisateurs

Retourne des informations sur un ou plusieurs utilisateurs. Elle prend également en charge la transmission d’un utilisateur unique à usersInfo. Dans ce cas, elle retourne des informations sur l’utilisateur, son rôle, etc.

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

Limites

  • Vous pouvez créer jusqu’à 10 utilisateurs/rôles par cluster. Si vous avez besoin d’ajouter d’autres utilisateurs, ouvrez un ticket de support.
  • La commande Updateuser prend désormais uniquement en charge les mises à jour de mot de passe et ne peut pas modifier d’autres champs d’objet.
  • La commande Roleinfo n’est pas prise en charge en préversion. Vous pouvez également utiliser usersInfo.
  • La prise en charge du contrôle d’accès en fonction du rôle (RBAC) pour l’attribution de rôles à des bases de données ou collections spécifiques n’est pas encore disponible.