Re: New Object Access Type hooks
От
Joshua Brindle
Тема
Re: New Object Access Type hooks
Дата
Msg-id
CAGB+Vh5PFQskeJDGCSBYMZHKDP9Wo6hLJ_=SnzE=SQwoXaToiA@mail.gmail.com
Ответ на
New Object Access Type hooks (Mark Dilger)
Список
Дерево обсуждения
New Object Access Type hooks Mark Dilger <mark.dilger@enterprisedb.com>
Re: New Object Access Type hooks Andrew Dunstan <andrew@dunslane.net>
Re: New Object Access Type hooks Mark Dilger <mark.dilger@enterprisedb.com>
Re: New Object Access Type hooks Thomas Munro <thomas.munro@gmail.com>
Re: New Object Access Type hooks Mark Dilger <mark.dilger@enterprisedb.com>
Re: New Object Access Type hooks Tom Lane <tgl@sss.pgh.pa.us>
Re: New Object Access Type hooks Tom Lane <tgl@sss.pgh.pa.us>
Re: New Object Access Type hooks Tom Lane <tgl@sss.pgh.pa.us>
Re: New Object Access Type hooks Mark Dilger <mark.dilger@enterprisedb.com>
Re: New Object Access Type hooks Tom Lane <tgl@sss.pgh.pa.us>
Re: New Object Access Type hooks Mark Dilger <mark.dilger@enterprisedb.com>
Re: New Object Access Type hooks Tom Lane <tgl@sss.pgh.pa.us>
Re: New Object Access Type hooks Tom Lane <tgl@sss.pgh.pa.us>
Re: New Object Access Type hooks Mark Dilger <mark.dilger@enterprisedb.com>
Re: New Object Access Type hooks Tom Lane <tgl@sss.pgh.pa.us>
Re: New Object Access Type hooks Mark Dilger <mark.dilger@enterprisedb.com>
Re: New Object Access Type hooks Tom Lane <tgl@sss.pgh.pa.us>
Re: New Object Access Type hooks Mark Dilger <mark.dilger@enterprisedb.com>
Re: New Object Access Type hooks Mark Dilger <mark.dilger@enterprisedb.com>
Re: New Object Access Type hooks Andrew Dunstan <andrew@dunslane.net>
Re: New Object Access Type hooks Mark Dilger <mark.dilger@enterprisedb.com>
Re: New Object Access Type hooks Joshua Brindle <joshua.brindle@crunchydata.com>
Re: New Object Access Type hooks Mark Dilger <mark.dilger@enterprisedb.com>
Re: New Object Access Type hooks Andrew Dunstan <andrew@dunslane.net>
Re: New Object Access Type hooks Mark Dilger <mark.dilger@enterprisedb.com>
Re: New Object Access Type hooks Andrew Dunstan <andrew@dunslane.net>
Re: New Object Access Type hooks Mark Dilger <mark.dilger@enterprisedb.com>
Re: New Object Access Type hooks Andrew Dunstan <andrew@dunslane.net>
Re: New Object Access Type hooks Julien Rouhaud <rjuju123@gmail.com>
Re: New Object Access Type hooks Mark Dilger <mark.dilger@enterprisedb.com>
Re: New Object Access Type hooks Andrew Dunstan <andrew@dunslane.net>
Re: New Object Access Type hooks Tom Lane <tgl@sss.pgh.pa.us>
Re: New Object Access Type hooks Andrew Dunstan <andrew@dunslane.net>
Re: New Object Access Type hooks Mark Dilger <mark.dilger@enterprisedb.com>
Re: New Object Access Type hooks Mark Dilger <mark.dilger@enterprisedb.com>
Re: New Object Access Type hooks Tom Lane <tgl@sss.pgh.pa.us>
Re: New Object Access Type hooks Tom Lane <tgl@sss.pgh.pa.us>
Re: New Object Access Type hooks Mark Dilger <mark.dilger@enterprisedb.com>
Re: New Object Access Type hooks Tom Lane <tgl@sss.pgh.pa.us>
Re: New Object Access Type hooks Andrew Dunstan <andrew@dunslane.net>
Re: New Object Access Type hooks Tom Lane <tgl@sss.pgh.pa.us>
Re: New Object Access Type hooks Andrew Dunstan <andrew@dunslane.net>
Re: New Object Access Type hooks Andres Freund <andres@anarazel.de>
Re: New Object Access Type hooks Mark Dilger <mark.dilger@enterprisedb.com>
Re: New Object Access Type hooks Tom Lane <tgl@sss.pgh.pa.us>
Re: New Object Access Type hooks Andres Freund <andres@anarazel.de>
Re: New Object Access Type hooks Tom Lane <tgl@sss.pgh.pa.us>
Re: New Object Access Type hooks Andrew Dunstan <andrew@dunslane.net>
Re: New Object Access Type hooks Justin Pryzby <pryzby@telsasoft.com>
Re: New Object Access Type hooks Tom Lane <tgl@sss.pgh.pa.us>
Re: New Object Access Type hooks Tom Lane <tgl@sss.pgh.pa.us>
Re: New Object Access Type hooks Andrew Dunstan <andrew@dunslane.net>
Re: New Object Access Type hooks Tom Lane <tgl@sss.pgh.pa.us>
Re: New Object Access Type hooks Andrew Dunstan <andrew@dunslane.net>
Re: New Object Access Type hooks Andrew Dunstan <andrew@dunslane.net>
Re: New Object Access Type hooks Andres Freund <andres@anarazel.de>
Re: New Object Access Type hooks Andrew Dunstan <andrew@dunslane.net>
Re: New Object Access Type hooks Tom Lane <tgl@sss.pgh.pa.us>
Re: New Object Access Type hooks Andres Freund <andres@anarazel.de>
Re: New Object Access Type hooks Michael Paquier <michael@paquier.xyz>
Re: New Object Access Type hooks Michael Paquier <michael@paquier.xyz>
Re: New Object Access Type hooks Mark Dilger <mark.dilger@enterprisedb.com>
On Thu, Mar 17, 2022 at 11:21 PM Mark Dilger wrote: > > Hackers, > > Over in [1], Joshua proposed a new set of Object Access Type hooks based on strings rather than Oids. > > His patch was written to be applied atop my patch for granting privileges on gucs. > > On review of his patch, I became uncomfortable with the complete lack of regression test coverage. To be fair, he did paste a bit of testing logic to the thread, but it appears to be based on pgaudit, and it is unclear how to include such a test in the core project, where pgaudit is not assumed to be installed. > > First, I refactored his patch to work against HEAD and not depend on my GUCs patch. Find that as v1-0001. The refactoring exposed a bit of a problem. To call the new hook for SET and ALTER SYSTEM commands, I need to pass in the Oid of a catalog table. But since my GUC patch isn't applied yet, there isn't any such table (pg_setting_acl or whatnot) to pass. So I'm passing InvalidOid, but I don't know if that is right. In any event, if we want a new API like this, we should think a bit harder about whether it can be used to check operations where no table Oid is applicable. > > Second, I added a new test directory, src/test/modules/test_oat_hooks, which includes a new loadable module with hook implementations and a regression test for testing the object access hooks. The main point of the test is to log which hooks get called in which order, and which hooks do or do not get called when other hooks allow or deny access. That information shows up in the expected output as NOTICE messages. > > This second patch has gotten a little long, and I'd like another pair of eyes on this before spending a second day on the effort. Please note that this is a quick WIP patch in response to the patch Joshua posted earlier today. Sorry for sometimes missing function comments, etc. The goal, if this design seems acceptable, is to polish this, hopefully with Joshua's assistance, and get it committed *before* my GUCs patch, so that my patch can be rebased to use it. Otherwise, if this is rejected, I can continue on the GUC patch without this. > This is great, thank you for doing this. I didn't even realize the OAT hooks had no regression tests. It looks good to me, I reviewed both and tested the module. I wonder if the slight abuse of subid is warranted with brand new hooks going in but not enough to object, I just hope this doesn't rise to the too large to merge this late level. > (FYI, I got a test failure from src/test/recovery/t/013_crash_restart.pl when testing v1-0001. I'm not sure yet what that is about.) > > > > [1] https://www.postgresql.org/message-id/flat/664799.1647456444%40sss.pgh.pa.us#c9721c2da88d59684ac7ac5fc36f09c1 >
В списке pgsql-hackers по дате отправления
От: Aleksander Alekseev
Дата:
От: Nitin Jadhav
Дата: