Data Management (DMS) vous permet de créer des comptes de base de données pour MySQL, MongoDB et PostgreSQL, de personnaliser les combinaisons de types d'autorisations et d'accorder des autorisations au niveau des tables. Cette rubrique explique comment créer, modifier et supprimer des comptes de base de données, ainsi que gérer les autorisations des comptes dans DMS.
DMS prend en charge la gestion des comptes uniquement pour les bases de données MySQL, PostgreSQL et MongoDB. Pour gérer les comptes d'autres moteurs de base de données, accédez à la console du service correspondant.
Prérequis
-
La base de données doit être l'un des types suivants :
MySQL : ApsaraDB RDS for MySQL, PolarDB for MySQL, AnalyticDB for MySQL, une base de données MySQL auto-gérée, une base de données MariaDB auto-gérée ou ApsaraDB for MariaDB.
-
ApsaraDB for MongoDB.
RemarqueSi vous créez un utilisateur dans la base de données Admin, assurez-vous qu'au moins un utilisateur existant dispose de l'autorisation de créer des utilisateurs, telle que dbAdminAnyDatabase, userAdmin ou userAdminAnyDatabase.
PostgreSQL : ApsaraDB RDS for PostgreSQL ou AnalyticDB for PostgreSQL.
Votre rôle système est administrateur DMS, DBA ou utilisateur standard (propriétaire de l'instance). Pour plus d'informations, consultez la section Rôles système.
Vous avez obtenu le Database account et le Database password de la base de données cible.
Si vous souhaitez créer des comptes dans la console DMS, assurez-vous que le Database account utilisé pour se connecter à DMS dispose de l'autorisation de créer des utilisateurs.
Exemples de gestion des autorisations des comptes
-
Accordez au compte A les autorisations globales
SELECTetUPDATE.RemarqueLes autorisations globales s'appliquent au niveau de l'instance de base de données. Pour plus d'informations sur les types d'autorisations globales, consultez la section Référence des autorisations.
-
Accordez au compte B l'autorisation
SELECTsur une seule table ou l'autorisationUPDATEsur une colonne spécifique.RemarqueLes autorisations d'objet peuvent s'appliquer à tous les objets de base de données ou à un ou plusieurs objets de base de données spécifiés. Pour plus d'informations sur les types d'autorisations d'objet, consultez la section Référence des autorisations.
Instructions
Gérer les comptes de base de données
Créer un compte de base de données
Les comptes de base de données créés via DMS sont des comptes standard.
Un administrateur DMS est un utilisateur RAM qui gère l'accès à la console DMS et approuve les opérations. Un compte de base de données privilégié est défini au niveau de l'instance de base de données et dispose d'autorisations d'opération sur la base de données, telles que CREATE USER et GRANT. Ces deux entités relèvent de systèmes d'autorisation distincts : pour exécuter des opérations d'administration de base de données comme CREATE USER dans DMS, vous devez utiliser un compte de base de données privilégié. Un administrateur DMS ne possède pas ces autorisations au niveau de la base de données.
Si vous rencontrez l'erreur suivante lors de l'exécution de CREATE USER dans DMS :
execute create_user failed: you need (at least one of) the create user privilege for this operation
Résolvez le problème comme suit :
Créez un compte privilégié dans la console ApsaraDB RDS, connectez-vous à DMS avec ce compte, puis réessayez l'opération.
Vous pouvez également créer l'utilisateur de base de données directement sur la page Account Management de la console ApsaraDB RDS.
Si le mode d'hébergement de sécurité est activé pour l'instance DMS, il se peut que vous ne puissiez pas changer de compte de base de données dans DMS. Dans ce cas, créez le compte dans la console ApsaraDB RDS ou ajustez les paramètres d'hébergement de sécurité de l'instance avant de réessayer.
Créer un compte de base de données MySQL
Connectez-vous à DMS 5.0.
Connectez-vous à la base de données cible. Pour plus d'informations, consultez la rubrique Se connecter à une base de données.
Sur la page d'accueil, cliquez sur l'instance de base de données dans le volet de navigation de gauche. Dans la liste des instances, faites un clic droit sur le nom de l'instance cible et cliquez sur Database Account Management.
Sur la page Database Account Management, cliquez sur Create Database Account en haut à gauche.
-
Dans la boîte de dialogue qui s'affiche, configurez les paramètres suivants.
-
Cliquez sur l'onglet Basic settings et configurez les paramètres.
Paramètre
Description
Database account
Nom du compte utilisé pour se connecter à la base de données.
Host
Adresse IP à partir de laquelle le compte est autorisé à accéder à la base de données.
RemarqueSi vous laissez ce paramètre vide, le compte n'est pas restreint à une adresse IP spécifique. La valeur par défaut est
%.Password
Mot de passe de connexion.
Confirm Password
Saisissez à nouveau le mot de passe de connexion.
RemarqueL'instruction SQL générée à partir des paramètres précédents est au format suivant :
CREATE USER.Pour configurer les Advanced Options, cliquez sur le bouton Advanced Options et configurez les options.
Par exemple, l'instruction SQL générée à partir des paramètres suivants est :
GRANT USAGE ON *.* TO 'username'@'host' WITH MAX_QUERIES_PER_HOUR 100 MAX_UPDATES_PER_HOUR 200 MAX_CONNECTIONS_PER_HOUR 300 MAX_USER_CONNECTIONS 400; -
Cliquez sur l'onglet Global permissions et sélectionnez les autorisations cibles. Pour plus d'informations sur les autorisations globales, consultez la section Autorisations globales MySQL.
RemarqueSi vous utilisez un compte standard et que vous ne trouvez pas l'autorisation cible dans la liste des types d'autorisation, il se peut que le compte ne dispose pas de l'autorisation requise ou que le type d'instance ne prenne pas en charge cette autorisation. Si le problème est dû à des autorisations de compte insuffisantes, réessayez avec un compte privilégié.
-
Cliquez sur l'onglet Object permissions et configurez les paramètres. Pour plus d'informations sur les autorisations d'objet, consultez la section Autorisations d'objet MySQL.
Par exemple, les instructions SQL générées à partir des paramètres suivants sont :
GRANT SELECT,INSERT ON `rds_db`.* TO 'username'@'host'; GRANT DELETE ON `rds_db`.`rds_table` TO 'username'@'host';
-
Cliquez sur Confirm.
-
Dans la boîte de dialogue Preview SQL Statement, cliquez sur Confirm.
RemarqueLes instances de base de données en mode Security Collaboration sont soumises à des règles de sécurité. Si l'opération ne peut pas être effectuée, suivez les instructions à l'écran ou contactez un DBA ou un administrateur DMS. Pour plus d'informations sur l'ajustement des règles de sécurité, consultez la FAQ.
Créer un compte de base de données MongoDB
Connectez-vous à DMS 5.0.
-
Connectez-vous à la base de données cible. Pour plus d'informations, consultez la rubrique Se connecter à une base de données.
ImportantPour une instance MongoDB en replica set, connectez-vous au nœud principal.
Sur la page d'accueil, cliquez sur l'instance de base de données dans le volet de navigation de gauche. Dans la liste des instances, faites un clic droit sur le nom de l'instance de destination et cliquez sur Database Account Management.
-
Cliquez sur Create User dans le coin supérieur gauche de la page et configurez les informations suivantes.
-
Configurez les informations utilisateur.
Dans la boîte de dialogue Create User, l'onglet Current Database Permissions propose les rôles suivants :
Normal operation role :
read(autorisation d'interroger les données dans la base de données actuelle) etreadWrite(autorisation d'insérer, de supprimer, de modifier et d'interroger les données dans la base de données actuelle)Administrator operation role :
dbAdmin(opérations de gestion sur les objets de base de données, sans autorisation de lecture et d'écriture sur la base de données) etuserAdmin(autorisation de créer des utilisateurs dans la base de données actuelle)
Parameter
Description
Target database
Sélectionnez la base de données à laquelle l'utilisateur appartient dans la liste déroulante.
RemarqueSi vous sélectionnez une base de données autre que admin, l'utilisateur créé est un utilisateur standard.
Si vous sélectionnez la base de données admin, l'utilisateur créé est un utilisateur privilégié.
Username
Le nom de l'utilisateur.
Les caractères chinois ne sont pas pris en charge.
Les lettres, les chiffres et les caractères spéciaux sont pris en charge.
Les caractères spéciaux incluent :
!#$%^&*()_+-=
Password
Le mot de passe de l'utilisateur.
Pour garantir la sécurité des données, le mot de passe doit comporter entre 8 et 32 caractères et contenir au moins trois des types de caractères suivants :
Lettres majuscules
Lettres minuscules
Chiffres
Caractères spéciaux (
!#$%^&*()_+-=)
Confirm Password
Saisissez à nouveau le mot de passe.
-
Configurez les autorisations de l'utilisateur.
Remarque-
Si vous sélectionnez la base de données admin comme base de données cible :
Dans l'onglet Current Database Permissions, vous pouvez configurer des autorisations telles que Normal operation role, Administrator operation role, Instance-level operation role, Cluster management role, Backup and restore role et Superuser role. Pour plus d'informations sur les autorisations des rôles, consultez la section Autorisations des rôles MongoDB.
Vous pouvez également cliquer sur l'onglet Other Database Permissions pour ajouter des noms de bases de données et configurer les autorisations de rôle pour les bases de données correspondantes.
-
Si vous sélectionnez une base de données autre que admin comme base de données cible :
Dans l'onglet Current Database Permissions, vous pouvez uniquement configurer les rôles Normal operation role et Administrator operation role pour la base de données actuelle. Pour plus d'informations sur les autorisations des rôles, consultez la section Autorisations des rôles MongoDB.
L'onglet Other Database Permissions n'est pas disponible.
-
-
-
Cliquez sur Confirm.
RemarqueLes instances de base de données en mode Security Collaboration sont soumises à des règles de sécurité. Si l'opération ne peut pas être effectuée, suivez les instructions affichées à l'écran ou contactez un administrateur de base de données (DBA) ou un administrateur DMS.
Créer un compte de base de données PostgreSQL
Connectez-vous à DMS 5.0.
Connectez-vous à la base de données cible. Pour plus d'informations, consultez la rubrique Se connecter à une base de données.
Cliquez sur Database instances dans le volet de gauche de la page d'accueil. Dans la liste des instances, cliquez avec le bouton droit sur le nom de l'instance cible, puis cliquez sur Account Management.
Sur la page Account Management, cliquez sur Create User en haut à gauche.
-
Dans la boîte de dialogue qui s'affiche, configurez les paramètres suivants.
-
Cliquez sur l'onglet Basic settings et configurez les paramètres.
Parameter
Description
User name
Nom d'utilisateur du compte.
Password
Mot de passe de connexion.
Confirm Password
Saisissez à nouveau le mot de passe de connexion.
Password expiration time
Date d'expiration du mot de passe. Par exemple, si vous définissez l'expiration du mot de passe au 30 décembre 2021 à 00 h 00, le mot de passe deviendra invalide à ce moment-là.
Ce paramètre est facultatif. Par défaut, le mot de passe n'expire pas.
Connection limit
Nombre maximal de connexions simultanées pour le compte. Par exemple, si vous définissez ce paramètre sur 10, le compte peut se connecter à la base de données depuis un maximum de 10 clients en même temps.
La valeur par défaut est -1, ce qui indique que le nombre de connexions n'est pas limité.
Remarks
Description du compte.
-
Cliquez sur l'onglet Permissions et sélectionnez les autorisations cibles.
Permission type
Description
Allow logon
Autorisation de connexion. Les commandes SQL correspondantes sont
LOGINetNOLOGIN. Par défaut, la connexion est autorisée.Allow user creation
Autorisation de créer des comptes de base de données. Les commandes SQL correspondantes sont
CREATEROLEetNOCREATEROLE. Par défaut, la création d'utilisateurs est autorisée.Allow database creation
Autorisation de créer des bases de données. Les commandes SQL correspondantes sont
CREATEDBetNOCREATEDB. Par défaut, la création de bases de données est autorisée.
-
Cliquez sur Confirm.
-
Dans la boîte de dialogue Preview SQL, cliquez sur Confirm.
RemarqueLes instances de base de données en mode Security Collaboration sont soumises à des règles de sécurité. Si l'opération ne peut pas être effectuée, suivez les instructions affichées à l'écran ou contactez un administrateur de base de données (DBA) ou un administrateur DMS. Pour plus d'informations sur l'ajustement des règles de sécurité, consultez la rubrique Référence des autorisations.
Modifier ou supprimer un compte
Vous pouvez utiliser la fonctionnalité de modification de compte pour changer le Username, le Password, ainsi que les Global permissions et les Object permissions MySQL d'un compte.
Connectez-vous à DMS 5.0.
Cliquez sur Database instances dans le volet de droite de la page d'accueil. Dans la liste des instances, cliquez avec le bouton droit sur le nom de l'instance cible, puis cliquez sur Account Management.
Recherchez le compte cible et cliquez sur Edit ou Delete pour effectuer l'opération correspondante.
Modifier ou supprimer un compte
Vous pouvez utiliser la fonctionnalité de modification de compte pour changer le Username, le Password, ainsi que les Global permissions et les Object permissions MySQL d'un compte.
Connectez-vous à DMS 5.0.
Sur la page d'accueil, cliquez sur l'instance de base de données dans le volet de navigation de gauche. Dans la liste des instances, cliquez avec le bouton droit sur le nom de l'instance de destination, puis cliquez sur Database Account Management.
Recherchez le compte cible et cliquez sur Edit ou Delete pour effectuer l'opération correspondante.
Changer le compte de base de données
Connectez-vous à DMS 5.0.
Dans la zone Database instances située à gauche, repérez l'instance cible.
Cliquez avec le bouton droit sur le nom de l'instance et sélectionnez Edit Instance.
Dans la section Basic Information, saisissez le compte de base de données et le mot de passe que vous souhaitez utiliser pour la connexion.
Cliquez sur Save.
Accorder ou révoquer des permissions de compte de base de données
Connectez-vous à DMS 5.0.
Sur la page d'accueil, cliquez sur l'instance de base de données dans le volet de navigation de gauche. Dans la liste des instances, cliquez avec le bouton droit sur le nom de l'instance de destination, puis cliquez sur Database Account Management.
Repérez le compte cible et cliquez sur Edit.
Dans la zone des permissions, sélectionnez les permissions cibles pour les accorder ou désélectionnez-les pour les révoquer, puis cliquez sur Confirm.
Référence des autorisations
Autorisations globales MySQL
Autorisations d'objet MySQL
Autorisations de rôle MongoDB
Rubriques connexes
Bonnes pratiques pour la gestion des autorisations dans ApsaraDB RDS for PostgreSQL
FAQ
Q : Lors de la création d'un utilisateur disposant d'autorisations, un message d'erreur indique que la commande CREATE_USER est bloquée par les règles de sécurité. Comment résoudre ce problème ?
R : Suivez les étapes indiquées dans la boîte de dialogue d'erreur pour résoudre ce problème. Effectuez les opérations suivantes :
-
Consultez le nom de l'ensemble de règles de sécurité lié à l'instance.
Dans la liste des instances située sur le côté gauche de la page d'accueil de la console, repérez l'instance cible, cliquez dessus avec le bouton droit de la souris, puis cliquez sur View Details.
-
Ajustez les règles de sécurité.
Connectez-vous à DMS.
Dans la barre de menu supérieure, choisissez .
Sous l'onglet security rules dans la colonne Edit.
Dans le volet de navigation de gauche, cliquez sur Actions.
Définissez le paramètre SQL Correct sur Checkpoint.
Repérez la règle de sécurité SQL execution rules et cliquez sur Allow all DCL statements to be executed directly in SQL Console dans la colonne Edit.
-
Dans la section Actions de la boîte de dialogue Edit Rule, modifiez la règle comme suit :
if @fac.sql_type in ["DCL"] then @act.allow_execute_direct end.Cette syntaxe correspond à l'ensemble de la catégorie DCL et couvre toutes les instructions DCL telles que
CREATE USERetGRANT, sans qu'il soit nécessaire de répertorier chaque type SQL individuellement. Dans cette règle,allow_execute_directpermet aux instructions d'être exécutées directement dans SQL Console, tandis queallow_submitpermet uniquement de soumettre les instructions sous forme de tickets pour approbation. Ces deux options diffèrent par leur niveau de permissivité ; choisissez celle qui correspond à vos besoins.
Cliquez sur Rule DSL.
Vérifiez les règles d'identification des risques. Sous SQL Change > Risk Identification Rules, vérifiez si une règle identifie les instructions DCL comme présentant un risque élevé. Si tel est le cas, désactivez ou ajustez cette règle. Sinon, elle remplacera la règle DCL que vous avez configurée à l'étape précédente et la modification de la règle ne prendra pas effet.
Seules les instances en mode Security Collaboration prennent en charge la modification des règles de sécurité. Les instances en modes Flexible Management et Stable Change utilisent des règles système intégrées qui ne peuvent pas être modifiées. Si l'instance cible n'est pas en mode Security Collaboration, achetez une licence Security Collaboration et basculez vers ce mode de contrôle avant de modifier les règles comme décrit ci-dessus. Assurez-vous également que l'ensemble de règles que vous avez modifié est associé à l'instance cible. Sinon, les modifications ne prendront pas effet.