Права и роли пользователя базы данных

В Plesk предусмотрены роли для пользователей баз данных MySQL и Microsoft SQL Server. Роли работают как шаблоны, помогающие предоставлять права пользователям баз данных. Поддерживаются следующие роли пользователей баз данных: Чтение и запись (используется по умолчанию), Только чтение и Только запись. Для каждой роли существует определенный набор прав, которые предоставляются учетной записи пользователя базы данных при присвоении соответствующей роли. Вы можете изменять наборы прав для каждой из ролей.

Кроме того, MySQL поддерживает Персональную роль с пользовательским набором прав. Пользователи SQL Server не могут изменять набор прав, предоставленных при присвоении роли.

Вы можете не предоставлять и запретить пользователям Plesk предоставлять какое-либо право.

Подробнее о том, как выбирать роли для пользователей баз данных на странице Сайты и домены > Базы данных > Управление пользователями, смотрите в разделе Управление пользователями базы данных. Обратите внимание на то, что пользователям баз данных в подписке администратора предоставляются глобальные права в дополнение к правам на таблицы баз данных.

  

Роли пользователей баз данных MySQL

В Plesk с MySQL пользователи могут выбирать роли для пользователей баз данных, а также добавлять и удалять отдельные права.

Наборы прав MySQL для каждой роли по умолчанию перечислены ниже.

Право Чтение и запись Только чтение Только запись

Select

+

+

-

Insert

+

-

+

Update

+

-

+

Delete

+

-

+

Create

+

-

+

Drop

+

-

+

Alter

+

-

+

Index

+

-

+

Create Temporary Tables

+

-

+

Lock Tables

+

-

+

Create View

+

-

+

Show View

+

+

-

Чтобы изменить наборы прав по умолчанию, внесите изменения в файл panel.ini, перечислив все права для каждой из ролей, которую хотите изменить.

Не забывайте, что клиенты Plesk все же могут выбирать больше прав, чем вы указали в файле panel.ini, если вы не запретили их использование (смотрите далее на этой странице).

Например:

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

Примечание. Изменение набора прав для роли (например, роли Чтение и запись) не влияет на права уже существующих пользователей базы данных MySQL с этой ролью. Роль таких пользователей базы данных автоматически изменится на Персональную.

Как лишить какого-либо права всех пользователей

Вам может потребоваться лишить какого-либо права, например, права Delete, всех пользователей баз данных. Чтобы лишить пользователей этого права, пропишите список прав MySQL в файле panel.ini, не включив в него право, которое вы не хотите предоставлять пользователям.

Например:

[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

Указанные в списке права будут отображаться в интерфейсе Plesk (Сайты и домены > Базы данных > Управление пользователями). Пользователи смогут предоставлять или отзывать только перечисленные права. Если соответствующего права нет в списке, с точки зрения Plesk это действие запрещено пользователям баз данных.

Важно. Право отзывается только после того, как пользователь Plesk сохранит какие-либо изменения в настройках пользователя базы данных: (Сайты и домены > Базы данных > Управление пользователями> имя пользователя > нажмите ОК).

  

Роли пользователей баз данных Microsoft SQL Server

В Plesk с сервером баз данных Microsoft SQL Server пользователи могут выбрать роли (Чтение и запись, Только чтение, Только запись), но не могут добавлять или удалять отдельные права (роли на уровне базы данных SQL Server). Права не отображаются в интерфейсе Plesk.

Ниже перечислены права, предоставленные по умолчанию каждой роли в Microsoft SQL Server:

Право Чтение и запись Только чтение Только запись

db_backupoperator

+

+

+

db_datareader

+

+

-

db_datawriter

+

-

+

db_ddladmin

+

-

+

Чтобы изменить набор прав по умолчанию для какой-либо роли, внесите изменения в файл panel.ini, перечислив права.

Например:

[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

Примечание. При изменении набора прав для роли изменяются права существующих пользователей баз данных с этой ролью. У всех существующих и вновь создаваемых пользователей с этой ролью будет набор прав, который вы указали в panel.ini.

  

Восстановление прав по умолчанию для пользователей Microsoft SQL Server

Для каждой роли пользователей баз данных существует свой набор прав по умолчанию (роли пользователей на уровне базы данных SQL Server). Чтобы восстановить для существующих пользователей баз данных набор прав по умолчанию (в соответствии с их ролью), используйте следующую команду:

C:\Program Files\%plesk_dir%\bin\repair.exe --update-mssql-users-permissions [-database-server <name>], [-database <name>]

Примечание. Если вы изменили набор прав для роли (например, роли Чтение и запись) в файле panel.ini, в результате работы команды --update-mssql-users-permissions будет восстановлен набор указанных в файле прав, а не набор по умолчанию (например, набор прав по умолчанию для роли Чтение и запись: db_datareader,db_datawriter,db_backupoperator,db_ddladmin).