Datenbankbenutzerrollen und -berechtigungen
Plesk bietet Benutzerrollen für Datenbankbenutzer von MySQL sowie Microsoft SQL Server. Die Rollen fungieren als Vorlagen, es einfacher machen, einem Datenbankbenutzer Berechtigungen zuzuweisen. Folgende Datenbankbenutzerrollen werden unterstützt: Lesen und schreiben (Standard), Nur lesen und Nur schreiben. Jede Rolle besitzt einen vordefinierten Satz an Berechtigungen, die einem Datenbankbenutzerkonto mit dieser Rolle erteilt werden. Sie können Berechtigungssätze bearbeiten, die zu unterschiedlichen Rollen gehören.
Zusätzlich unterstützt MySQL die Rolle Benutzerdefiniert, die einem benutzerdefinierten Satz an Berechtigungen entspricht. SQL-Server-Benutzer können Berechtigungssätze, die zu Rollen gehören, nicht modifizieren.
Sie können eine Berechtigung verweigern sowie unterbinden, dass Plesk Benutzer diese anderweitig erteilen.
Einzelheiten dazu, wie Rollen für Datenbankbenutzer unter Websites & Domains > Datenbank > Benutzerverwaltung ausgewählt werden, finden Sie unter Auswählen von Datenbankbenutzerkonten. Beachten Sie außerdem, dass den Datenbankbenutzern im Abonnement des Administrators zusätzlich zu den Rechten für Datenbanktabellen globale Berechtigungen gewährt werden können.
MySQL-Datenbankbenutzerrollen
In Plesk mit MySQL können Benutzer nicht nur Rollen für Datenbankbenutzer auswählen, sondern auch einzelne Berechtigungen hinzufügen oder entfernen.
Die Standardsätze an MySQL-Berechtigungen für die einzelnen Rollen finden Sie nachfolgend aufgelistet.
Privileg | Lesen und schreiben | Nur lesen | Nur schreiben |
---|---|---|---|
Auswählen |
+ |
+ |
- |
Einfügen |
+ |
- |
+ |
Update |
+ |
- |
+ |
Löschen |
+ |
- |
+ |
Erstellen |
+ |
- |
+ |
Entfernen |
+ |
- |
+ |
Alter |
+ |
- |
+ |
Index |
+ |
- |
+ |
Crate Temporary Tables |
+ |
- |
+ |
Lock Tables |
+ |
- |
+ |
Create View |
+ |
- |
+ |
Show View |
+ |
+ |
- |
Wenn Sie die Standardsätze an Berechtigungen modifizieren wollen, müssen Sie die Datei panel.ini
(/usr/local/psa/admin/conf/panel.ini
) bearbeiten und die Berechtigungsnamen für jede Rolle, die Sie modifizieren wollen, auflisten.
Denken Sie daran, dass Plesk Benutzer trotzdem mehr Berechtigungen auswählen können als Sie in der panel.ini
angegeben haben, bis Sie bestimmte Berechtigungen unterbinden (siehe weiter unten).
Zum Beispiel:
[databaseManagement]
features.roles.mysql.readWrite = Select,Update,Insert
<code>features.roles.mysql.readOnly = Select</code>
<code>features.roles.mysql.writeOnly = Update</code>
Hinweis: Wird ein Berechtigungssatz für eine Rolle geändert (z. B. die Rolle Lesen und schreiben), ändern sich nicht automatisch die Berechtigungen der bestehenden MySQL-Datenbankbenutzer mit dieser Rolle. Stattdessen wird die Rolle der betroffenen Datenbankbenutzer automatisch in Benutzerdefiniert umgeändert.
Verweigern einer Berechtigung für alle Benutzer
Manchmal kann es nötig sein, eine bestimmte Berechtigung für alle Datenbankbenutzer zu verweigern, z. B. die Berechtigung "Delete". Um eine Berechtigung zu verweigern, listen Sie die MySQL-Berechtigungen in der Datei panel.ini
auf und lassen die Berechtigung, die Sie verweigern wollen, einfach weg.
Zum Beispiel:
[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
Die gelisteten Berechtigungen werden in der Plesk Benutzeroberfläche angezeigt (Websites & Domains > Datenbanken > Benutzerverwaltung). Benutzer dürfen nur die gelisteten Berechtigungen erteilen oder entziehen. Ist eine Berechtigung nicht in der Liste vorhanden, erachtet Plesk diese als für einen Datenbankbenutzer verweigert.
Wichtig: Eine Berechtigung wird nur zu einer verweigerten Berechtigung, wenn ein Plesk Benutzer Änderungen an den Datenbankbenutzer-Einstellungen vorgenommen hat (Websites & Domains > Datenbanken > Benutzerverwaltung > auf einen Benutzernamen klicken > auf OK klicken).
Datenbankbenutzerrollen für Microsoft SQL Server
In Plesk mit Microsoft SQL Server können Benutzer zwar Rollen auswählen (Lesen und schreiben, Nur lesen, Nur schreiben), jedoch nicht einzelne Berechtigungen hinzufügen oder entfernen (SQL Server Rollen auf Datenbankebene). Die Berechtigungen werden nicht in der Plesk Benutzeroberfläche angezeigt.
Die Standardberechtigungen für Microsoft SQL Server für die einzelnen Rollen finden Sie nachfolgend aufgelistet:
Berechtigung | Lesen und schreiben | Nur lesen | Nur schreiben |
---|---|---|---|
db_backupoperator |
+ |
+ |
+ |
db_datareader |
+ |
+ |
- |
db_datawriter |
+ |
- |
+ |
db_ddladmin |
+ |
- |
+ |
Wenn Sie den Standardsatz an Berechtigungen für eine Rolle modifizieren wollen, müssen Sie die Datei panel.ini
(/<Plesk Installationsverzeichnis>/admin/conf/panel.ini
) bearbeiten und die Berechtigungsnamen auflisten.
Zum Beispiel:
[databaseManagement]
features.roles.mssql.readWrite = db_datareader,db_backupoperator,db_ddladmin
features.roles.mssql.<code>readOnly </code>= db_datareader,db_backupoperator
features.roles.mssql.write<code>Only</code> = db_datawriter
Hinweis: Wenn Sie den Satz an Berechtigungen für eine Rolle modifizieren, werden die Berechtigungen der bestehenden Datenbankbenutzer geändert. Alle bestehenden sowie neu erstellten Benutzer mit dieser Rolle, haben danach die Berechtigungen, die Sie in der panel.ini
festgelegt haben.
Wiederherstellen der Standardberechtigungen für Benutzer von Microsoft SQL Server
Jede Datenbankbenutzerrolle verfügt über einen Standardsatz an Berechtigungen (SQL Server Benutzerrollen auf Datenbankebene). Wenn Sie die Berechtigungen bestehender Datenbankbenutzer auf die Standardwerte (entsprechend ihrer Rolle) zurücksetzen wollen, müssen Sie den folgenden Befehl aufrufen:
C:\Program Files\Parallels\Plesk\bin\repair.exe --update-mssql-users-permissions [-database-server <name>], [-database <name>]
Hinweis: Wenn Sie die Berechtigungen für eine Rolle (z. B. die Rolle Lesen und schreiben ) in der panel.ini
modifiziert haben, dann wird der Befehl --update-mssql-users-permissions
die von Ihnen angegebenen Berechtigungen anstatt der Standardberechtigungen verwenden (wenn z. B. die Standardberechtigungen für Lesen und schreiben folgende sind: db_datareader,db_datawriter,db_backupoperator,db_ddladmin
).