Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hJNXN-0006CL-7o for pgsql-docs@arkaria.postgresql.org; Wed, 24 Apr 2019 19:26:33 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1hJNXL-0006ad-Uc for pgsql-docs@arkaria.postgresql.org; Wed, 24 Apr 2019 19:26:31 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hJNUO-0000QS-34 for pgsql-docs@lists.postgresql.org; Wed, 24 Apr 2019 19:23:28 +0000 Received: from mail-yb1-xb29.google.com ([2607:f8b0:4864:20::b29]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hJNUK-0001Ao-Hq for pgsql-docs@lists.postgresql.org; Wed, 24 Apr 2019 19:23:27 +0000 Received: by mail-yb1-xb29.google.com with SMTP id e76so7558957ybc.3 for ; Wed, 24 Apr 2019 12:23:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joeconway.com; s=google; h=subject:to:references:from:openpgp:autocrypt:message-id:date :user-agent:mime-version:in-reply-to; bh=6Y21KJcHF3zng/opDFEA3Nekvo/zDkZ4GGJ8Xi22yT8=; b=rc9jfZJB4EbGDHQ9YUbOfxSof87x+zZN+ZOpZHotAAWjGtK3sxxhECErDBhIiUjyAO /hCuYzkbQnsg/mpC2OajtDyJNBg3y/a5/WOIT44Xi0sgvGfrvSiSxk53c0gQmqn5grMq wqPfffNeU9OTo5zYL3I9oPU9kM0Up66MEVBL4Y6uUGwlGSlWH3pKRCR3GFQH5hGPficC kuFcMyAckwwq2M44rkSd2dKk1SDGAX6q53d8Opj8vSCCOZNRLmhcGtqjuSBqDh8GqYsy HbYT9PsG34hCgIs8fHDpDxbBVlAh5sfmGIagRPUEO5k/mQcUNrULWhRAL528GmaTcvb8 xK4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:openpgp:autocrypt :message-id:date:user-agent:mime-version:in-reply-to; bh=6Y21KJcHF3zng/opDFEA3Nekvo/zDkZ4GGJ8Xi22yT8=; b=HuEUggHy8VWDvQ70rA7lJIWZ6Oqmcg5EtAcaDp/S3p0JxYU9DKBaLkbmj85LNBzzUV 3kdCM+jEy7vPN0UdwejIIMWczisCilGRwlNj2Yjbdl9Rqmqgh83uPFyVB8t6YSWpKxxu 2AILaP2ww0llbSD0Zjafn96jWsOB9mzzWoRudVLSJOH5PYLjqKtrdWY1UFqo4mRzKjf4 pMzumE1CKcEP58mtPqL9Gbx1jBkL7tGPAaGvZ/himlH+x0apER1PiK0F+jHvlgp6jBx0 EEnUJIxAJh9iRHspRG1XbWLO+oRUxqlq698NUuIebmpI7zmljTUbE2IpFp58h9wRJWWm r41Q== X-Gm-Message-State: APjAAAW/jdy+A8Zy4co7kAmmau5bnRYe05Xlm6eUDhC5mae/T01wRzYQ q1b+ck91QbI5T6FKWNBvT4wbaTtv7mo= X-Google-Smtp-Source: APXvYqyvWHOs3l8J/qpI0mPL9nY8Zealhm8QXE3i2PJoXWs8jZJbqdEx5b4pUage6tH7Z552ylm1XQ== X-Received: by 2002:a25:c3c5:: with SMTP id t188mr5489861ybf.326.1556133802117; Wed, 24 Apr 2019 12:23:22 -0700 (PDT) Received: from [192.168.4.41] ([72.17.18.98]) by smtp.gmail.com with ESMTPSA id p3sm1208201ywf.2.2019.04.24.12.23.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 24 Apr 2019 12:23:21 -0700 (PDT) Subject: Re: SET ROLE documentation not entirely correct To: steven.winfield@cantabcapital.com, pgsql-docs@lists.postgresql.org References: <155603476764.1372.10888362840885095061@wrigleys.postgresql.org> From: Joe Conway Openpgp: preference=signencrypt Autocrypt: addr=mail@joeconway.com; keydata= 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 Message-ID: <03796ce5-8366-cd32-0436-9981ffbeb993@joeconway.com> Date: Wed, 24 Apr 2019 15:23:19 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: <155603476764.1372.10888362840885095061@wrigleys.postgresql.org> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="1Ru4rQQ6FTerYMqse2gRPsjtnvjJIvHyM" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --1Ru4rQQ6FTerYMqse2gRPsjtnvjJIvHyM Content-Type: multipart/mixed; boundary="OwWTq1Kxul177o97YVhbW15mAtxkAoMob"; protected-headers="v1" From: Joe Conway To: steven.winfield@cantabcapital.com, pgsql-docs@lists.postgresql.org Message-ID: <03796ce5-8366-cd32-0436-9981ffbeb993@joeconway.com> Subject: Re: SET ROLE documentation not entirely correct References: <155603476764.1372.10888362840885095061@wrigleys.postgresql.org> In-Reply-To: <155603476764.1372.10888362840885095061@wrigleys.postgresql.org> --OwWTq1Kxul177o97YVhbW15mAtxkAoMob Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 4/23/19 11:52 AM, PG Doc comments form wrote: > The following documentation comment has been logged on the website: >=20 > Page: https://www.postgresql.org/docs/11/sql-set-role.html > Description: >=20 > In the course of trying to sanitise our roles and permissions I found t= he > notes in the SET ROLE docs a little misleading: >=20 > "If the session user role has the INHERITS attribute, then it automatic= ally > has all the privileges of every role that it could SET ROLE to; in this= case > SET ROLE effectively drops all the privileges assigned directly to the > session user and to the other roles it is a member of, leaving only the= > privileges available to the named role." > This doesn't seem to be true. Consider the following: Additionally s/INHERITS/INHERIT/ And similarly this sentence is wrong or at least not completely clear: 8<----------- The specified role_name must be a role that the current session user is a member of. 8<----------- The wording should be something like 8<----------- The specified role_name must be a role that the current session user is a member of directly or indirectly. 8<----------- I believe the paragraph you cite should be reworded, but I am at a loss as to how best to describe the actual situation clearly. Maybe something like: 8<----------- If the session user role has the INHERIT attribute, then it automatically has all the privileges of every role that it is a member of directly, and any that it is a member of indirectly which is not blocked by a NOINHERIT attribute of another reachable role; in this case SET ROLE effectively drops all the privileges assigned directly to the session user and to the other roles it is a member of, leaving only the privileges available to the named role. 8<----------- Thoughts? Joe --=20 Crunchy Data - http://crunchydata.com PostgreSQL Support for Secure Enterprises Consulting, Training, & Open Source Development --OwWTq1Kxul177o97YVhbW15mAtxkAoMob-- --1Ru4rQQ6FTerYMqse2gRPsjtnvjJIvHyM Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEg14x9eymXoJyHrH+N/L3QzX32GUFAlzAt6cACgkQN/L3QzX3 2GWRNg/8D5ubYi0CCiGhYfXkNqX5Qi/Q++FaqPYVPcx3rdmgn+cafcMo9L6n6tH+ cyBepGNBeCPXCarG8h3FtvuDI9CDW9o2g8oPgw2Pqu3kCXKFCRuS0dhpiwimFFWJ O3Mt2RmPBxXUArqB38zQc3BMfsX5XrdXxZGKjul+fLQ7Ac09h3/doGYmn1vX/Q9X 18igdt9aQnwXziTVLYKGyBM7TrvopVuzmvtCjO8DbL1RsUK9KHMvXYuUE4/MNv7g SQqHEuTWG8qBr6FEJ8uqle1r6okXl6dIm2rSJMe4Cjb6FsFWWjXEq99XEyMxDVqg O74GLHX99n0TG3h51QiC2IHx8DHpGmfkwkgHJnHSKawNJXMUyEbrK7dygeFZRTB3 3l+AZj6KvcgNmIOH0A0Kmg627OIJ2OzLIb77k7h8ly6rAZ30XXxdnxaw6KlZwDaB GctIBXlvSaLTdkodHcRJbosWq1/hk22o/SdVYsE/+g4Pt7m9FQmztoXbdQw/QTpn Rpwu2jlLA9REIvL6cYYg6AE3mhbhT0HoG3xfX6a9/etPT0OVwLfJpDE4P7raOxE9 Oj7DvRNJJO3j6YYI9hPTgA6hn39qg1NqkzOzRb8CKgiwz2e6pEFxOlOfa91wmiGh QaZXiVlfliG83IQAcRDwGLMNXrskx81HGzcpkJpzeKU2IVyeVzg= =CFnS -----END PGP SIGNATURE----- --1Ru4rQQ6FTerYMqse2gRPsjtnvjJIvHyM--