MariaDB: conceder/revocar permisos

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

MariaDB: conceder/revocar permisos

Este tutorial de MariaDB explica cómo Otorgar y revocar permisos En MariaDB, con sintaxis y ejemplos.

describir

Puede otorgar y revocar permisos en varios objetos de base de datos en MariaDB. Veremos cómo otorgar y revocar permisos sobre tablas, funciones y procedimientos en MariaDB.

Otorgar permisos en la tabla

Puede otorgar a los usuarios varios permisos en las tablas. Estos privilegios pueden ser cualquier combinación de SELECT, INSERT, UPDATE, DELETE, INDEX, CREATE, ALTER, DROP, GRANT OPTION o ALL.

sintaxis

La sintaxis para otorgar permisos de tabla en MariaDB es:

GRANT privileges ON object TO user;

privilegio

Puede ser cualquiera de los siguientes valores:

privilegio describir
escoger Capacidad para ejecutar sentencias SELECT en tablas.
insertar Capacidad para ejecutar instrucciones INSERT en tablas.
renovar Capacidad para ejecutar instrucciones UPDATE en tablas.
Eliminar Capacidad para ejecutar sentencias DELETE en tablas.
índice Capacidad para crear índices en tablas existentes.
crear Habilidad para ejecutar sentencias CREATE TABLE.
Cambio Capacidad para ejecutar instrucciones ALTER TABLE para modificar las definiciones de la tabla.
reducir Habilidad para ejecutar sentencias DROP TABLE.
Opciones de concesión Le permite otorgar los permisos que tiene a otros usuarios.
todo Otorgue todos los permisos excepto GRANT OPTION.

objeto El nombre del objeto de la base de datos para el que otorga permisos. En el caso de permisos de tabla otorgados, este será el nombre de la tabla. usuario El nombre del usuario al que se le otorgarán estos permisos.

ejemplo

Veamos algunos ejemplos de cómo otorgar permisos de tabla en MariaDB.

Por ejemplo, si quisiera otorgar permisos SELECCIONAR, INSERTAR, ACTUALIZAR y ELIMINAR en una tabla llamada sitio web al nombre de usuario prograrmaplus, ejecutaría la siguiente instrucción GRANT:

GRANT SELECT, INSERT, UPDATE, DELETE ON websites TO 'prograrmaplus'@'localhost';

También puede usar la palabra clave ALL para indicar que desea otorgar todos los permisos excepto GRANT OPTION a un usuario llamado prograrmaplus. Por ejemplo:

GRANT ALL ON websites TO 'prograrmaplus'@'localhost';

Si solo desea otorgar acceso SELECT en la tabla del sitio a todos los usuarios, puede otorgar permiso a *. Por ejemplo:

GRANT SELECT ON websites TO '*'@'localhost';

Revocar privilegios en las tablas

Después de otorgar privilegios, es posible que deba revocar algunos o todos esos privilegios. Para hacer esto, puede ejecutar el comando deshacer. Puede deshacer cualquier combinación de SELECCIONAR, INSERTAR, ACTUALIZAR, ELIMINAR, REFERENCIAS, ALTERAR o TODO.

sintaxis

La sintaxis para revocar permisos en una tabla en MariaDB es:

REVOKE privileges ON object FROM user;

privilegio

Puede ser cualquiera de los siguientes valores:

privilegio describir
escoger Capacidad para ejecutar sentencias SELECT en tablas.
insertar Capacidad para ejecutar instrucciones INSERT en tablas.
renovar Capacidad para ejecutar instrucciones UPDATE en tablas.
Eliminar Capacidad para ejecutar sentencias DELETE en tablas.
índice Capacidad para crear índices en tablas existentes.
crear Habilidad para ejecutar sentencias CREATE TABLE.
Cambio Capacidad para ejecutar instrucciones ALTER TABLE para modificar las definiciones de la tabla.
reducir Habilidad para ejecutar sentencias DROP TABLE.
Opciones de concesión Le permite otorgar los permisos que tiene a otros usuarios.
todo Otorgue todos los permisos excepto GRANT OPTION.

objeto El nombre del objeto de la base de datos cuyos permisos desea revocar. En el caso de revocar permisos sobre una tabla, este será el nombre de la tabla. usuario El nombre del usuario cuyos permisos serán revocados.

ejemplo

Veamos algunos ejemplos de cómo revocar permisos sobre una tabla en MariaDB.

Por ejemplo, si quisiera revocar los permisos ELIMINAR y ACTUALIZAR para un usuario llamado prograrmaplus en una tabla llamada sitio web, ejecutaría la siguiente instrucción REVOKE:

REVOKE DELETE, UPDATE ON websites FROM 'prograrmaplus'@'localhost';

Si desea revocar todos los permisos en una tabla (excepto GRANT OPTION) de un usuario llamado prograrmaplus, puede usar la palabra clave ALL de la siguiente manera:

REVOKE ALL ON websites FROM 'prograrmaplus'@'localhost';

