PostgreSQL 19移除RADIUS,旧登录方式怎么替换
19已不再支持RADIUS认证。旧环境若用pg_hba.conf里的radius规则登录,需要在升级前安排替代方式;原样复制旧配置不能恢复被移除的支持。
应用账号和员工账号不一定要采用相同方案。前者可评估SCRAM,后者应结合现有身份系统考虑GSSAPI、LDAP、证书等方式,先弄清需求与实际使用范围。
一、为什么移除,哪些系统受影响?
原来的PostgreSQL RADIUS实现只支持UDP,发布说明指出其安全问题无法在原实现中妥善修补。因此这不是改一个默认参数就能重新开启的能力。
影响范围取决于实际匹配到的登录规则。业务程序、数据库管理员、报表工具、定时任务,只要通过 radius 认证,都要纳入迁移。反过来,数据库所在公司使用 RADIUS,并不代表 PostgreSQL 本身一定使用了它。
二、先查规则,再找使用者
由有权限的管理员在旧库检查文件位置和解析结果:
SHOW hba_file;SELECT file_name, line_number, database, user_name, address, auth_method, errorFROM pg_hba_file_rulesWHERE auth_method = 'radius' OR error IS NOT NULL;
还要查看引用的配置文件和实际登录日志。规则视图展示的是当前磁盘上的文件内容,不一定就是服务器最后成功加载的内容;只看文件没有报错,不代表连接已按预期使用新方式。
整理出账号、来源地址、客户端版本和负责人。尤其别漏掉一个月才运行一次的任务,以及只在故障时才使用的管理员账号。
三、替代方案怎么选?
| 使用情况 | 可以评估的方向 | 需要提前准备 |
|---|---|---|
| 应用服务使用专用数据库账号 | SCRAM-SHA-256 | 支持 SCRAM 的驱动、数据库口令和凭据分发 |
| 已有 Kerberos 等企业身份体系 | GSSAPI 等集成方式 | 身份映射、服务主体、客户端配置 |
| 员工账号由目录服务管理 | LDAP | 加密连接、目录权限、故障时的登录安排 |
| 由组织统一签发客户端证书 | 证书认证 | 证书签发、更新、撤销及账号映射 |
不要仅仅把 radius 这个单词换成 scram-sha-256。原来的外部认证口令,不会自动成为数据库内部可用的 SCRAM 口令。用户是否已有数据库口令、客户端从哪里取得它,都需要明确。
四、应用账号迁到 SCRAM,可以怎么安排?
先在测试环境确认驱动和连接池支持 SCRAM,然后为测试账号设置 SCRAM 口令。使用 psql 时,可以在管理员会话中设置生成方式,再交互式修改口令:
SET password_encryption = 'scram-sha-256';password app_user
接着为这个账号和明确来源网段配置新规则。下面只是格式示例,实际数据库、账号和网段要按环境填写;hostssl 还要求服务器已经正确配置 TLS:
hostssl appdb app_user 10.20.30.0/24 scram-sha-256
保持能够管理数据库的有效连接,先检查文件错误,再按部署方式重载配置。新开一条真实客户端连接测试,不能用已有连接未断开来证明迁移成功。
五、切换时最容易忽略什么?
登录规则从上往下使用第一条匹配项。前面的宽泛旧规则可能挡住后面的新规则,而且认证失败后也不会继续尝试下一条。
逐组迁移更容易定位异常:先验证账号,再少量应用,最后覆盖其他客户端。观察新连接、认证耗时和后台任务;仍用外部身份服务时,还要验证服务故障的影响。
真实客户端验证通过后,再从目标配置清掉radius内容并演练升级。迁移完成的依据,是新连接确实通过新方式认证,而不只是文件里的名称已经改了。
-
-
下载
- |
-
-
下载
- 《行尸走肉第一章》免安装中文汉化硬盘版下载
- 单机|436 MB
- 一款以动作冒险为主题的游戏
-
-
下载
- 《街头霸王X铁拳》免安装中文汉化硬盘版下载
- 单机|111MB
- 一款非常好玩的格斗游戏
-
-
下载
- |
-
-
下载
- 《暗黑破坏神3》免安装繁体中文正式版下载
- 单机|7630 MB
- 一款以角色扮演为主题的游戏
-
-
下载
- 《马克思佩恩3》免安装硬盘版下载
- 单机|27033 MB
- 一款以第三人称射击为主题的游戏