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.

Note

Cet article fait référence au terme esclave, que Microsoft n’utilise plus. Lorsque le terme est supprimé du logiciel, il est supprimé de cet article.

Lorsque vous créez votre serveur Azure Database pour MySQL, vous fournissez un nom d’utilisateur et un mot de passe d’administrateur de serveur. Pour plus d’informations, consultez Démarrage rapide : Créer une instance d’Azure Database pour MySQL avec le portail Azure. Vous trouverez le nom d’utilisateur administrateur de votre serveur dans le portail Azure.

L’utilisateur administrateur du serveur dispose de ces privilèges :

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éé un serveur Azure Database pour MySQL, utilisez le premier compte d’administrateur de serveur pour créer davantage d’utilisateurs et leur accorder l’accès administrateur. Vous pouvez également utiliser le compte d’administrateur de serveur pour créer des utilisateurs moins privilégiés ayant accès à des schémas de base de données individuels.

Note

Les privilèges SUPER et le rôle DBA ne sont pas pris en charge. Pour plus d’informations, consultez la documentation sur les privilèges pris en charge.

Le plug-in caching_sha2_password lié au mot de passe est activé par défaut.

Pour activer le validate_passwordplug-in, consultez les procédures stockées intégrées dans Azure Database pour MySQL.

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, vous avez besoin du nom complet du serveur et des informations d’identification de connexion d’administrateur. Vous pouvez facilement trouver le nom du serveur et les informations de connexion dans la page Vue d’ensemble du serveur ou propriétés dans le portail Azure.

  2. Utilisez le compte d’administrateur et le mot de passe pour vous connecter à votre serveur de base de données. Utilisez votre outil client préféré, MySQL Workbench, mysql.exeou HeidiSQL.

  3. Modifiez et exécutez le code SQL suivant. Remplacez la valeur de l'espace réservé db_user par votre nouveau nom d’utilisateur. Remplacez la valeur de l'espace réservé testdb par le nom de votre base de données.

Ce code SQL crée une base de données nommée testdb. Il rend ensuite un nouvel utilisateur dans le service MySQL et accorde à cet utilisateur tous les privilèges pour le nouveau schéma de base de données (testdb.*).

CREATE DATABASE testdb;

Créer un utilisateur non administrateur

Vous pouvez créer un utilisateur non administrateur à l’aide de l’instruction CREATE USER MySQL.

CREATE USER 'db_user'@'%' IDENTIFIED BY 'StrongPassword!';

GRANT ALL PRIVILEGES ON testdb . * TO 'db_user'@'%';

FLUSH PRIVILEGES;

Vérifier les autorisations de l’utilisateur

Pour afficher les privilèges autorisés pour l’utilisateur db_user sur testdb la base de données, exécutez l’instruction SHOW GRANTS MySQL.

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 le nouveau nom d’utilisateur et le nouveau mot de passe. Cet exemple montre la ligne de commande MySQL. Lorsque vous utilisez cette commande, vous êtes invité à entrer le mot de passe de l’utilisateur. Utilisez votre propre nom de serveur, votre nom de 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 restreindre le type d’opérations qu’un utilisateur peut exécuter sur la base de données, ajoutez 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 de azure_superuser

Créez des serveurs avec un utilisateur nommé azure_superuser. Microsoft créé un compte système pour gérer le serveur et gérer la surveillance, les sauvegardes et la maintenance régulière. Les ingénieurs d’astreinte peuvent également utiliser ce compte pour accéder au serveur lors d’un incident au moyen d’une authentification par certificat et doivent demander cet accès via des processus JIT (juste à temps).