正德厚生,臻于至善

pg_hba.conf 支持的主要认证方式

pg_hba.conf 支持的主要认证方式、用途及用法如下:

1. trust

  • 用途:完全信任连接请求,无需验证身份,直接允许访问。
  • 用法:在 pg_hba.conf 条目里写为trust,仅适用于本地完全可信环境(如管理员专属的服务器),风险较高,不建议对外网开放。

2. reject

  • 用途:明确拒绝匹配条目的所有连接请求。
  • 用法:写为reject,用于禁止特定来源(如某 IP 段、某用户)的访问,常作为访问控制的 “黑名单” 规则。

3. md5

  • 用途:将用户口令经 MD5 哈希后传递,避免明文暴露,是常用的安全密码认证方式。
  • 用法:写为md5,要求数据库用户的密码已存储在pg_authid系统表中(通过CREATE ROLE ... WITH PASSWORD设置),支持远程 / 本地连接。

4. password

  • 用途:以明文形式传递用户口令(安全性极低),仅适用于加密网络或测试场景。
  • 用法:写为password,使用逻辑与md5一致,但口令会明文传输,不建议生产环境使用。

5. peer(本地专用)

  • 用途:基于本地操作系统用户身份认证,自动匹配 OS 用户名与数据库用户名。
  • 用法:写为peer,仅支持local(Unix 套接字)连接,无需输入密码,要求 OS 用户与数据库用户同名(或通过pg_ident.conf配置映射关系)。

6. ident

  • 用途:通过 ident 服务映射远程 / 本地操作系统用户到数据库用户,实现 OS 身份与 DB 身份的关联。
  • 用法:写为ident,需服务器端运行 ident 服务;本地场景通常用peer替代,远程场景需配合pg_ident.conf建立 OS 用户与 DB 用户的映射规则。

7. scram-sha-256

  • 用途:采用 SCRAM-SHA-256 算法进行密码哈希与认证,安全性高于md5(PostgreSQL 10 及以上支持)。
  • 用法:写为scram-sha-256,要求数据库用户密码以该算法存储(需将password_encryption参数设为scram-sha-256后创建用户)。

8. ldap

  • 用途:通过外部 LDAP 服务器实现集中式身份认证,适用于企业级统一用户管理。
  • 用法:写为ldap,需额外配置 LDAP 参数(如ldapserver指定 LDAP 服务器地址、ldapbasedn指定用户搜索基准 DN)
host all all 0.0.0.0/0 ldap ldapserver=ldap.example.com ldapbasedn="ou=users,dc=example,dc=com"

9. cert

  • 用途:基于 SSL 客户端证书认证,通过验证客户端证书的有效性授权连接。
  • 用法:写为cert,需先启用数据库 SSL(ssl=on),并配置clientcert=1要求客户端提供证书,适用于高安全级别的加密访问场景。
赞(0) 打赏
未经允许不得转载:徐万新之路 » pg_hba.conf 支持的主要认证方式

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册