Partager via


Privilèges de lecture et de lecture/écriture avec des utilisateurs natifs secondaires sur Azure DocumentDB

Azure DocumentDB prend en charge les utilisateurs secondaires natifs de DocumentDB avec des rôles spécialisés de lecture-écriture et de lecture seule, permettant ainsi la délégation sécurisée de l’accès aux données. Le compte d’administration intégré, créé pendant l’approvisionnement de cluster, dispose de privilèges complets, notamment la gestion des utilisateurs. Les utilisateurs secondaires sont automatiquement répliqués sur des réplicas de cluster, mais la gestion des utilisateurs doit être effectuée sur le cluster principal.

Prerequisites

  • Un abonnement Azure

  • Un cluster Azure DocumentDB existant

    • Si vous n’avez pas de cluster, créez un cluster
  • Interpréteur de commandes MongoDB. Pour plus d’informations, consultez installer le shell MongoDB

  • Règles de pare-feu qui permettent à votre client de se connecter au cluster. Pour plus d’informations, consultez configurer le pare-feu.

Rôles autochtones

Azure DocumentDB prend en charge le contrôle d’accès en fonction du rôle natif pour les utilisateurs secondaires avec les rôles suivants :

Descriptif
readWriteAnyDatabase Autorisations complètes en lecture-écriture, y compris la gestion des bases de données
clusterAdmin Autorisations complètes en lecture-écriture, y compris la gestion des bases de données
readAnyDatabase Autorisations en lecture seule

Gérez les utilisateurs et les rôles à l’aide de pilotes ou d’outils MongoDB comme MongoDB Shell (mongosh).

Note

Seuls les utilisateurs en lecture-écriture complète disposant de privilèges de gestion de base de données et d’opérations sont pris en charge. Les rôles ne peuvent pas être attribués séparément.

Authentifier et effectuer des opérations via MongoDB Shell

Authentifiez-vous à l’aide du compte d’administration intégré créé lors de l’approvisionnement du cluster. Ce compte dispose de privilèges exclusifs de gestion des utilisateurs (userAdmin) sur le cluster.

  1. Ouvrez un terminal sur un client avec l’interpréteur de commandes MongoDB installé.

  2. Obtenez le nom de votre cluster Azure DocumentDB et vos informations d’identification actuelles.

    Conseil / Astuce

    Vous pouvez obtenir la chaîne de connexion native pour le cluster dans le portail Azure à l’aide de la section Chaînes de connexion .

  3. Connectez-vous à l’aide de la chaîne de connexion suivante :

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

Gérer les utilisateurs

Crée un utilisateur sur le cluster où vous exécutez la commande. La commande createUser retourne une erreur d’utilisateur en double si l’utilisateur existe déjà.

  1. Créez un utilisateur administratif de plan de données.

    db.runCommand(
      {
        createUser:"yourUserName",
        pwd : "yourPassword",
        roles : [
          { role:"clusterAdmin",db:"admin" },
          { role:"readWriteAnyDatabase", db:"admin" }
        ]
      }
    )
    
  2. Créez un utilisateur avec accès en lecture seule.

    db.runCommand(
      {
        createUser:"yourUserName",
        pwd : "yourPassword",
        roles : [
          { role:"readAnyDatabase",db:"admin" }
        ]
      }
    )
    
  3. Mettez à jour un utilisateur sur la base de données en exécutant la updateUser commande.

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

    Note

    La commande prend uniquement en charge la mise à jour du mot de passe.

  4. Supprimez un utilisateur du cluster.

    use admin
    
    db.runCommand(
      {
        dropUser:"<username>"
      }
    )
    
  5. Récupérez des détails sur tous les utilisateurs natifs du cluster ou spécifiez un seul utilisateur pour obtenir des informations sur leurs rôles et d’autres attributs.

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