↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

百科 / 认证方法 / 身份认证与访问控制

radius

使用 RADIUS 服务器进行认证。详情参见第 20.11 节。

当前查看 PostgreSQL 18.6。

说明

使用 RADIUS 服务器进行认证。详情参见第 20.11 节。

方法
radius
配置
pg_hba.conf
清单
用户可见的源码认证方法

手册中的方法选项与替代方式

选项或术语含义
radiusservers要连接的 RADIUS 服务器的 DNS 名称或 IP 地址。此参数为必需项。
radiussecrets与 RADIUS 服务器进行安全通信时使用的共享密钥。它在 PostgreSQL 服务器和 RADIUS 服务器上必须完全相同。建议它至少是一个 16 个字符长的字符串。此参数为必需项。 注意 只有当 PostgreSQL 在构建时启用了 OpenSSL 支持,所使用的加密向量才具有足够的密码学强度。在其他情况下,到 RADIUS 服务器的传输只能被视为经过混淆,而非受到安全保护;如有必要,应额外采取外部安全措施。
radiusports要连接的 RADIUS 服务器端口号。如果未指定端口,则会使用默认的 RADIUS 端口 1812 。
radiusidentifiers在 RADIUS 请求中用作 NAS Identifier 的字符串。举例来说,这个参数可用于标识用户正在尝试连接哪个数据库集簇,从而便于在 RADIUS 服务器上进行策略匹配。如果未指定标识符,则默认使用 postgresql 。

手册定义

20.11. RADIUS 认证

这种认证方法的工作方式与 password 类似,只不过它使用 RADIUS 作为密码验证方式。RADIUS 只用于验证用户名/密码对。因此,在使用 RADIUS 进行认证之前,用户必须已经存在于数据库中。

使用 RADIUS 认证时,会向配置好的 RADIUS 服务器发送一条 Access Request 消息。该请求的类型为 Authenticate Only,并包含 user name、password(加密的)以及 NAS Identifier 参数。该请求会使用与服务器共享的密钥进行加密。RADIUS 服务器会返回 Access Accept 或 Access Reject 作为响应。PostgreSQL 不支持 RADIUS 记账。

可以指定多个 RADIUS 服务器,这种情况下会按顺序依次尝试。如果某台服务器返回否定响应,则认证失败;如果没有收到响应,则继续尝试列表中的下一台服务器。要指定多台服务器,可用双引号括起整个列表,并用逗号分隔服务器名称。如果指定了多台服务器,其他 RADIUS 选项也可以写成逗号分隔的列表,以便为每台服务器分别提供不同取值;也可以只指定单个值,此时该值会应用到所有服务器。

RADIUS 支持下列配置选项:

radiusservers

要连接的 RADIUS 服务器的 DNS 名称或 IP 地址。此参数为必需项。

radiussecrets

与 RADIUS 服务器进行安全通信时使用的共享密钥。它在 PostgreSQL 服务器和 RADIUS 服务器上必须完全相同。建议它至少是一个 16 个字符长的字符串。此参数为必需项。

注意

只有当 PostgreSQL 在构建时启用了 OpenSSL 支持,所使用的加密向量才具有足够的密码学强度。在其他情况下,到 RADIUS 服务器的传输只能被视为经过混淆,而非受到安全保护;如有必要,应额外采取外部安全措施。

radiusports

要连接的 RADIUS 服务器端口号。如果未指定端口,则会使用默认的 RADIUS 端口 1812。

radiusidentifiers

在 RADIUS 请求中用作 NAS Identifier 的字符串。举例来说,这个参数可用于标识用户正在尝试连接哪个数据库集簇,从而便于在 RADIUS 服务器上进行策略匹配。如果未指定标识符,则默认使用 postgresql。

如果某个 RADIUS 参数值中必须包含逗号或空白,可以通过用双引号括起该值来实现,但这样会比较繁琐,因为此时需要两层双引号。下面是一个在 RADIUS 密钥字符串中包含空白的示例:

host ... radius radiusservers="server1,server2" radiussecrets="""secret one"",""secret two"""

文档与源码

来源构建
版本
18.6
构建
https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
来源指纹
555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f

版本比较

PostgreSQL 17 → 18: 无变化。

比较已记录的接口与属性,排除来源指纹和构建元数据。某个样本中没有记录,不能据此判断实际引入或移除的版本。

相关条目

导出 JSON · 返回认证方法 · 收录范围为 PostgreSQL 10 至 18;最早采样版本不一定是实际引入版本。