Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1VFUpC-0007PZ-Gv for pgsql-hackers@arkaria.postgresql.org; Fri, 30 Aug 2013 19:57:42 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1VFUpB-0004Ma-F5 for pgsql-hackers@arkaria.postgresql.org; Fri, 30 Aug 2013 19:57:41 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1VFUp9-0004MR-TV for pgsql-hackers@postgresql.org; Fri, 30 Aug 2013 19:57:39 +0000 Received: from smtp.01.com ([199.36.142.181] helo=smtp-out-2.01.com) by magus.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1VFUp5-0003FG-SP for pgsql-hackers@postgresql.org; Fri, 30 Aug 2013 19:57:39 +0000 Received: from localhost (localhost [127.0.0.1]) by smtp-out-2.01.com (Postfix) with ESMTP id 13AE83900EE; Fri, 30 Aug 2013 14:57:34 -0500 (CDT) X-Virus-Scanned: amavisd-new at smtp-out-2.01.com Received: from smtp-out-2.01.com ([127.0.0.1]) by localhost (smtp-out-2.01.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ht9YdyqK_oyv; Fri, 30 Aug 2013 14:57:34 -0500 (CDT) Received: from smtp-out-2.01.com (localhost [127.0.0.1]) by smtp-out-2.01.com (Postfix) with ESMTP id E8315390225; Fri, 30 Aug 2013 14:57:33 -0500 (CDT) Received: from localhost (localhost [127.0.0.1]) by smtp-out-2.01.com (Postfix) with ESMTP id D8D3239021B; Fri, 30 Aug 2013 14:57:33 -0500 (CDT) X-Virus-Scanned: amavisd-new at smtp-out-2.01.com Received: from smtp-out-2.01.com ([127.0.0.1]) by localhost (smtp-out-2.01.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id dw1D5lNcJpRy; Fri, 30 Aug 2013 14:57:33 -0500 (CDT) Received: from [172.47.23.103] (70-36-143-10.dsl.dynamic.sonic.net [70.36.143.10]) by smtp-out-2.01.com (Postfix) with ESMTPSA id 521BE3900EE; Fri, 30 Aug 2013 14:57:31 -0500 (CDT) Message-ID: <5220F928.7040503@agliodbs.com> Date: Fri, 30 Aug 2013 12:57:28 -0700 From: Josh Berkus Organization: PostgreSQL Experts Inc. User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130803 Thunderbird/17.0.8 MIME-Version: 1.0 To: Tom Lane CC: Stephen Frost , Kohei KaiGai , "ktm@rice.edu" , Alexander Korotkov , Oleg Bartunov , Greg Smith , PgHacker Subject: Re: [v9.4] row level security 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> In-Reply-To: X-Enigmail-Version: 1.5.2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Pg-Spam-Score: -1.9 (-) 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 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. > And right now, I do not believe we can get past the illusion stage, > ever (certainly not in a release or two). 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? 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). That is, for a "thing-as-a-service" application, users are not assumed to have unlimited access to the SQL command line anyway; RLS is employed just to limit the damage they can do if they get access, and to limit the disclosure if some app programmer makes a mistake. Right now, the primary tool for doing row filtering for MTA is Veil, which has numerous and well-known limitations. If RLS has fewer limitations, or is easier to deploy, maintain, and/or understand, then it's a valuable feature for that user base, even if it doesn't address the covert channels we've brought up at all. 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. Note that I have NOT done an evaluation of Veil vs. RLS for MTA at this point. I'm hoping someone else will ;-) -- Josh Berkus PostgreSQL Experts Inc. http://pgexperts.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers