Permisos y roles de los usuarios de bases de datos

Plesk ofrece roles de usuario para los usuarios de bases de datos de MySQL y Microsoft SQL Server. Este rol actúa como una plantilla que facilita la asignación de permisos a un usuario de bases de datos. Plesk ofrece soporte para los siguientes roles de usuario de bases de datos: Lectura y escritura (predeterminado), Solo lectura y Solo escritura. Cada rol tiene un conjunto de permisos predeterminados que se conceden al usuario de bases de datos al que se le asigne. Si lo desea, puede editar los conjuntos de permisos correspondientes a los distintos roles.

Asimismo, MySQL ofrece soporte para el rol Personalizado, que corresponde a un grupo de privilegios definidos por los usuarios. Los usuarios de SQL Server no pueden modificar los conjuntos de permisos incluidos en los roles.

Si lo desea, puede denegar un permiso y prohibir a los usuarios de Plesk que lo concedan.

Para más información sobre cómo seleccionar roles para usuarios de bases de datos, vaya a Sitios web y dominios > Bases de datos > Administración de usuarios y consulte la sección Administración de cuentas de usuarios de bases de datos. Tenga en cuenta que los usuarios de bases de datos de las suscripciones del administrador pueden recibir privilegios globales además de los derechos sobre las tablas de bases de datos.

  

Roles de usuarios de bases de datos MySQL

En Plesk con MySQL, un usuario puede seleccionar roles para los usuarios de bases de datos, así como añadir o eliminar privilegios de forma independiente.

A continuación se enumeran los privilegios de MySQL asignados por omisión a cada rol.

Privilegio Lectura y escritura Solo lectura Solo escritura

Seleccionar

+

+

-

Insert

+

-

+

Update

+

-

+

Delete

+

-

+

Create

+

-

+

Drop

+

-

+

Alter

+

-

+

Index

+

-

+

Crate Temporary Tables

+

-

+

Lock Tables

+

-

+

Create view

+

-

+

Show view

+

+

-

Para modificar los conjuntos de privilegios predeterminados, edite el archivo panel.ini (/usr/local/psa/admin/conf/panel.ini) y enumere los nombres de los privilegios de cada rol que desee modificar.

Recuerde que los usuarios de Plesk seguirán pudiendo seleccionar más privilegios que los que usted haya especificado en panel.ini de no ser que usted lo prohíba de forma expresa (ver información más adelante).

Por ejemplo:

[databaseManagement] 
features.roles.mysql.readWrite = Select,Update,Insert
<code>features.roles.mysql.readOnly = Select</code>
<code>features.roles.mysql.writeOnly = Update</code>

Nota: al cambiar los conjuntos de privilegios de un rol (por ejemplo, Lectura y escritura), no alterará en modo alguno los privilegios de los usuarios de bases de datos MySQL ya existentes en ese rol. No obstante, el rol de dichos usuarios pasará automáticamente a ser Personalizado.

Cómo denegar un privilegio a todos los usuarios

Puede darse el caso de que necesite denegar un privilegio determinado (por ejemplo, el privilegio Delete) a todos los usuarios de bases de datos. Para denegar un privilegio, deberá especificar la lista de privilegios MySQL del archivo panel.ini, omitiendo el privilegio que desea denegar.

Por ejemplo:

[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

Los privilegios especificados se muestran en la IU de Plesk (Sitios web y dominios > Bases de datos > Administración de usuarios). Los usuarios podrán conceder o denegar únicamente los privilegios especificados. Si un privilegio no se encuentra en la lista, Plesk considerará que su uso por parte de los usuarios de bases de datos está denegado.

Importante: un privilegio pasará a estar denegado únicamente cuando un usuario de Plesk guarde cambios efectuados en la configuración del usuario de bases de datos (Sitios web y dominios > Bases de datos > Administración de usuarios> haga clic en un nombre de usuario > haga clic en ACEPTAR).

  

Roles de usuarios de bases de datos de Microsoft SQL Server

En Plesk con Microsoft SQL Server, los usuarios pueden seleccionar roles (Lectura y escritura, Solo lectura, Solo escritura), pero no pueden añadir o eliminar permisos de forma independiente (roles a nivel de base de datos de SQL Server). Los permisos no se muestran en la IU de Plesk.

A continuación se enumeran los permisos predeterminados para cada rol en Microsoft SQL Server:

Permiso Lectura y escritura Solo lectura Solo escritura

db_backupoperator

+

+

+

db_datareader

+

+

-

db_datawriter

+

-

+

db_ddladmin

+

-

+

Para modificar el conjunto de permisos predeterminados de un rol concreto, deberá editar el archivo panel.ini (/<Directorio de la instalación de Plesk>/admin/conf/panel.ini) y enumerar los nombres de los permisos.

Por ejemplo:

[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

Nota: los cambios que realice en el conjunto de permisos de un rol también afectarán a los usuarios de bases de datos ya existentes. Tanto los usuarios recién creados como los ya existentes que posean ese rol dispondrán de los permisos especificados en el archivo panel.ini.

  

Cómo recuperar los permisos predeterminados de los usuarios de Microsoft SQL Server

Cada rol de usuario de bases de datos tiene un conjunto de permisos predeterminado (roles de usuario a nivel de base de datos de SQL Server). Para restablecer los permisos de los usuarios de bases de datos ya existentes a sus valores predeterminados (en función de su rol), ejecute el siguiente comando:

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

Nota: si ha modificado los permisos de un rol (por ejemplo, el rol Lectura y escritura) en panel.ini, el comando --update-mssql-users-permissions utilizará el conjunto de permisos que haya especificado en el archivo, en lugar de restaurar los valores predeterminados (por ejemplo, el conjunto predeterminado para Lectura y escritura es db_datareader,db_datawriter,db_backupoperator,db_ddladmin).