Créer des utilisateurs dans Azure Database pour MySQL
S'APPLIQUE À : Azure Database pour MySQL - Serveur unique Azure Database pour MySQL - Serveur flexible
Important
Le serveur unique Azure Database pour MySQL est en voie de mise hors service. Nous vous conseillons vivement de procéder à une mise à niveau vers Azure Database pour MySQL – Serveur flexible. Pour obtenir plus d’informations sur la migration vers Azure Database pour MySQL – Serveur flexible, consultez Qu’en est-il du Serveur unique Azure Database pour MySQL ?
Cet article explique comment créer des utilisateurs pour Azure Database pour MySQL.
Notes
Cet article fait référence au terme subordonné, que Microsoft n’utilise plus. Lorsque le terme sera supprimé du logiciel, nous le supprimerons de cet article.
Vous avez fourni le nom d’utilisateur et le mot de passe d’un administrateur de serveur lors de la création de votre serveur Azure Database pour MySQL. Pour plus d’informations, consultez ce démarrage rapide. Vous pouvez déterminer le nom d’utilisateur de l’administrateur de serveur dans le portail Azure.
L’utilisateur administrateur du serveur dispose des privilèges suivants :
SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER
Après avoir créé une base de données Azure pour le serveur MySQL, vous pouvez utiliser le premier compte d’administrateur de serveur pour créer des utilisateurs supplémentaires et leur octroyer un accès administrateur. Vous pouvez également utiliser le compte de l’administrateur de serveur pour créer des utilisateurs ayant moins de privilèges et accès à des schémas de base de données individuels.
Notes
Le privilège SUPER et le rôle DBA ne sont pas pris en charge. Pour comprendre ce qui n’est pas pris en charge dans le service, consultez les privilèges dans l’article sur les limitations.
Les plug-ins de mot de passe comme validate_password
et caching_sha2_password
ne sont pas pris en charge par le service.
Créer une base de données
Obtenez les informations de connexion et le nom d’utilisateur administrateur.
Vous avez besoin du nom complet du serveur et des informations d’identification de connexion d’administrateur pour vous connecter à votre serveur de base de données. Vous pouvez facilement trouver le nom du serveur et les informations de connexion sur la Vue d’ensemble du serveur ou la page Propriétésdu portail Azure.
Utilisez le compte et le mot de passe d’administrateur pour vous connecter à votre serveur de base de données. Utilisez l’outil client de votre choix, MySQL Workbench, mysql.exe ou HeidiSQL.
Notes
Si vous ne savez pas comment vous connecter, consultez Se connecter et interroger des données pour Serveur unique ou Se connecter et interroger des données pour Serveur flexible.
Modifiez et exécutez le code SQL suivant. Remplacez la valeur d’espace réservé
db_user
par le nouveau nom d’utilisateur que vous avez prévu d’utiliser. Remplacez la valeur d’espace réservétestdb
par le nom de votre base de données.Ce code SQL crée une nouvelle base de données nommée testdb. Il génère ensuite un nouvel utilisateur dans le service MySQL et lui octroie tous les privilèges sur le nouveau schéma de la base de données (testdb.*).
CREATE DATABASE testdb;
Créer un utilisateur non administrateur
Maintenant que vous avez créé la base de données, vous pouvez commencer par créer un utilisateur non administrateur en utilisant l’instruction MySQL CREATE USER
.
CREATE USER 'db_user'@'%' IDENTIFIED BY 'StrongPassword!';
GRANT ALL PRIVILEGES ON testdb . * TO 'db_user'@'%';
FLUSH PRIVILEGES;
Vérifier les autorisations des utilisateurs
Pour voir les privilèges accordés à l’utilisateur db_user sur la base de données testdb, exécutez l’instruction SQL SHOW GRANTS
.
USE testdb;
SHOW GRANTS FOR 'db_user'@'%';
Se connecter à la base de données avec le nouvel utilisateur
Connectez-vous au serveur en spécifiant la base de données désignée et en utilisant les nouveaux nom d’utilisateur et mot de passe. Cet exemple montre la ligne de commande MySQL. Quand vous utilisez cette commande, vous êtes invité à entrer le mot de passe de l’utilisateur. Utilisez le nom de votre serveur, le nom de votre base de données et votre nom d’utilisateur. Découvrez comment se connecter à un serveur unique et à un serveur flexible dans le tableau ci-dessous.
Type de serveur | Utilisation |
---|---|
Serveur unique | mysql --host mydemoserver.mysql.database.azure.com --database testdb --user db_user@mydemoserver -p |
Serveur flexible | mysql --host mydemoserver.mysql.database.azure.com --database testdb --user db_user -p |
Limiter les privilèges d’un utilisateur
Pour limiter le type d’opérations qu’un utilisateur peut exécuter sur la base de données, vous devez ajouter explicitement les opérations dans l’instruction GRANT. Voir l’exemple suivant :
CREATE USER 'new_master_user'@'%' IDENTIFIED BY 'StrongPassword!';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'new_master_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
À propos d’azure_superuser
Tous les serveurs Azure Database pour MySQL sont créés avec un utilisateur appelé « azure_superuser ». Microsoft crée un compte système pour gérer le serveur afin d’effectuer l’analyse, les sauvegardes et d’autres opérations de maintenance régulières. Les ingénieurs du support technique peuvent également utiliser ce compte pour accéder au serveur lors d’un incident d’authentification par certificat et il doivent demander l’accès à l’aide de processus juste-à-temps (JIT).
Étapes suivantes
- Pour plus d’informations sur la gestion des comptes d’utilisateurs, consultez la documentation du produit MySQL relative à la gestion des comptes d’utilisateurs, à la syntaxe GRANT et aux privilèges.