PostgreSQL: otorgar/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.

PostgreSQL: otorgar/revocar permisos

Este tutorial de PostgreSQL explica cómo Otorgar y revocar permisos Viene con sintaxis y ejemplos en PostgreSQL.

describir

Puede otorgar y revocar permisos en varios objetos de base de datos en PostgreSQL. Veremos cómo otorgar y revocar permisos sobre tablas en PostgreSQL.

Otorgar permisos en la tabla

Puede otorgar a los usuarios varios permisos en las tablas. Estos permisos 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 PostgreSQL es:

GRANT privileges ON object TO user;

privilegio

Permiso para ceder. Puede ser cualquiera de los siguientes valores:

privilegiodescribir
escogerCapacidad para ejecutar sentencias SELECT en tablas.
insertarCapacidad para ejecutar instrucciones INSERT en tablas.
renovarCapacidad para ejecutar instrucciones UPDATE en tablas.
EliminarCapacidad para ejecutar sentencias DELETE en tablas.
truncarCapacidad para ejecutar una sentencia TRUNCATE en una tabla.
Referirse aCapacidad para crear claves foráneas (requiere privilegios en las tablas principal y secundaria).
desencadenarCapacidad para crear disparadores en las tablas.
crearHabilidad para ejecutar sentencias CREATE TABLE.
todoOtorga todos los permisos.

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 PostgreSQL.

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

GRANT SELECT, INSERT, UPDATE, DELETE ON products TO prograrmaplus;

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

GRANT ALL ON products TO prograrmaplus;

Si solo desea otorgar acceso SELECT a la tabla de productos a todos los usuarios, puede otorgar permiso a PUBLIC. Por ejemplo:

GRANT SELECT ON products TO PUBLIC;

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, TRUNCAR, REFERENCIAS, ACTIVAR, CREAR o TODO.

sintaxis

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

REVOKE privileges ON object FROM user;

privilegio

Permisos revocados. Puede ser cualquiera de los siguientes valores:

privilegiodescribir
escogerCapacidad para ejecutar sentencias SELECT en tablas.
insertarCapacidad para ejecutar instrucciones INSERT en tablas.
renovarCapacidad para ejecutar instrucciones UPDATE en tablas.
EliminarCapacidad para ejecutar sentencias DELETE en tablas.
truncarCapacidad para ejecutar una sentencia TRUNCATE en una tabla.
Referirse aCapacidad para crear claves foráneas (requiere privilegios en las tablas principal y secundaria).
desencadenarCapacidad para crear disparadores en las tablas.
crearHabilidad para ejecutar sentencias CREATE TABLE.
todoOtorga todos los permisos.

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 tablas en PostgreSQL.

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

REVOKE DELETE, UPDATE ON products FROM prograrmaplus;

Si desea revocar todos los permisos en la tabla para un usuario llamado prograrmaplus, puede usar la palabra clave ALL de la siguiente manera:

REVOKE ALL ON products FROM prograrmaplus;

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

REVOKE SELECT ON products FROM PUBLIC;
(Visited 20 times, 1 visits today)