Обсуждение: pg_hba.conf improvements

Поиск
Список
Период
Сортировка

pg_hba.conf improvements

От
Holger Jakobs
Дата:
Hello,

User authorization is a difficult task. Requiring passwords ist
annoying, Kerberos is complicated, ident is not secure.

What about leaving it to the administrator of a system to provide a
function (either a C function in a shared lib or an executable) which
gets information passed and decides whether the access will be granted?

If you have a networked Windows environment you could for instance check
whether the user initiating a connection actually has a valid Windows
domain/active directory session open on the computer. This would be far
more secure than a simple ident which can be faked easily.

There may be other quite secure means of user authentication not
requiring a password every time you connect, so an
administrator-provided function can match the current needs.

A new keyword in pg_hba.conf could be introduced for this. The
parameters passed to the function or program would include the IP
addresses and port numbers of client and server, the name of the
database and the name of the user he pretends to be. If the return value
is true, access is granted, otherwise rejected.

If it is possible to get this running without changing PostgreSQL, I
would appreciate a note. Otherwise please take this as an item on the
wish list.

Sincerely,

Holger
--
Holger@Jakobs.com, Bergisch Gladbach, Germany
Telefon (0 22 02) 5 99 91 oder (01 77) 7 92 24 66


Re: pg_hba.conf improvements

От
Tom Lane
Дата:
Holger Jakobs <holger@jakobs.com> writes:
> What about leaving it to the administrator of a system to provide a
> function (either a C function in a shared lib or an executable) which
> gets information passed and decides whether the access will be granted?

I think this is exactly what PAM is for.  Write your own authentication
module, plug it in.

            regards, tom lane