Si ha otorgado * (es decir, todos los usuarios) privilegios SELECT en la tabla de prograrmaplus y desea revocar esos privilegios, puede ejecutar la siguiente instrucción REVOKE:

REVOKE SELECT ON websites FROM '*'@'localhost';

Otorgar privilegios de funciones/programas

Al trabajar con funciones y procedimientos, puede otorgar a los usuarios la capacidad de ejecutar esas funciones y procedimientos en MariaDB.

sintaxis

La sintaxis para otorgar permiso EXECUTE a una función/procedimiento en MariaDB es:

GRANT EXECUTE ON [ PROCEDURE | FUNCTION ] object TO user;

EXECUTE representa la capacidad de ejecutar una función o procedimiento. PROCEDURE se usa cuando se otorga permiso a un procedimiento en MariaDB. FUNCIÓN Se usa cuando se otorgan permisos a funciones en MariaDB. objeto El nombre del objeto de la base de datos para el que otorga permisos. En el caso de permiso EXECUTE otorgado a una función o procedimiento, este será el nombre de la función o nombre del procedimiento. usuario El nombre del usuario al que se le otorgará el privilegio EXECUTE.

Ejemplo – Función

Veamos algunos ejemplos de cómo otorgar permiso EXECUTE a una función en MariaDB.

Por ejemplo, si tuviera una función llamada CalcValue y quisiera otorgar acceso EXECUTE a un usuario llamado prograrmaplus, ejecutaría la siguiente instrucción GRANT:

GRANT EXECUTE ON FUNCTION CalcValue TO 'prograrmaplus'@'localhost';

Si quisiera otorgar a todos los usuarios la capacidad de realizar esta función, ejecutaría la siguiente instrucción GRANT:

GRANT EXECUTE ON FUNCTION CalcValue TO '*'@'localhost';

Ejemplo – Proceso

Veamos algunos ejemplos de cómo otorgar permiso EXECUTE en un procedimiento en MariaDB.

Por ejemplo, si tuviera un procedimiento llamado MariaDBProc y quisiera otorgar acceso EXECUTE a un usuario llamado prograrmaplus, ejecutaría la siguiente instrucción GRANT:

GRANT EXECUTE ON PROCEDURE MariaDBProc TO 'prograrmaplus'@'localhost';

Si quisiera otorgar a todos los usuarios la capacidad de realizar este procedimiento, ejecutaría la siguiente instrucción GRANT:

GRANT EXECUTE ON PROCEDURE MariaDBProc TO '*'@'localhost';

Revocar privilegios de funciones/programas

Después de otorgar permisos de EJECUCIÓN en una función o procedimiento, es posible que deba revocar esos permisos del usuario en MariaDB. Para hacer esto, puede ejecutar el comando REVOKE.

sintaxis

La sintaxis para revocar permisos sobre una función o procedimiento en MariaDB es:

REVOKE EXECUTE ON [ PROCEDURE | FUNCTION ] object FROM user;

EXECUTE indica que se revoca la capacidad de ejecutar una función o procedimiento. PROCEDURE se usa al revocar permisos en un procedimiento en MariaDB. FUNCIÓN se usa cuando se revoca una función en MariaDB. objeto El nombre del objeto de la base de datos cuyos permisos desea revocar. En el caso de revocar el permiso EXECUTE sobre una función o procedimiento, éste será el nombre de la función o nombre del procedimiento. usuario El nombre del usuario cuyo privilegio EXECUTE será revocado.

Ejemplo – Función

Veamos algunos ejemplos de cómo revocar permisos de EJECUTAR sobre funciones en MariaDB.

Si quisiera revocar los privilegios EXECUTE en una función llamada CalcValue de un usuario llamado prograrmaplus, ejecutaría la siguiente instrucción REVOKE:

REVOKE EXECUTE ON FUNCTION CalcValue FROM 'prograrmaplus'@'localhost';

Si ha otorgado permisos EXECUTE a * (todos los usuarios) en una función denominada CalcValue y desea revocar esos permisos EXECUTE, puede ejecutar la siguiente instrucción REVOKE:

REVOKE EXECUTE ON FUNCTION CalcValue FROM '*'@'localhost';

Ejemplo – Proceso

Veamos algunos ejemplos de cómo revocar permisos de EJECUCIÓN en procedimientos en MariaDB.

Si quisiera revocar los privilegios EXECUTE para un procedimiento llamado MariaDBProc de un usuario llamado prograrmaplus, ejecutaría la siguiente instrucción REVOKE:

REVOKE EXECUTE ON PROCEDURE MariaDBProc FROM 'prograrmaplus'@'localhost';

Si ha otorgado permisos EXECUTE a * (todos los usuarios) en un procedimiento denominado MariaDBProc y desea revocar esos permisos EXECUTE, puede ejecutar la siguiente instrucción REVOKE:

REVOKE EXECUTE ON PROCEDURE MariaDBProc FROM '*'@'localhost';