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 认证
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 18 → 19: 不再收录。
以下差异保留原始字段名与英文源描述。
--- PostgreSQL 18
+++ PostgreSQL 19
@@ -1,9 +1 @@
-{
- "documented_option_names": [
- "radiusidentifiers",
- "radiusports",
- "radiussecrets",
- "radiusservers"
- ],
- "method": "radius"
-}
+该版未收录
比较已记录的接口与属性,排除来源指纹和构建元数据。某个样本中没有记录,不能据此判断实际引入或移除的版本。
相关条目
导出 JSON · 返回认证方法 · 收录范围为 PostgreSQL 10 至 18;最早采样版本不一定是实际引入版本。