Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nSO67-0005Kb-GF for pgsql-hackers@arkaria.postgresql.org; Thu, 10 Mar 2022 19:05:15 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nSO65-0000cY-CQ for pgsql-hackers@arkaria.postgresql.org; Thu, 10 Mar 2022 19:05:13 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nSO65-0000cN-1o for pgsql-hackers@lists.postgresql.org; Thu, 10 Mar 2022 19:05:13 +0000 Received: from wout1-smtp.messagingengine.com ([64.147.123.24]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nSO5z-0003HX-U5 for pgsql-hackers@postgresql.org; Thu, 10 Mar 2022 19:05:10 +0000 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id EA91A3201EE4; Thu, 10 Mar 2022 14:05:05 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Thu, 10 Mar 2022 14:05:06 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; bh=B3G1Ozws/2D6Ls2Kl/5t3oH9cjb9cqyj+mM7k7Ba6 48=; b=UYpO8d6RQo1hnYP2Xoguyb2htv7z2E1hL8TBNbtBOZWlrUPanyoJZS1Pl NdSl0cootrqfp+TatTu46dA3ZFvqFn5P8SEL+OttI6aBd345L+ghNzeEZThIZgI8 9bjVsukz54XcucjLa0fvbIIZ/twje/YiybIbSfiTqxraYCLpG9qzQjwDwQid21qk /0YutfP1h7UtuoxI7bIrVUf5jvDuMFD4+9RSN+ZcN+dqBFhHQ34Dp2B0h8pdUCWT 5xQTRA1Nj/0YlvNUDiDWV1qZbTJbqFWXeGhdnawl4yIfd8tEpiFQFWjIzmWSZTqo SeG2NoqsGQaG3JAFXHFrU4X+Z6tzQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvvddruddvtddguddvtdcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefkffggfgfuvfhfhfgjtgfgsehtjeertddtfeejnecuhfhrohhmpefrvght vghrucfgihhsvghnthhrrghuthcuoehpvghtvghrrdgvihhsvghnthhrrghuthesvghnth gvrhhprhhishgvuggsrdgtohhmqeenucggtffrrghtthgvrhhnpeefjeegheetuefhveev udelueeftdejteeiffetvdduhfdtieefgfeutedtveeggfenucevlhhushhtvghrufhiii gvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehpvghtvghrrdgvihhsvghnthhrrghu thesvghnthgvrhhprhhishgvuggsrdgtohhm X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 10 Mar 2022 14:05:03 -0500 (EST) Message-ID: <2e2f9ae2-50fc-1a03-394c-ed4288a8cae2@enterprisedb.com> Date: Thu, 10 Mar 2022 20:05:02 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.6.2 Subject: Re: role self-revocation Content-Language: en-US To: Robert Haas Cc: "David G. Johnston" , Stephen Frost , Joshua Brindle , Mark Dilger , Andrew Dunstan , PostgreSQL-development References: <20220228190923.GJ10577@tamriel.snowman.net> <0c095133-7dc7-7a11-b773-0318807380db@enterprisedb.com> From: Peter Eisentraut In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 09.03.22 14:02, Robert Haas wrote: > On Wed, Mar 9, 2022 at 7:55 AM Peter Eisentraut > wrote: >> Do we have subtractive permissions today? > > Not in the GRANT/REVOKE sense, I think, but you can put a user in a > group and then mention that group in pg_hba.conf. And that line might > be "reject" or whatever. Well, you can always build an external system that looks at roles and does nonsensical things with it. But the privilege system itself seems to be additive only. Personally, I agree with the argument that there should not be any subtractive permissions. The mental model where permissions are sort of keys to doors or boxes just doesn't work for that.