Cómo verificar los privilegios de Postgres para el usuario?

Cómo verificar los privilegios de Postgres para el usuario?
En SQL, un privilegio se refiere a un permiso específico o a la acción de realizar un rendimiento en las bases de datos en el servidor. Por ejemplo, en PostgreSQL, los privilegios pueden incluir el privilegio de iniciar sesión en el servidor para realizar varias acciones.

Este tutorial rápido le mostrará cómo obtener información privilegiada sobre un usuario disponible en el servidor.

Tipos de privilegios

Antes de proceder a consultar PostgreSQL para obtener información sobre los usuarios, destacemos los diversos permisos y lo que permite que el usuario los asigne hacer.

Los tipos de privilegios en el DBMS PostgreSQL son:

  • SELECCIONAR - El privilegio de selección permite a un usuario seleccionar valores de cualquier columna de cualquier objeto similar a la tabla. Los objetos similares a la tabla en PostgreSQL incluyen una tabla, una vista, vista materializada, etc.
  • INSERTAR - El permiso de inserción permite al usuario insertar nuevas filas en una tabla. También puede otorgar el privilegio de inserción en una columna específica que permite insertar filas en las columnas establecidas.
  • ACTUALIZAR - Este tipo de privilegio permite que el usuario de set actualice filas en cualquier columna en una tabla o vista. Similar al permiso de inserción, puede configurarlo en una columna específica para permitir al usuario actualizar filas de una (s) columna (s) específica (s) específica (s) solo.
  • BORRAR - Esto permitirá a un usuario soltar/eliminar una fila de cualquier objeto modificable similar a la tabla. Esto requiere que el usuario tenga el permiso de selección, ya que debe referirse a las columnas de la tabla para verificar las filas que se eliminarán.
  • CONECTAR - El permiso de conexión permite a un usuario conectarse al servidor. Este tipo de permiso se verifica en el inicio de la conexión por el PG_HBA.archivo conf.
  • CREAR - Crear privilegio permite a un usuario crear un nuevo esquema, una tabla en una base de datos establecida. También puede permitir a un usuario instalar extensiones en una base de datos. Si este permiso se revoca en un usuario, no elimina todos los objetos existentes hasta que el punto de terminación.
  • TRUNCAR - Como su nombre indica, otorga permiso al usuario para truncar una tabla.
  • DESENCADENAR - Esto permite que un usuario cree un disparador en los objetos tipo tabla.
  • TEMPORARIO - Permite a los usuarios crear una tabla temporal mientras está conectado a una base de datos establecida.
  • EJECUTAR - Ejecutar permiso permite a un usuario llamar a funciones o procedimientos. Este es el único tipo de permiso que puede aplicarse a las funciones/procedimientos.
  • Referencias - Permite a un usuario crear restricciones de clave extranjera que hacen referencia a una tabla o columnas.

Cómo mostrar los privilegios de los usuarios

Listar los privilegios de los usuarios es simple. En PSQL, use la consulta \ du+ como se muestra en la salida a continuación:

$ Postgres =# \ du+

La salida anterior muestra los usuarios de Postgres y Temp con sus permisos correspondientes.

Otra forma de hacer esto es usar el esquema de información_schema y consultar la tabla table_privileges como:

$ SELECT * de Information_Schema.TABLE_PRIVILES LIMIT 5;

La consulta anterior mostrará información detallada sobre los privilegios del usuario en bases de datos y tablas.

Para filtrar para un usuario específico, puede agregar la cláusula Where:

$ SELECT * de Information_Schema.table_privileges donde otoree = 'Postgres' Límite 5;

Conclusión

Este breve tutorial ha discutido formas de obtener información privilegiada sobre los usuarios en un servidor PostgreSQL.