Beruflich Dokumente
Kultur Dokumente
Jaime Casanova
Jaime Casanova
Autorizaciones
Privilegios en 8.3
DATABASE
create, connect (por omisin), temporary (por omisin)
TABLESPACE
create
SCHEMA
create, usage
TABLE
select, insert, update, delete, references, trigger
FUNCTION
execute (default)
LANGUAGE
usage (default)
SEQUENCE
usage, select, update
Jaime Casanova Autorizaciones
TABLE
TRUNCATE
Jaime Casanova
Autorizaciones
Sintaxis de GRANT
GRANT { { privilegio } [, ...] | ALL [ PRIVILEGES ] ON [ tipo de objeto ] objeto [, ...] TO { [ GROUP ] nombre de rol | PUBLIC } [, ... [ WITH GRANT OPTION ] Notas: el tipo de objeto por omisin es TABLE las funciones se deben especicar incluyendo tipos de argumentos los conjuntos de privilegios vlidos varan segn el tipo de objeto WITH GRANT OPTION: el rol receptor puede otorgar el privilegio a otros darle un privilegio a PUBLIC es equivalente a darle el privilegio a todos los roles
Jaime Casanova Autorizaciones
Sintaxis de REVOKE
REVOKE [ GRANT OPTION FOR ] { { privilegio } [, ...] | ALL [ PRIVILEGES ] } ON [ tipo de objeto ] objeto [, ...] FROM { [ GROUP ] nombre de rol | PUBLIC } [, ...] [ CASCADE | STRICT ] Notas: algunos privilegios se otorgan a PUBLIC por omisin
puede ser necesario revocarlos
GRANT OPTION FOR revoca slo la opcin de otorgar el privilegio a otros CASCADE revoca privilegios otorgados por este usuario a otros STRICT (por omisin) impide que se revoque el privilegio si hay cascada
Jaime Casanova Autorizaciones
Privilegios de DATABASE
CREATE
Permite crear esquemas
CONNECT
Permite conectarse est otorgado a PUBLIC por omisin
TEMPORARY (o TEMP)
permite crear objetos temporales est otorgado a PUBLIC por omisin
ALL
Jaime Casanova
Autorizaciones
Privilegios de TABLESPACE
CREATE
Permite crear objetos en el tablespace
ALL
Jaime Casanova
Autorizaciones
Privilegios de SCHEMA
CREATE
Permite crear objetos en el esquema
USAGE
Permite acceder a los objetos dentro del esquema El usuario debe tener privilegios sobre el objeto adems No impide que el usuario vea la denicin del objeto!
ALL
Jaime Casanova
Autorizaciones
Privilegios de TABLE
DELETE
generalmente requiere adems SELECT
TRUNCATE
nuevo en 8.4
REFERENCES
Necesario para crear FKs que apunten a esta tabla
TRIGGER
Jaime Casanova
Autorizaciones
Privilegios de SEQUENCE
USAGE
Permite hacer currval() y nextval()
SELECT
Permite examinar currval()
UPDATE
Permite usar nextval() y setval()
ALL
Jaime Casanova
Autorizaciones
Privilegios de FUNCTION
EXECUTE
Tenga cuidado de revocar privilegios de PUBLIC en la misma transaccin que crea la funcin si es security definer
ALL
Jaime Casanova
Autorizaciones
Privilegios de LANGUAGE
USAGE
Permite crear funciones con este lenguaje Usuarios normales (no super) no pueden crear funciones en lenguajes untrusted
independiente de los privilegios que se otorguen
Jaime Casanova
Autorizaciones
DATA WRAPPER
USAGE Permite crear nuevos servidores usando este wrapper
DATA SERVER
USAGE Permite examinar opciones del servidor y los mapeos de usuario que existen
Jaime Casanova
Autorizaciones
INSERT
Permite INSERT INTO tab (col1, col2) VALUES (1, 2) columnas no mencionadas se les pone el DEFAULT, o NULL si la columna es NOT NULL y no hay DEFAULT, arroja error
UPDATE
Permite UPDATE tab SET col1=x clusula WHERE requiere privilegios SELECT!
REFERENCES
permite usar la columna en llave fornea
ALL
Jaime Casanova Autorizaciones
GRANT SELECT (col1, col2) ON mi_tabla TO mi_rol; GRANT INSERT (col1), UPDATE (col2) ON mi_tabla TO otro_rol; GRANT SELECT, UPDATE (col3) ON mi_tabla TO todavia_otro_mas;
Jaime Casanova
Autorizaciones
Almacenamiento en catlogos
La informacin de privilegios se almacena en columnas ...acl en varios catlogos pg_class.relacl pg_attribute.attacl pg_database.datacl etc
Jaime Casanova
Autorizaciones
Control de acceso
Jaime Casanova
Autorizaciones
Jaime Casanova
Autorizaciones
Las vistas se ejecutan con el usuario que las crea ... esto puede usarse para implementar restricciones de nivel de registro CREATE VIEW solo_mios AS SELECT * FROM todos WHERE usuario_permitido = CURRENT_USER solo_mios debe ser denida por un usuario con privilegios sobre todos Si los privilegios sobre todos son revocados, la vista retornar permiso denegado
Jaime Casanova
Autorizaciones
Preguntas
Preguntas?
Jaime Casanova
Autorizaciones