Gestion des rôles dans MySQL
Les rôles dans MySQL sont des collections nommées de privilèges qui simplifient la gestion des droits d'accès des utilisateurs. Un rôle peut être attribué à plusieurs utilisateurs, permettant une gestion centralisée des permissions.
Créer un rôle
Pour créer un rôle, utilisez la commande CREATE ROLE
. Vous pouvez créer plusieurs rôles simultanément en les listant, séparés par des virgules.
CREATE ROLE IF NOT EXISTS 'nomRole1', 'nomRole2';
Ajouter ou enlever des privilèges à un rôle
Pour gérer les privilèges d'un rôle, référez-vous à la documentation sur les privilèges pour les commandes spécifiques, telles que GRANT
et REVOKE
.
Accorder un rôle à un utilisateur
Pour attribuer un rôle à un ou plusieurs utilisateurs, utilisez la commande GRANT
. Notez qu'il est nécessaire d'indiquer l'hôte si celui-ci est spécifique.
GRANT 'nomRole1' TO 'user1', 'user2'@'192.168.1.%';
Révoquer un rôle d'un utilisateur
Pour retirer un rôle d'un ou plusieurs utilisateurs, utilisez la commande REVOKE
. Comme pour l'attribution, l'hôte doit être spécifié si nécessaire.
REVOKE 'nomRole1' FROM 'user1', 'user2'@'192.168.1.%';
Supprimer un rôle
Pour supprimer un rôle existant :
DROP ROLE 'nomRole1';
Activer un rôle
Un rôle doit être activé pour un utilisateur pour qu'il prenne effet. Un utilisateur ne peut avoir qu'un seul rôle actif à la fois. L'utilisateur doit se connecter pour activer son rôle.
SET ROLE 'nomRole';
Afficher le rôle actif
Pour vérifier quel rôle est actuellement actif pour l'utilisateur connecté :
SELECT current_role();
Si aucun rôle n'est actif, le résultat sera NULL
.
Définir un rôle par défaut
Pour que le rôle soit automatiquement activé lors de la connexion d'un utilisateur, vous pouvez le définir comme rôle par défaut :
SET DEFAULT ROLE 'nomRole' FOR 'nomUsager';
Cette configuration facilite la gestion des permissions, en s'assurant que les utilisateurs disposent des privilèges appropriés dès leur connexion.