Aller au contenu

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.