Modifiez les autorisations d'un compte standard selon vos besoins. En revanche, vous ne pouvez pas modifier les autorisations d'un compte privilégié ; vous pouvez uniquement les réinitialiser à leur état initial.
Pour un contrôle plus fin, par exemple pour définir des combinaisons d'autorisations personnalisées ou accorder des autorisations au niveau des tables, utilisez la fonctionnalité de gestion des autorisations dans Data Management Service (DMS). Pour plus d'informations, consultez la rubrique Gérer les comptes et les autorisations de base de données.
Méthode 1 : Utiliser la console
Accédez à la page Instances. Dans la barre de navigation supérieure, sélectionnez la région où se trouve l'instance RDS. Localisez l'instance RDS, puis cliquez sur son ID.
Dans le volet de navigation de gauche, cliquez sur Accounts.
Localisez le compte cible et cliquez sur Change Permissions dans la colonne Actions.
-
Dans le panneau Edit Account Permissions, ajustez les autorisations du compte.
Pour accorder ou révoquer des autorisations pour une base de données, sélectionnez-la, puis cliquez sur l'icône > ou <.
-
Définissez les autorisations d'accès : dans la liste Authorized Databases, définissez le niveau d'autorisation sur Read/Write (DDL + DML), Read-only, DDL Only ou DML Only.
RemarquePour un contrôle plus fin des autorisations, modifiez-les à l'aide d'instructions SQL. Pour plus de détails sur les autorisations, consultez la rubrique Autorisations de compte.
Cliquez sur OK.
Méthode 2 : Utiliser DMS
Consultez la rubrique Gérer les comptes et les autorisations de base de données.
Méthode 3 : Utiliser des instructions SQL
Prérequis
Vous devez utiliser un compte privilégié pour accorder des autorisations.
Se connecter à une instance ApsaraDB RDS for MySQL via la CLI ou un client.
-
Utilisez l'instruction GRANT pour accorder des autorisations au compte cible.
RemarquePour plus d'informations sur l'instruction GRANT, consultez la documentation officielle MySQL.
Pour obtenir la liste des autorisations accordables, consultez la rubrique Autorisations de compte.
FAQ
Q : Pourquoi ne puis-je pas créer une base de données avec un compte standard ? L'erreur suivante s'affiche : ERROR 1044 (42000): Access denied for user 'xxxx'@'%' to database 'xxxx'.
R :
Par défaut, un compte standard dispose uniquement de l'autorisation de se connecter aux bases de données. Vous devez utiliser un compte privilégié pour accorder le privilège CREATE au compte standard. Exemple d'instruction :
GRANT CREATE ON *.* TO '<standard-account-name>'@'%';
Q : Comment empêcher les utilisateurs d'accéder à une base de données ?
R : Supprimez toutes les entrées de la liste d'autorisation d'adresses IP, à l'exception de 127.0.0.1. Redémarrez ensuite l'instance. Cette action bloque tout accès externe à la base de données.
Q : Puis-je verrouiller un compte ?
R : Un compte privilégié peut exécuter l'instruction ALTER USER 'username' ACCOUNT LOCK; pour lui-même ou pour un compte standard. Après la modification, redémarrez l'instance pour mettre fin aux connexions existantes. Pour déverrouiller un compte privilégié et restaurer ses autorisations, réinitialisez les autorisations du compte privilégié.
Les instances ApsaraDB RDS for MySQL exécutant MySQL 5.6 ne prennent pas en charge l'instruction ALTER USER 'username' ACCOUNT LOCK;.
Q : Comment accorder à un compte les autorisations nécessaires pour afficher les fichiers de journal binaire (journaux locaux) ?
R : Pour afficher les fichiers de journal binaire d'une instance, vous avez besoin des autorisations REPLICATION SLAVE et REPLICATION CLIENT. Les comptes standards et les comptes privilégiés créés dans la console disposent de ces autorisations par défaut. Si vous ne parvenez pas à afficher les fichiers de journal binaire, essayez d'utiliser un compte privilégié ou accordez manuellement les autorisations requises à l'aide d'instructions SQL.