Plesk ofrece roles de usuario para los usuarios de bases de datos de MySQL/MariaDB y Microsoft SQL Server. Este rol actúa como plantillas que facilitan la asignación de permisos a un usuario de una base de datos. Se soportan los siguientes roles de usuario de base de datos: Lectura y escritura (usado de forma predeterminada), Solo lectura y Sólo escritura. Cada rol presenta un conjunto de privilegios predeterminados que se conceden al usuario de la base de datos al que se le asigne. Si lo desea, puede editar los conjuntos de privilegios correspondientes a los distintos roles.

Asimismo, MySQL/MariaDB 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/MariaDB

En Plesk con MySQL/MariaDB, 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/MariaDB asignados por omisión a cada rol.

Privilegio Lectura y escritura Sólo lectura Sólo escritura
Seleccionar
Insertar
Actualizar
Eliminar
Crear
Drop
Alter
Index
Create Temporary Tables
Lock Tables
Create view
Show view

Para modificar el grupo predeterminado de privilegios, edite el archivo panel.ini y liste los nombres de los privilegios para cada uno de los roles que desee modificar.

Recuerde que los clientes 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
features.roles.mysql.readOnly = Select
features.roles.mysql.writeOnly = Update

Nota: Al cambiar los conjuntos de privilegios de un rol (por ejemplo, Lectura y escritura), no se alterarán en modo alguno los privilegios de los usuarios de la base de datos MySQL/MariaDB ya existentes en ese rol. 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, especifique la lista de privilegios MySQL/MariaDB 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.

Nota: 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, Sólo lectura, Sólo 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 Sólo lectura Sólo escritura
db_backupoperator
db_datareader
db_datawriter
db_ddladmin

Para modificar el grupo predeterminado de permisos para cada rol, edite el archivo panel.ini y liste los nombres de los permisos.

Por ejemplo:

[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

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:

%plesk_dir%bin\repair.exe --update-mssql-users-permissions [-database-server <name>] [-database-name <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).