gss
认证方法 gss。
当前查看 PostgreSQL 18。
中文定义与说明
认证方法 gss。
- 索引访问方法
gss- 配置
pg_hba.conf
同版本中文手册节选
GSSAPI 是一种在 RFC 2743 中定义的安全认证行业标准协议。PostgreSQL 支持 GSSAPI 用于认证、通信加密,或两者兼而有之。GSSAPI 为支持它的系统提供自动认证(单点登录)。认证本身是安全的。如果使用 GSSAPI 加密或 SSL 加密,沿数据库连接发送的数据将被加密;否则,将不会被加密。
当编译 PostgreSQL 时,GSSAPI 支持必须被启用,详见第 17 章。
当 GSSAPI 使用 Kerberos 时,它会使用一个标准的服务主体(认证身份)名称,其格式为 。某个安装实际使用的主体名(principal name)不会以任何方式硬编码在 PostgreSQL 服务器中;相反,它是在服务器读取的 keytab 文件中指定的,服务器据此确定自己的身份。如果 keytab 文件中列出了多个主体,服务器会接受其中任意一个。服务器的 realm 名称是服务器可访问的 Kerberos 配置文件中指定的首选 realm。
servicename/hostname@realm
连接时,客户端必须知道它打算连接的服务器主体名。该主体名中的 servicename 部分通常是 postgres,但也可以通过 libpq 的连接参数 krbsrvname 选择其他值。hostname 部分则是 libpq 被告知要连接的完全限定主机名。realm 名称是客户端可访问的 Kerberos 配置文件中指定的首选 realm。
说明
认证方法 gss。
- 方法
- gss
- 配置
- pg_hba.conf
- 清单
- 用户可见的源码认证方法
手册中的方法选项与替代方式
| 选项或术语 | 含义 |
|---|---|
| include_realm | 如果设为 0,则在通过用户名映射( 第 20.2 节 )之前,会先从已认证用户的主体名中去掉 realm 名称。不建议这样做;它主要是为了向后兼容而保留的,因为在多 realm 环境中这并不安全,除非同时使用了 krb_realm 。建议将 include_realm 保持为默认值(1),并在 pg_ident.conf 中提供显式映射,把主体名转换成 PostgreSQL 用户名。 |
| map | 允许把客户端主体映射为数据库用户名。详见 第 20.2 节 。对于 GSSAPI/Kerberos 主体,例如 username@EXAMPLE.COM (或者较少见的 username/hostbased@EXAMPLE.COM ),用于映射的用户名分别是 username@EXAMPLE.COM (或 username/hostbased@EXAMPLE.COM ),除非已经将 include_realm 设为 0;在那种情况下,映射时视为系统用户名的是 username (或 username/hostbased )。 |
| krb_realm | 设置用于匹配用户主体名的 realm。如果设置了该参数,则只接受来自该 realm 的用户;如果未设置,则允许来自任意 realm 的用户连接,但仍受已执行的用户名映射约束。 |
文档与源码
来源构建
- 版本
- 18.6
- 构建
- https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
- 来源指纹
555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f
版本比较
PostgreSQL 17 → 18: 无变化。
比较已记录的接口与属性,排除来源指纹和构建元数据。某个样本中没有记录,不能据此判断实际引入或移除的版本。
相关条目
导出 JSON · 返回认证方法 · 收录范围为 PostgreSQL 10 至 20;最早采样版本不一定是实际引入版本。