O PostgreSQL oferece vários métodos para autenticar usuários:
Autenticação por confiança (trust),
que simplesmente confia que os usuários são quem dizem ser.
Autenticação por senha, que requer que os usuários forneçam uma senha.
Autenticação GSSAPI, que confia em uma biblioteca de segurança compatível com GSSAPI. Normalmente, é usado para acessar um servidor de autenticação, como um servidor Kerberos [133] ou o Microsoft Active Directory.
Autenticação SSPI, que usa um protocolo específico do Windows, semelhante ao GSSAPI.
Autenticação Ident, que confia no serviço de “Protocolo de Identificação” (RFC 1413) na máquina do cliente. (Em conexões locais de soquete de domínio Unix, é tratado como uma autenticação entre pares.)
Autenticação entre pares (peer),
que confia nos recursos do sistema operacional para identificar o
processo na outra extremidade de uma conexão local.
Sem suporte para conexões remotas.
Autenticação LDAP, que confia em um servidor de autenticação LDAP.
Autenticação RADIUS, que confia em um servidor de autenticação RADIUS.
Autenticação por certificado, que requer uma conexão SSL, e autentica os usuários verificando o certificado SSL que eles enviam.
Autenticação PAM, que confia em uma biblioteca PAM (Pluggable Authentication Modules).
Autenticação BSD, que confia na estrutura de autenticação BSD (no momento disponível apenas no OpenBSD).
Autorização/Autenticação OAuth, que confia em um provedor de identidade OAuth 2.0 externo.
A autenticação entre pares (peer)
geralmente é a recomendada para conexões locais, embora a autenticação
por confiança (trust) possa ser
suficiente em algumas circunstâncias.
A autenticação por senha é a escolha mais fácil para conexões remotas.
Todas as outras opções requerem algum tipo de infraestrutura de
segurança externa (geralmente um servidor de autenticação, ou uma
autoridade certificadora para emissão de certificados
SSL), ou são específicas da plataforma.
As seções a seguir descrevem cada um desses métodos de autenticação com mais detalhes.
[133] Kerberos é um protocolo de autenticação de rede que elimina a transmissão de senhas não encriptadas em toda a rede. Fonte: IBM – Linux-UNIX: Kerberos-tráfego de banco de dados autenticado (N. T.)