Lorsque vous créez une instance ApsaraDB for MongoDB, le système génère automatiquement un compte root dans la base de données admin. Les autorisations accordées à ce compte root dépendent de la version de MongoDB exécutée par votre instance.
| Version de l'instance | Rôle attribué au compte root |
|---|---|
| MongoDB 4.2 et versions antérieures | Rôle intégré root |
| MongoDB 4.4 ou version ultérieure | Rôle alibabaCloudAdmin (rôle personnalisé Alibaba Cloud) |
Pour vérifier les actions autorisées pour le compte root, exécutez la commande suivante :
db.getSiblingDB("admin").runCommand({usersInfo: "root"});
Pour plus d'informations sur la commande usersInfo, consultez la documentation usersInfo.
Pour inspecter les autorisations d'un rôle spécifique, utilisez la commande rolesInfo. Pour le rôle intégré root, reportez-vous à la section root.
Par mesure de sécurité des données, évitez d'utiliser le compte root pour les opérations quotidiennes sur la base de données. Créez plutôt un compte dédié disposant uniquement des autorisations requises par votre charge de travail. Consultez la rubrique Créer un compte pour une instance ApsaraDB for MongoDB.
Autorisations du rôle alibabaCloudAdmin
Le rôle alibabaCloudAdmin est un rôle personnalisé conçu pour ApsaraDB for MongoDB. Il diffère du rôle standard root ; comprendre ces distinctions vous aide à éviter les erreurs d'autorisation inattendues.
Rôles intégrés inclus
Le rôle alibabaCloudAdmin combine les rôles intégrés MongoDB suivants :
| Rôle intégré | Fonctionnalités |
|---|---|
| readWriteAnyDatabase | Lecture et écriture des collections dans n'importe quelle base de données |
| userAdminAnyDatabase | Gestion des comptes dans n'importe quelle base de données |
| dbAdminAnyDatabase | Interrogation des statistiques et gestion des index dans n'importe quelle base de données |
| clusterMonitor | Accès en lecture seule aux outils de surveillance |
| backup | Exécution des opérations de sauvegarde |
| enableSharding | Activation du sharding sur une base de données |
| restore | Restauration des données à partir des sauvegardes |
Restriction relative à la base de données admin
Le rôle alibabaCloudAdmin dispose d'un accès en lecture seule à la base de données admin. Il ne peut pas écrire dans cette base de données, ni créer de comptes disposant d'autorisations d'écriture sur celle-ci.
Dans certains scénarios, l'écriture de données dans la base de données admin peut provoquer de graves variations de performance (jitter). Par conséquent, vous ne pouvez pas créer d'utilisateurs ou de rôles avec les autorisations readWrite, dbAdmin ou dbOwner appliquées à la base de données admin.
Différences par rapport au comportement standard de MongoDB
Les autorisations xxxAnyDatabase d'ApsaraDB for MongoDB (telles que readWriteAnyDatabase) ne couvrent pas les bases de données config, local et admin. Dans MongoDB standard, ces rôles incluent toutes les bases de données. Tenez-en compte lors de l'attribution d'autorisations pour les opérations qui touchent ces bases de données système.
Commandes d'O&M pour les clusters shardés
Pour les instances en cluster shardé, le compte root doté du rôle alibabaCloudAdmin peut exécuter directement les commandes d'O&M suivantes :
flushRouterConfig, cleanupOrphaned, runCommandOnShard, splitVector, clearJumboFlag, moveChunk, splitChunk