Rôles utilisateur et droits pour les bases de données

Plesk fournit des rôles utilisateur pour les utilisateurs de bases de données MySQL/MariaDB et Microsoft SQL Server. Les rôles servent de templates vous aidant à assigner plus rapidement des droits à un utilisateur de bases de données. Les rôles utilisateur de base de données suivants sont pris en charge : Lecture et Écriture (par défaut), Lecture seule et Écriture uniquement. Chaque rôle dispose d’un jeu de privilèges accordés à un compte utilisateur de bases de données qui a ce rôle. Vous pouvez modifier les privilèges correspondants aux différents rôles.

En outre, MySQL/MariaDB prend en charge le rôle Personnalisé qui correspond à un jeu de privilèges définis par l’utilisateur. Les utilisateurs de SQL Server ne peuvent pas modifier les jeux de droits fournis avec les rôles.

Vous pouvez refuser un droit et interdire aux utilisateurs de Plesk de l’utiliser.

Découvrez comment sélectionner les rôles pour les utilisateurs de bases de données sous Sites Web & Domaines > Bases de données > Gestion des utilisateurs dans la section Gérer les comptes utilisateur de la base de données. Remarque : les utilisateurs de bases de données sur les abonnements de l’administrateur peuvent obtenir des privilèges globaux en plus des droits sur les tables de bases de données.

Rôles utilisateur de base de données MySQL/MariaDB

Dans Plesk avec MySQL/MariaDB, les utilisateurs peuvent sélectionner des rôles pour les utilisateurs de bases de données ainsi qu’ajouter ou supprimer des privilèges individuels.

Voici la liste des jeux de privilèges MySQL/MariaDB pour chaque rôle.

Privilège Lecture et Écriture Lecture seule Écriture uniquement
Sélectionner
Insérer
Mettre à jour
Supprimer
Créer
Ignorer
Modifier
Index
Créer des tables temporaires
Verrouiller les tables
Créer une vue
Afficher la vue

Pour modifier le jeu de privilèges par défaut, éditez le fichier panel.ini et répertoriez les noms des privilèges de chaque rôle que vous voulez modifier.

Souvenez-vous que les clients Plesk peuvent toujours sélectionner plus de privilèges que vous ne l’avez fait dans panel.ini, sauf si vous interdisez certains privilèges (voir plus loin dans cette section).

Par exemple :

[databaseManagement]
features.roles.mysql.readWrite = Select,Update,Insert
features.roles.mysql.readOnly = Select
features.roles.mysql.writeOnly = Update

Note

La modification d’un jeu de privilèges pour un rôle (par exemple, le rôle Lecture et Écriture) n’affecte pas les privilèges des utilisateurs de bases de données MySQL/MariaDB existants ayant ce rôle. Toutefois, le rôle de ce type d’utilisateur de bases de données est automatiquement changé en Personnalisé.

Interdiction d’un privilège à tous les utilisateurs

Vous voudrez peut-être refuser certains privilèges à tous les utilisateurs de la base de données, par exemple, le privilège Supprimer. Pour refuser un privilège, vous devez définir la liste des privilèges MySQL/MariaDB dans le fichier panel.ini, en omettant celui que vous voulez refuser.

Par exemple :

[databaseManagement]
features.privileges.mysql.dataAccess = Select, Insert, Update, Delete
features.privileges.mysql.structureAccess = Create, Drop, Alter, Index, Create Temporary Tables, Lock Tables, Create View, Show View

Les privilèges indiqués sont affichés dans l’interface utilisateur de Plesk (Sites Web & Domaines > Bases de données > Gestion des utilisateurs). Les utilisateurs pourront accorder ou révoquer uniquement les privilèges indiqués. Si un privilège est absent de la liste, Plesk le considère comme refusé pour un utilisateur de la base de données.

Note

Un privilège est refusé seulement après que l’utilisateur de Plesk a enregistré des modifications dans les paramètres utilisateur de bases de données (Sites Web & Domaines > Bases de données > Gestion des utilisateurs > cliquez sur un nom d’utilisateur > OK).

Rôles utilisateur de bases de données Microsoft SQL Server

Dans Plesk avec Microsoft SQL Server, les utilisateurs peuvent sélectionner des rôles (Lecture et Écriture, Lecture seule, Écriture uniquement), mais ils ne peuvent pas ajouter ou supprimer de droits individuels (rôle niveau base de données SQL Server). Les droits ne sont pas affichés dans l’interface de Plesk.

Les droits par défaut pour chaque rôle sur Microsoft SQL Server sont les suivants :

Droit Lecture et Écriture Lecture seule Écriture uniquement
db_backupoperator
db_datareader
db_datawriter
db_ddladmin

Pour modifier le jeu de droits par défaut d’un rôle, modifiez le fichier panel.ini et répertoriez les noms des droits.

Par exemple :

[databaseManagement]
features.roles.mssql.readWrite = db_datareader,db_backupoperator,db_ddladmin
features.roles.mssql.readOnly = db_datareader,db_backupoperator
features.roles.mssql.writeOnly = db_datawriter

Note

Quand vous modifiez le jeu de droits d’un rôle, les droits des utilisateurs de bases de données existants sont modifiés. Tous les utilisateurs existants et nouveaux, créés avec ce rôle, disposent des droits que vous avez indiqués dans le fichier panel.ini.

Restauration des droits par défaut des utilisateurs Microsoft SQL Server

Chaque rôle utilisateur de base de données a son jeu de droits défini par défaut (rôles utilisateur niveau base de données SQL Server). Pour restaurer les valeurs par défaut des droits d’utilisateurs de bases de données existants (selon leur rôle), exécutez cette commande :

%plesk_dir%bin\repair.exe --update-mssql-users-permissions [-database-server <name>] [-database-name <name>]

Note

Si vous avez modifié les droits d’un rôle (par ex. : rôle Lecture et Écriture) dans panel.ini, la commande --update-mssql-users-permissions utilise le jeu de droits que vous avez indiqué, plutôt que le jeu de droits par défaut (par ex. : le jeu par défaut pour le rôle Lecture et Écriture est db_datareader,db_datawriter,db_backupoperator,db_ddladmin).