Ir al contenido principal
Documentos
Funciones de cadenaDesencadenaBases de datosFunciones JSONFunciones matemáticasFunciones de fechaÍndicesSintaxis básicaGestión de Tablas y Esquemas

PostgreSQL REVOKE

El comando `REVOKE` en PostgreSQL se utiliza para eliminar privilegios previamente concedidos a un usuario o rol. Es esencial para gestionar el acceso a los objetos de la base de datos, garantizar la seguridad de los datos y la conformidad.

Utilización

El comando `REVOKE` se utiliza cuando es necesario retirar permisos a usuarios o roles sobre objetos concretos de la base de datos, como tablas o esquemas. Suele utilizarse para reforzar la seguridad o ajustar los controles de acceso.

REVOKE privilege [, ...]
ON object_name [, ...]
FROM role_name [, ...];

En esta sintaxis, `REVOKE` elimina los privilegios especificados de los roles definidos en los objetos designados. Las comas se utilizan para separar varios privilegios, objetos o roles.

Tipos de privilegios

Los privilegios comunes que pueden ser revocados incluyen:

  • SELECCIONAR
  • `INSERT`
  • `UPDATE`
  • `DELETE`
  • `TRUNCAR`
  • `REFERENCIAS
  • `TRIGGER`

Ejemplos

1. Revocación de privilegios de la tabla básica

REVOKE SELECT
ON employees
FROM user123;

Este ejemplo revoca el privilegio `SELECT` en la tabla `empleados` del usuario `usuario123`. Si `user123` no tenía el privilegio `SELECT`, este comando no tendrá ningún efecto.

2. Revocar varios privilegios

REVOKE INSERT, UPDATE
ON projects
FROM manager_role;

Aquí se eliminan los privilegios `INSERT` y `UPDATE` del `role_administrador` en la tabla `proyectos`, limitando su capacidad para modificar datos.

3. Revocar todos los privilegios de un esquema

REVOKE ALL PRIVILEGES
ON SCHEMA sales_data
FROM analyst_role;

Este ejemplo elimina todos los privilegios concedidos a "rol_analista" en el esquema "datos_de_ventas", lo que impide cualquier interacción con los objetos del esquema.

Consejos y buenas prácticas

  • Revisa regularmente los privilegios. Las auditorías periódicas de los privilegios de los usuarios pueden ayudar a mantener la seguridad y los controles de acceso adecuados.
  • Utiliza roles en lugar de usuarios individuales. Gestionar los privilegios mediante roles simplifica la administración y la escalabilidad.
  • Prueba los cambios de privilegios en un entorno de desarrollo. Antes de aplicar los cambios en producción, las pruebas en una configuración de desarrollo pueden evitar problemas de acceso accidental.
  • Documenta los cambios de privilegios. Mantener registros de los cambios garantiza la trazabilidad y ayuda en futuras auditorías o en la resolución de problemas.
  • Comprender los privilegios por defecto y los roles heredados. La revocación de privilegios no afecta a los privilegios concedidos a los roles de los que pueda formar parte el usuario.
  • Ten en cuenta el comportamiento por defecto de los roles. Comprender cómo interactúan los privilegios y roles por defecto puede evitar problemas de acceso no deseados.