Partager via


Créer des utilisateurs dans Azure Database pour MySQL

Cet article explique comment créer des comptes d’utilisateur pour interagir avec un serveur Azure Database pour MySQL.

Remarque

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

  1. Obtenez les informations de connexion et le nom d’utilisateur administrateur.

    Pour vous connecter à votre serveur de base de données, il vous faut le nom de serveur complet et les informations d’identification de connexion d’administrateur. 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.

  2. 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.

  3. 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 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, spécifiez la base de données désignée, et utilisez 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 vous connecter dans le tableau suivant.

      --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 et effectuer l’analyse, les sauvegardes et la maintenance régulière. 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 doivent demander l’accès à l’aide de processus juste-à-temps (JIT).