Saltar al contenido principal
Documentos
FuncionesExpresionesKeywordsDeclaracionesCláusulas

Declaración REVOKE de MySQL

La sentencia `REVOKE` en MySQL se utiliza para eliminar privilegios previamente concedidos a una cuenta de usuario. Es una parte esencial de la gestión de la seguridad de la base de datos, ya que permite a los administradores controlar el acceso y los permisos.

Utilización

La sentencia `REVOKE` se emplea cuando necesitas retirar permisos a un usuario o rol en una base de datos. Ayuda a mantener la seguridad garantizando que los usuarios sólo tienen el acceso necesario para sus funciones.

sql
REVOKE privilege_type [(column_list)]
ON [object_type] privilege_level
FROM user_account [, user_account] ...;

En esta sintaxis:

  • privilege_type: Especifica el tipo de privilegio a revocar.
  • column_list: Una lista opcional de columnas para las que se está revocando el privilegio, aplicable cuando se trata de privilegios específicos a nivel de columna.
  • object_type: Una especificación opcional que indica el tipo de objeto de base de datos, como TABLA o FUNCIÓN, del que se revoca el privilegio.
  • privilege_level: Define el ámbito del privilegio que se revoca, como una base de datos o una tabla concretas.
  • user_account: Identifica la cuenta de usuario de la que se está eliminando el privilegio.

Ejemplos

1. Privilegio básico de revocación

sql
REVOKE SELECT ON database_name.table_name FROM 'username'@'host';

Este ejemplo revoca el permiso `SELECT` del usuario especificado para una tabla concreta.

2. Revocar varios privilegios

sql
REVOKE INSERT, DELETE ON database_name.* FROM 'username'@'host';

Esta sentencia elimina los privilegios de `INSERT` y `DELETE` del usuario especificado en todas las tablas de una base de datos determinada.

3. Revocar todos los privilegios

sql
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'username'@'host';

Este comando revoca todos los privilegios y la capacidad de concederlos de un usuario, eliminando efectivamente todos los derechos de acceso.

Consejos y buenas prácticas

  • Revisa periódicamente los privilegios concedidos. Audita periódicamente los privilegios de los usuarios para asegurarte de que se ajustan a las políticas de seguridad vigentes.
  • Sé concreto. Especifica sólo los privilegios exactos que deseas revocar para evitar eliminar inadvertidamente permisos necesarios.
  • Limita el acceso de los usuarios. Revoca los privilegios innecesarios para minimizar los riesgos de seguridad y garantizar que los usuarios sólo tienen los permisos que necesitan.
  • Prueba los cambios. Tras revocar los privilegios, comprueba que el acceso del usuario se ajusta a las expectativas para evitar interrupciones.
  • Errores comunes. Asegúrate de que se especifican el usuario y el host correctos para evitar errores.
  • Gestión de transacciones. Ten en cuenta que las sentencias `REVOKE` no son transaccionales, lo que significa que los cambios tienen efecto inmediato y no pueden revertirse como parte de una transacción.

Perfeccionamiento de SQL para principiantes

Adquiere los conocimientos de SQL para interactuar con tus datos y consultarlos.
Empieza a aprender gratis