Received: from maia.hub.org (maia-3.hub.org [200.46.204.243]) by mail.postgresql.org (Postfix) with ESMTP id 2920FB5DBC1 for ; Fri, 22 Jul 2011 15:19:22 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.243]) (amavisd-maia, port 10024) with ESMTP id 22069-06 for ; Fri, 22 Jul 2011 18:19:15 +0000 (UTC) X-Greylist: delayed 00:09:20.903839 by SQLgrey-1.7.6 Received: from mailgate.iii.com (mailgate.iii.com [205.227.88.3]) by mail.postgresql.org (Postfix) with ESMTP id 71C33B5D8C5 for ; Fri, 22 Jul 2011 15:19:15 -0300 (ADT) Received: from mailhub.iii.com (mailhub [10.1.2.3]) by mailgate.iii.com (8.13.6/8.13.6) with ESMTP id p6MI0cYu019414 for ; Fri, 22 Jul 2011 11:00:38 -0700 (PDT) Received: from [10.1.7.210] ([10.1.7.210]) by mailhub.iii.com (8.13.6/8.13.6) with ESMTP id p6MIDm6f001085 for ; Fri, 22 Jul 2011 11:13:48 -0700 (PDT) Message-ID: <4E29BCE9.2010301@iii.com> Date: Fri, 22 Jul 2011 11:09:45 -0700 From: Dinesh Bhandary Reply-To: dbhandary@iii.com Organization: Innovative Interfaces User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.18) Gecko/20110616 Thunderbird/3.1.11 MIME-Version: 1.0 To: pgsql-admin@postgresql.org Subject: Re: revoked permissions on table still allows users to see table's structure References: <4E28BF6E.8090302@quality-telecom.net> <4E29B6B6.3020309@quality-telecom.net> <4E297457020000250003F708@gw.wicourts.gov> In-Reply-To: <4E297457020000250003F708@gw.wicourts.gov> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-3.081 tagged_above=-10 required=5 tests=BAYES_00=-1.9, RP_MATCHES_RCVD=-1.181 X-Spam-Level: X-Archive-Number: 201107/175 X-Sequence-Number: 37954 We had the same problem, and we still do not have an elegant solution, we have a workaround which I really don't like. I agree with Juan - it is a limitation. I understand that you can solve this problem outside of a database, but it will be nice to have a strictly read only user who can just see data of the assigned objects and nothing else. Dinesh O-+n 7/22/2011 11:00 AM, Kevin Grittner wrote: > "Juan Cuervo (Quality Telecom)" > wrote: > >> Imagine you own a software development company, > > Not too hard for me. Been there, done that. > >> and decides to base the company's product on Postgresql databases. >> Such a company surely dont want to expose his database design to >> its customers, but in some time might want to provide 'select' >> access to some users, so they can pull data to external datamining >> or data analisys tools, for example. If this is not possible in >> postgresql right now, then all users with connect privilege will >> be able to see not only the table's structure, but also the stored >> procedures code, wich in many cases, stores a business logic or >> know-how. > > Imagine that the software is running on a machine under the client's > control, where they have root access to the OS. They can then > disassemble or debug through code to see how the encrypted procedure > code is turned into something the database can compile, they can > connect to the database as the superuser to view all details. The > only protection provided by what you suggest is from those too inept > to really pose a competitive threat. If you think some other > product gives you protection beyond this, it is an illusion. > > The only way to protect your schema and logic from view is to offer > "software as a service". While someone might still infer a lot > about the structure of the data and the logic of the code from > observing its displays and the procedures available to the user, you > would have some insulation. > > -Kevin >