Postgresql 中文操作指南
21.11. RADIUS Authentication #
这种身份验证方法与_password_类似,只是它使用 RADIUS 作为密码验证方法。RADIUS 仅用于验证用户名/密码对。因此,在使用 RADIUS 进行身份验证之前,用户必须已经存在于数据库中。
使用 RADIUS 身份验证时,将向配置的 RADIUS 服务器发送 Access Request 消息。此请求将为_Authenticate Only_类型,并包括_user name_、password(加密)和_NAS Identifier_的参数。该请求将使用与该服务器共享的密钥进行加密。RADIUS 服务器将通过_Access Accept_或_Access Reject_响应此请求。不支持 RADIUS 会计。
可以指定多个 RADIUS 服务器,在这种情况下,它们将按顺序进行尝试。如果从服务器收到否定响应,则身份验证将失败。如果没有收到响应,将尝试列表中的下一个服务器。要指定多个服务器,请用逗号分隔服务器名称,并用双引号将列表括起来。如果指定了多个服务器,也可以将其他 RADIUS 选项指定为逗号分隔的列表,以提供每个服务器的单独值。它们还可以指定为单个值,在这种情况下,该值将应用于所有服务器。
RADIUS 支持以下配置选项:
-
radiusservers
-
要连接到的 RADIUS 服务器的 DNS 名称或 IP 地址。此参数是必需的。
-
-
radiussecrets
-
与 RADIUS 服务器安全通信时使用的共享密钥。它必须在 PostgreSQL 和 RADIUS 服务器上具有完全相同的值。建议使用至少 16 个字符的字符串。此参数是必需的。
-
-
radiusports
-
连接到 RADIUS 服务器时要使用的端口号。如果没有指定端口,将使用默认 RADIUS 端口(1812)。
-
-
radiusidentifiers
-
在 RADIUS 请求中用作_NAS Identifier_的字符串。此参数可用用于识别用户尝试连接的数据库集群,这对于在 RADIUS 服务器上匹配策略很有用。如果没有指定标识符,将使用默认_postgresql_。
-