Re: Permisos por columna

From: Anthony Rafael Sotolongo Leon <asotolongo(at)uci(dot)cu>
To: juan ramirez miranda <juanramirez(at)cajazacate(dot)com(dot)sv>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Permisos por columna
Date: 2011-05-30 23:07:11
Message-ID: 94760854.476731306796831042.JavaMail.root@ucimail1.uci.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


----- Mensaje original -----
De: "juan ramirez miranda" <juanramirez(at)cajazacate(dot)com(dot)sv>
Para: pgsql-es-ayuda(at)postgresql(dot)org
Enviados: Lunes, 30 de Mayo 2011 14:08:30 GMT -04:00 Georgetown
Asunto: [pgsql-es-ayuda] Permisos por columna

hola comunidad,

tengo una duda respecto al uso de los privilegios por columna.

Tengo una tabla así, tal como la presento

CREATE TABLE generales.gen_usuarios
(
id_usuario integer,
clave text,
nombre text,
agencia agencias,
cargo integer,
activo boolean DEFAULT true,
ejecutivo_caja boolean DEFAULT false,
CONSTRAINT gen_usuarios_pkey PRIMARY KEY (codigo_usuario),
CONSTRAINT gen_usuarios_cargo_fkey FOREIGN KEY (cargo)
REFERENCES generales.gen_cargos_empresa (cargo) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT gen_usuarios_id_usuario_key UNIQUE (id_usuario)
)
WITH (
OIDS=FALSE
);
ALTER TABLE generales.gen_usuarios OWNER TO postgres;

lo que deseo es que los usuarios de mi sistema sólo puedan actualizar el
campo "«clave»", lo he intentado asignando el siguiente script.

GRANT UPDATE(clave) ON generales.gen_usuarios TO arwilfredo;

y al ejecutar el siguiente script, siempre muestra error

UPDATE gen_usuarios SET clave= 'jaja' WHERE codigo_usuario='arwilfredo'

permiso denegado a la relación gen_usuarios

cuando haces esto
GRANT UPDATE(clave) ON generales.gen_usuarios TO arwilfredo;
estas con agun superuario?

si lo haces como super user
estas diciendo que el role de tu cluster 'arwilfredo' va a tener permiso de update en la columna clave de tu relación generales.gen_usuarios.

ahora cuando ejecutas
UPDATE gen_usuarios SET clave= 'jaja' WHERE codigo_usuario='arwilfredo'

estas contado a tu base de datos con el usuario 'arwilfredo' del cluster?
sino estas claro ejecuta select current_user. y te da el user con el cual estas conectado

ahora debes cerciorar ese user tenga tambien privilegios de uso de ese esquema.

saludos

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Álvaro Hernández Tortosa 2011-05-31 00:23:55 Re: Tablas no modificables
Previous Message Diego Ayala 2011-05-30 21:30:08 Re: error al tratar de instalar funciones de dblink