El comando SQL Revoke, cambia los permisos de un usuario, revocando el acceso a uno o más recursos.
La instrucción SQL REVOKE se usa para revocar o retirar permisos que se otorgaron previamente a una cuenta en un objeto de base de datos. Por lo tanto, podemos pensar en REVOKE como una herramienta para limitar la capacidad de un rol o usuario para realizar declaraciones SELECT, INSERT, DELETE, UPDATE y CREATE en objetos de base de datos, así como para establecer restricciones como claves externas y actualizar registros de datos, entre otros. operaciones.
Sintaxis del comando SQL Revoke
Donde:
- privilege_name: El nombre del privilegio a revocar, como SELECT, INSERT, UPDATE, DELETE, EXECUTE, etc.
- object_name: el nombre del objeto sobre el que se concedió el privilegio, como: tabla, vista, procedimiento almacenado, etc.
- user_name: el nombre del usuario al que se debe revocar el privilegio.
- role_name: el nombre del rol desde el que se debe revocar el privilegio.
- PUBLIC: hace referencia a todos los usuarios a los que se ha concedido el privilegio.
Ejemplo T-SQL: Sintaxis de REVOKE
REVOKE privilege_name ON object_name
FROM { user_name | role_name | PUBLIC };

Ejemplo-1: SQL REVOKE ACTUALIZAR
Supongamos que desea revocar un privilegio actualizado otorgado a un usuario ROLE_A sobre el objeto de datos VENTAS.
Ejemplo T-SQL: Quitar privilegio UPDATE sobre la tabla VENTAS al rol ROLE_A
REVOKE UPDATE
ON VENTAS
FROM ROLE_A;
El código anterior se usa para eliminar todos los privilegios de ACTUALIZACIÓN otorgados a la tabla VENTAS.
Ejemplo-2: Privilegio SQL REVOKE SELECT
Ejemplo T-SQL: Quitar privilegio SELECT sobre la tabla VENTAS al rol ROLE_A
REVOKE SELECT
ON VENTAS
FROM ROLE_A;
El código anterior se usa para revocar el privilegio SELECT de un usuario ROLE_A.
Ejemplo-3: Privilegio REVOKE INSERT
Ejemplo T-SQL: Quitar privilegio INSERT sobre la tabla EMPLEADO al rol ROLE_A
REVOKE INSERT
ON EMPLEADO
FROM ROLE_A;
El código anterior se usa para revocar el privilegio INSERTAR de un usuario ROLE_A en el objeto de datos EMPLEADO .
Ejemplo-4: Privilegio REVOKE DELETE
Ejemplo T-SQL: Quitar privilegio DELETE sobre la tabla EMPLEADO al usuario USER_A
REVOKE DELETE
ON EMPLEADO
FROM USER_A;
El código anterior se usa para revocar el privilegio de ELIMINAR de un usuario USER_A en el objeto de datos EMPLEADO.
Ejemplo-5: Privilegio REVOKE TRUNCATE
Ejemplo T-SQL: Quitar privilegio TRUNCATE sobre la tabla EMPLEADO al usuario USER_A
REVOKE TRUNCATE
ON EMPLEADO
FROM USER_A;
El código anterior se usa para revocar el privilegio TRUNCATE de un usuario USER_A en el objeto de datos EMPLEADO.
Privilegios admitidos
Con este comando, puede revocar los siguientes permisos a un rol.
| Privilegio | Descripción |
|---|---|
| NONE | No revoca ningún permiso en el recurso. |
| CREATE | Revoca los permisos de creación en el recurso, como los comandos CREATE CLASS o CREATE CLUSTER |
| READ | Revoca los permisos de lectura en el recurso, como la SELECT consulta. |
| SELECT | Capacidad para realizar sentencias SELECT en la tabla. |
| INSERT | Capacidad para realizar declaraciones INSERT en la tabla. |
| UPDATE | Revoca los permisos de actualización en el recurso, como los comandos UPDATE o UPDATE EDGE |
| DELETE | Revoca los permisos de eliminación en el recurso, como los comandos DROP INDEX o DROP SEQUENCE |
| ALTER | Capacidad para realizar instrucciones ALTER TABLE para cambiar la definición de la tabla. |
| ALL | Revoca todos los permisos en el recurso. |
Conclusión
- El comando SQL REVOKE se usa para revocar o retirar permisos que se otorgaron previamente a una cuenta.
- En SQL REVOKE se puede utilizar para actualizar, seleccionar, insertar, eliminar y truncar privilegios.
- El comando en sql REVOKE es lo opuesto al comando GRANT
- En Objeto y privilegio: debe especificar el nombre del objeto y el privilegio que desea revocar. Asegúrese de que está revocando el privilegio correcto del objeto correcto.
- Usuario o rol: debe especificar el usuario o rol al que se debe revocar el privilegio. Si especifica un rol, los privilegios se revocarán para todos los usuarios que sean miembros de ese rol.
- Dependencia: Debe tener en cuenta las dependencias entre objetos y privilegios. Si revoca un privilegio requerido por otro objeto, es posible que ese objeto ya no funcione correctamente.
- Impacto: debe tener en cuenta el impacto de revocar un privilegio en los usuarios o aplicaciones que dependen de ese privilegio. Asegúrese de comunicar cualquier cambio a las partes afectadas y pruebe los cambios antes de realizarlos en un entorno de producción.
- Permiso: Debe tener el permiso necesario para revocar el privilegio. Asegúrese de tener el nivel adecuado de acceso y autorización antes de intentar revocar un privilegio.



