Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1VFVJT-0008Om-Kw for pgsql-hackers@arkaria.postgresql.org; Fri, 30 Aug 2013 20:28:59 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1VFVJS-0002y4-I2 for pgsql-hackers@arkaria.postgresql.org; Fri, 30 Aug 2013 20:28:58 +0000 Received: from makus.postgresql.org ([2001:4800:7903:4::125]) by malur.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1VFVJR-0002xw-A7 for pgsql-hackers@postgresql.org; Fri, 30 Aug 2013 20:28:57 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by makus.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1VFVJP-00009m-3W for pgsql-hackers@postgresql.org; Fri, 30 Aug 2013 20:28:56 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.14.4/8.14.4) with ESMTP id r7UKSlnd018112; Fri, 30 Aug 2013 16:28:47 -0400 From: Tom Lane To: Josh Berkus cc: Stephen Frost , Kohei KaiGai , "ktm@rice.edu" , Alexander Korotkov , Oleg Bartunov , Greg Smith , PgHacker Subject: Re: [v9.4] row level security In-reply-to: <5220F928.7040503@agliodbs.com> References: <20130829142321.GA30496@aart.rice.edu> <521F7DFB.8060602@agliodbs.com> <5220D832.7090104@agliodbs.com> <20130830192729.GO2706@tamriel.snowman.net> <16798.1377891794@sss.pgh.pa.us> <5220F928.7040503@agliodbs.com> Comments: In-reply-to Josh Berkus message dated "Fri, 30 Aug 2013 12:57:28 -0700" Date: Fri, 30 Aug 2013 16:28:47 -0400 Message-ID: <18111.1377894527@sss.pgh.pa.us> X-Pg-Spam-Score: -4.1 (----) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org Josh Berkus writes: > On 08/30/2013 12:43 PM, Tom Lane wrote: >> In short, "we can check some check-box" is a really, really bad reason >> to accept a security-related feature. If we're going to put up with >> all the downsides of RLS, I want the end result to be something that's >> actually secure, not something that gives the illusion of security. > Can you be more explicit about "all the downsides of RLS"? I was just > looking over the patch, which is less than 5000 lines. While it's not > small, we have larger patches in the CF. So what's the specific > downsides of this? I think it's going to be an ongoing maintenance headache and an endless source of security bugs, even disregarding covert-channel issues. I have pretty much zero faith in the planner changes, in particular, and would still not have a lot if they were adequately documented, which they absolutely are not. The whole thing depends on nowhere-clearly-stated assumptions that plan-time transformations will never allow an RLS check to be bypassed. I foresee future planner work breaking this in non-obvious ways on a regular basis (even granting the assumption that it's bulletproof today, which is at best unproven). > The reason I brought up multi-tenant applications ("MTA"), BTW, is that > this is the other major potential utility of RLS, and for such users the > covert channel limitations are acceptable (as long as we publish them). [ shrug... ] You might've noticed I work for a multi-tenant shop now. I'm still not excited about this. > That is, if RLS is your *second* level of defense, instead of your > primary defense, covert channels are not a make-or-break issue. It just > has to be better than what we had before. Yeah, that's a fair point. I'm just not convinced that it's enough better to justify the maintenance burden we'll be taking on. I'm not thrilled about the "every bug is a security bug" angle, either. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers