View a markdown version of this page

Gestion des utilisateurs d'Amazon DocumentDB - Amazon DocumentDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Gestion des utilisateurs d'Amazon DocumentDB

Dans Amazon DocumentDB, les utilisateurs s'authentifient auprès d'un cluster en conjonction avec un mot de passe. Chaque cluster possède des informations de connexion principales qui sont établies lors de la création du cluster.

Note

Tous les nouveaux utilisateurs créés avant le 26 mars 2020 ont reçu les rôles clusterAdmin, dbAdminAnyDatabase et readWriteAnyDatabase. Il est recommandé de réévaluer tous les utilisateurs et de modifier les rôles si nécessaire pour appliquer le principe du moindre privilège à tous les utilisateurs de vos clusters.

Pour de plus amples informations, veuillez consulter Accès à la base de données via le contrôle Role-Based d'accès.

Utilisateur principal et utilisateur Serviceadmin

Un cluster Amazon DocumentDB récemment créé compte deux utilisateurs : l'utilisateur principal et l'serviceadminutilisateur.

L'utilisateur principal est un utilisateur unique et privilégié qui peut effectuer des tâches administratives et créer des utilisateurs supplémentaires dotés de rôles. Lorsque vous vous connectez à un cluster Amazon DocumentDB pour la première fois, vous devez vous authentifier à l'aide des informations de connexion principales. L'utilisateur principal reçoit ces autorisations administratives pour un cluster Amazon DocumentDB lors de la création de ce cluster et se voit attribuer le rôle deroot.

L'utilisateur serviceadmin est créé implicitement lors de la création du cluster. Chaque cluster Amazon DocumentDB possède un serviceadmin utilisateur qui permet AWS de gérer votre cluster. Vous ne pouvez pas vous connecter en tant que, supprimer, renommer, modifier le mot de passe ou modifier les autorisations pour serviceadmin. Toute tentative de ce type produit une erreur.

Note

Le principal et serviceadmin les utilisateurs d'un cluster Amazon DocumentDB ne peuvent pas être supprimés et le rôle de l'rootutilisateur principal ne peut pas être révoqué.

Si vous oubliez votre mot de passe d'utilisateur principal, vous pouvez le réinitialiser à l'aide du Console de gestion AWS ou du AWS CLI.

Création d'utilisateurs supplémentaires

Une fois connecté en tant qu'utilisateur principal (ou tout utilisateur ayant ce rôlecreateUser), vous pouvez créer un nouvel utilisateur, comme indiqué ci-dessous.

db.createUser( { user: "sample-user-1", pwd: "password123", roles: [{"db":"admin", "role":"dbAdminAnyDatabase" }] } )

Pour afficher les détails de l'utilisateur, vous pouvez utiliser la commande show users comme suit. Vous pouvez également supprimer des utilisateurs avec la commande dropUser. Pour de plus amples informations, veuillez consulter Commandes courantes.

show users { "_id" : "serviceadmin", "user" : "serviceadmin", "db" : "admin", "roles" : [ { "role" : "root", "db" : "admin" } ] }, { "_id" : "myPrimaryUser", "user" : "myPrimaryUser", "db" : "admin", "roles" : [ { "role" : "root", "db" : "admin" } ] }, { "_id" : "sample-user-1", "user" : "sample-user-1", "db" : "admin", "roles" : [ { "role" : "dbAdminAnyDatabase", "db" : "admin" } ] }

Dans l’exemple ci-dessus, le nouvel utilisateur sample-user-1 est attribué à la base de données admin. C'est toujours le cas pour un nouvel utilisateur. Amazon DocumentDB n'a pas le concept de authenticationDatabase et, par conséquent, toutes les authentifications sont effectuées dans le contexte de la admin base de données.

Lors de la création d'utilisateurs, si vous omettez le db champ lors de la spécification du rôle, Amazon DocumentDB attribuera implicitement le rôle à la base de données dans laquelle la connexion est émise. Par exemple, si votre connexion est émise sur la base de données sample-database et que vous exécutez la commande suivante, l'utilisateur sample-user-2 sera créé dans la base de données admin et aura des autorisations readWrite sur la base de données sample-database.

db.createUser( { user: "sample-user-2", pwd: "password123", roles: ["readWrite"] } )

La création d'utilisateurs avec des rôles étendus à toutes les bases de données (par exemple, readInAnyDatabase) nécessite que vous soyez dans le contexte de la base de données admin lors de la création de l'utilisateur, ou que vous indiquiez explicitement la base de données pour le rôle lors de la création de l'utilisateur.

Pour changer le contexte de votre base de données, vous pouvez utiliser la commande suivante.

use admin

Pour en savoir plus sur le contrôle d'accès basé sur les rôles et l'application du principe du moindre privilège parmi les utilisateurs de votre cluster, veuillez consulter Accès à la base de données via le contrôle Role-Based d'accès.

Rotation automatique des mots de passe pour Amazon DocumentDB

Avec AWS Secrets Manager, vous pouvez remplacer les informations d'identification codées en dur dans votre code (y compris les mots de passe) par un appel d'API à Secrets Manager pour récupérer le secret par programmation. Cela permet de garantir que le secret ne peut pas être mis en péril par une personne qui examine votre code, étant donné que le secret n'y figure pas. En outre, vous pouvez configurer Secrets Manager afin d'effectuer automatiquement une rotation du secret, selon une planification que vous spécifiez. Cela vous permet de remplacer les secrets à long terme par ceux à court terme, ce qui réduit considérablement le risque de mise en péril.

À l'aide de Secrets Manager, vous pouvez alterner automatiquement vos mots de passe Amazon DocumentDB (c'est-à-dire les mots de passe secrets) à l'aide d'une AWS Lambda fonction fournie par Secrets Manager.

Pour plus d'informations sur l'intégration native avec Amazon DocumentDB AWS Secrets Manager et son intégration native, consultez les rubriques suivantes :