would'nt it be much better to expand pg_largeobject to have another column "src_oid" 
(or similar), containing the OID of the referencing table from pg_class, and when 
accessing large objects take the privilieges from the referencing class?

-----Ursprüngliche Nachricht-----
Von: Damon Cokenias [mailto:[EMAIL PROTECTED]]
Gesendet: Freitag, 19. April 2002 11:04
An: pgsql-hackers
Betreff: [HACKERS] Large object security


Hi all,

I see there's a TODO item for large object security, it's a feature I'd really like to 
see.  I'm willing to put in the time to write a patch, but know far to little about 
postgres internals and history to just dive in.  Has there been any discussion on this 
list about what this feature should be or how it might be implemented?  I saw a 
passing reference to "LOB LOCATORs" in the list archives, but that was all.

What's a LOB LOCATOR ? 

What about giving each large object its own permission flags? ex:

GRANT SELECT ON LARGE OBJECT 10291 TO USER webapp;
GRANT SELECT, DELETE, UPDATE ON LARGE OBJECT 10291 TO USER admin;

Default permission flags (and INSERT permissions) would be set at the table level.  
All objects without specific permissions would use the table rules.  This allows for 
backward compatibility and convenience.

I think per-object security is important.  A user shouldn't be able to get at another 
user's data just by guessing the right OID.  Ideally, users without permission would 
not know there were objects in the database they were not allowed to see.

I can also imagine a security scheme that uses rule/trigger syntax to give the user a 
hook to provide her own security functions.  I haven't thought that through, though.

Any thoughts?


-Damon

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly

Reply via email to