Diseño de bases de datos
Lis Sulmont
Curriculum Manager
GRANT privilege(s) o REVOKE privilege(s)
ON object
TO role o FROM role
SELECTPrivilegios: INSERT, UPDATE, DELETE, , etc.
Objetos: tabla, vista, esquema, etc.
Roles: un usuario de la base de datos o un grupo de usuarios de la base de datos.
GRANT UPDATE ON ratings TO PUBLIC;
REVOKE INSERT ON films FROM db_user;
Gestionar los permisos de acceso a la base de datos
Rol vacío
CREATE ROLE data_analyst;
Roles con algunos atributos establecidos
CREATE ROLE intern WITH PASSWORD 'PasswordForIntern' VALID UNTIL '2020-01-01';
CREATE ROLE admin CREATEDB;
ALTER ROLE admin CREATEROLE;
GRANT UPDATE ON ratings TO data_analyst;
REVOKE UPDATE ON ratings FROM data_analyst;
Los privilegios disponibles en PostgreSQL son:
Un rol es una entidad que puede funcionar como usuario y/o grupo.

Roles de grupo
CREATE ROLE data_analyst;
CREATE ROLE intern WITH PASSWORD 'PasswordForIntern' VALID UNTIL '2020-01-01';
Roles de grupo
CREATE ROLE data_analyst;
CREATE ROLE alex WITH PASSWORD 'PasswordForIntern' VALID UNTIL '2020-01-01';
GRANT data_analyst TO alex;
REVOKE data_analyst FROM alex;
| Rol | Acceso permitido |
|---|---|
| pg_read_all_settings Lee todas las variables de configuración, incluso aquellas que normalmente solo son visibles para los superusuarios. | |
| pg_read_all_stats Lee todas las vistas pg_stat_* y utiliza diversas extensiones relacionadas con estadísticas, incluso aquellas que normalmente solo son visibles para los superusuarios. | |
| pg_signal_backend Envía señales a otros backends (por ejemplo: cancelar consulta, terminar). | |
| Más... | Más... |
Las funciones siguen vigentes después de eliminar a los usuarios.
A veces, un rol otorga demasiado acceso a un usuario específico.
Diseño de bases de datos