Re: Pragma autonomous transactions in Postgres/ Certification based authentication in DB Links
От | Tom Lane |
---|---|
Тема | Re: Pragma autonomous transactions in Postgres/ Certification based authentication in DB Links |
Дата | |
Msg-id | 1355149.1639758450@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: Pragma autonomous transactions in Postgres/ Certification based authentication in DB Links (Jonathan Katz <jonathan.katz@excoventures.com>) |
Ответы |
Re: Pragma autonomous transactions in Postgres/ Certification based authentication in DB Links
Re: Pragma autonomous transactions in Postgres/ Certification based authentication in DB Links |
Список | pgsql-sql |
Jonathan Katz <jonathan.katz@excoventures.com> writes: >> On Dec 17, 2021, at 10:43 AM, aditya desai <admad123@gmail.com> wrote: >> How to use certificate based authentication in DB Links instead of hardcoding user name and password in it? > dblink lets you pass in a PostgreSQL connection string[1]. > From there you can reference parameters to use certificates[2]. No, that won't help. Like postgres_fdw, dblink will only let you use non-password auth methods if you're superuser [1][2]. The problem is that making use of any credentials stored in the server's filesystem amounts to impersonating the OS user that's running the server. It'd be nice to find a less confining solution, but I'm not sure what one would look like. Maybe "use server's FDW credentials" could be associated with a grantable role? That's still an awfully coarse-grained approach though. I thought for a moment about putting an SSL cert right into the connection string; but you'd have to put the SSL private key in there too, making it just as much of a security problem as putting a password there (but about 100 times more verbose :-(). regards, tom lane [1] https://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=contrib/dblink/dblink.c;h=d73c616f4f240cf5f33294e61053765375a5bea6;hb=HEAD#l2669 [2] https://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=contrib/dblink/dblink.c;h=d73c616f4f240cf5f33294e61053765375a5bea6;hb=HEAD#l2690
В списке pgsql-sql по дате отправления: