X-Original-To: pgsql-sql-postgresql.org@localhost.postgresql.org Received: from localhost (neptune.hub.org [200.46.204.2]) by svr1.postgresql.org (Postfix) with ESMTP id E189ED1DA67 for ; Mon, 26 Jan 2004 21:06:13 +0000 (GMT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) with ESMTP id 32762-05 for ; Mon, 26 Jan 2004 17:05:44 -0400 (AST) Received: from wolff.to (wolff.to [66.93.249.74]) by svr1.postgresql.org (Postfix) with SMTP id 1D1ECD1DAD8 for ; Mon, 26 Jan 2004 17:05:22 -0400 (AST) Received: (qmail 12668 invoked by uid 500); 26 Jan 2004 21:06:33 -0000 Date: Mon, 26 Jan 2004 15:06:33 -0600 From: Bruno Wolff III To: James Taylor Cc: pgsql-sql@postgresql.org Subject: Re: Label Security Message-ID: <20040126210633.GA22394@wolff.to> Mail-Followup-To: James Taylor , pgsql-sql@postgresql.org References: <9A658A4A-5040-11D8-AA39-000A95982628@hatesville.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <9A658A4A-5040-11D8-AA39-000A95982628@hatesville.com> User-Agent: Mutt/1.5.4i X-Virus-Scanned: by amavisd-new at postgresql.org X-Archive-Number: 200401/215 X-Sequence-Number: 16608 On Mon, Jan 26, 2004 at 12:45:40 -0800, James Taylor wrote: > I'm migrating an Oracle 9 database over to Postgres 7.3.4, and just ran > into something I've never seen before (honestly, due to my lack of > experience in Oracle) and was curious if > Postgres supported anything similar. The DBA that set up Oracle > appears to have enabled Oracle Label Security, which looks as though it > offers per-row security levels. So, say we have the table > 'test', user 'Nancy' does a "select * from test" and only will be > shown rows she has permission to. Joe will get the same, and the > superuser can see everything. Does Postgres offer anything like this, > maybe even through third party software You can do this with views, but there isn't a turn key set up to do this. You can give someone access to a view without giving them direct access to underlying tables. A view can check the current username versus some data in the table being displayed (perhaps joined with some other tables that keep track of group membership).