Thread: Authentication?
Hi. Is it possible to use one authentication method as default, like LDAP, and if the user is not found, then try to authenticateusing md5/scram-sha-256 ? Regards, BTJ -- ----------------------------------------------------------------------------------------------- Bjørn T Johansen btj@havleik.no ----------------------------------------------------------------------------------------------- Someone wrote: "I understand that if you play a Windows CD backwards you hear strange Satanic messages" To which someone replied: "It's even worse than that; play it forwards and it installs Windows" -----------------------------------------------------------------------------------------------
Hi.
Is it possible to use one authentication method as default, like LDAP, and if the user is not found, then try to authenticate using
md5/scram-sha-256 ?
In the "Client Authentication" Chapter:
"""
The first record with a matching connection type, client address, requested database, and user name is used to perform authentication. There is no “fall-through” or “backup”: if one record is chosen and the authentication fails, subsequent records are not considered. If no record matches, access is denied.
"""
David J.
On Wed, 7 Mar 2018 07:14:55 -0700 "David G. Johnston" <david.g.johnston@gmail.com> wrote: > On Wed, Mar 7, 2018 at 6:13 AM, Bjørn T Johansen <btj@havleik.no> wrote: > > > Hi. > > > > Is it possible to use one authentication method as default, like LDAP, and > > if the user is not found, then try to authenticate using > > md5/scram-sha-256 ? > > > > In the "Client Authentication" Chapter: > > https://www.postgresql.org/docs/10/static/auth-pg-hba-conf.html > > """ > The first record with a matching connection type, client address, > requested database, and user name is used to perform authentication. There > is no “fall-through” or “backup”: if one record is chosen and the > authentication fails, subsequent records are not considered. If no record > matches, access is denied. > """ > > David J. I was hoping I had misunderstood but ok.. :) BTJ
I was hoping I had misunderstood but ok.. :)On Wed, 7 Mar 2018 07:14:55 -0700
"David G. Johnston" <david.g.johnston@gmail.com> wrote:
> On Wed, Mar 7, 2018 at 6:13 AM, Bjørn T Johansen <btj@havleik.no> wrote:
>
> > Hi.
> >
> > Is it possible to use one authentication method as default, like LDAP, and
> > if the user is not found, then try to authenticate using
> > md5/scram-sha-256 ?
> >
>
> In the "Client Authentication" Chapter:
>
> https://www.postgresql.org/docs/10/static/auth-pg-hba- conf.html
>
> """
> The first record with a matching connection type, client address,
> requested database, and user name is used to perform authentication. There
> is no “fall-through” or “backup”: if one record is chosen and the
> authentication fails, subsequent records are not considered. If no record
> matches, access is denied.
> """
>
In the specific case you describe here you could have the server poll the LDAP server periodically and cache the user names recognized and the leverage:
"Multiple user names can be supplied by separating them with commas. A separate file containing user names can be specified by preceding the file name with @."
In short, you have to pre-compute which method each user is allowed to access externally then provide that knowledge to PostgreSQL.
David J.
Greetings, * Bjørn T Johansen (btj@havleik.no) wrote: > Is it possible to use one authentication method as default, like LDAP, and if the user is not found, then try to authenticateusing > md5/scram-sha-256 ? Not directly in pg_hba.conf. You might be able to construct a system which works like this using PAM though, but it wouldn't be much fun. LDAP use really should be discouraged as it involves sending the password to the PG server. If you are operating in an active directory environment then you should be using GSSAPI/Kerberos. SCRAM is a good alternative as it doesn't send the password to the server either, though that is only available in PG10, of course. Thanks! Stephen
Not to get off topic, can you authenticate database users via Kerberos?
Thanks,
~Ben
On Wed, Mar 7, 2018 at 10:19 AM, Stephen Frost <sfrost@snowman.net> wrote:
Greetings,
* Bjørn T Johansen (btj@havleik.no) wrote:
> Is it possible to use one authentication method as default, like LDAP, and if the user is not found, then try to authenticate using
> md5/scram-sha-256 ?
Not directly in pg_hba.conf. You might be able to construct a system
which works like this using PAM though, but it wouldn't be much fun.
LDAP use really should be discouraged as it involves sending the
password to the PG server. If you are operating in an active directory
environment then you should be using GSSAPI/Kerberos.
SCRAM is a good alternative as it doesn't send the password to the
server either, though that is only available in PG10, of course.
Thanks!
Stephen
Greetings, * Benedict Holland (benedict.m.holland@gmail.com) wrote: > Not to get off topic, can you authenticate database users via Kerberos? Absolutely. GSSAPI is the auth method to use for Kerberos. Thanks! Stephen
On Wed, 7 Mar 2018 10:19:35 -0500 Stephen Frost <sfrost@snowman.net> wrote: > Greetings, > > * Bjørn T Johansen (btj@havleik.no) wrote: > > Is it possible to use one authentication method as default, like LDAP, and if the user is not found, then try to authenticateusing > > md5/scram-sha-256 ? > > Not directly in pg_hba.conf. You might be able to construct a system > which works like this using PAM though, but it wouldn't be much fun. > > LDAP use really should be discouraged as it involves sending the > password to the PG server. If you are operating in an active directory > environment then you should be using GSSAPI/Kerberos. > > SCRAM is a good alternative as it doesn't send the password to the > server either, though that is only available in PG10, of course. > > Thanks! > > Stephen Ok, thx... Will check out GSSAPI/Kerberos instead... :) BTJ