更新时间:2024-10-14 GMT+08:00

修改pg_hba配置

操作场景

您可以配置指定数据库的pg_hba,以保证可以正常连接到数据库。

约束限制

  • 变更中的实例,不可进行该操作。
  • 备份恢复的所有实例都不会继承原实例的pg_hba配置,需要重新配置。
  • METHED当前只支持配置md5、reject、scram-sha-256这三种认证方式的一种。

操作步骤

  1. 登录管理控制台
  2. 单击管理控制台左上角的,选择区域。
  3. 单击页面左上角的,选择“数据库 > 云数据库 RDS”,进入RDS信息页面。
  4. “实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页。
  5. 在左侧导航栏,单击“账号管理”,选择“pg_hba修改”。

    系统默认创建了四条规则。
    图1 pg_hba修改

  6. 该默认规则可以修改和删除,并支持手动添加新规则。操作完成后,在列表上方单击“提交”,在弹框中,单击“确认”。各配置项说明请参见表1

    图2 提交确认

    提交修改后的新配置仅对新连接生效,对于旧连接,需要您断开已有连接后重新连接才能生效。

    表1 参数说明

    参数

    取值示例

    说明

    优先级

    0

    表示该条记录的优先级,0优先级最高,表示配置优先级最高。

    TYPE

    host

    支持配置以下取值:

    • host:该条记录验证TCP/IP连接,包括SSL连接和非SSL连接。
    • hostssl:该条记录只验证通过SSL建立的TCP/IP连接。
    • hostnossl:该条记录只验证通过非SSL建立的TCP/IP连接。

    DATABASE

    all

    允许用户访问的数据库,all表示允许用户访问所有数据库。如果配置多个,可通过逗号(,)分隔,配置的数据库必须是已存在的且不能是template0,template1这两个数据库。

    USER

    user0

    允许哪些用户访问数据库,填写创建数据库账号中创建的用户名。如果配置多个,可通过逗号(,)分隔。必须是已创建的用户且不能配置成内置用户,如:rdsAdmin, rdsMetric, rdsBackup, rdsRepl, rdsProxy。

    ADDRESS

    0.0.0.0/0

    ::0/0

    允许用户从哪个或哪些IP访问数据库,0.0.0.0/0(IPv4地址)和::0/0(IPv6地址)表示允许用户从任意IP地址访问数据库。

    说明:

    修改后不在该网段的IP将会连接不上,请谨慎修改。

    MASK

    掩码。如果ADDRESS为IP地址,可以通过此参数指定IP地址的掩码。

    METHOD

    md5

    认证方法,支持:

    • reject
    • scram-sha-256
    • md5

  7. 除手动添加规则外,还支持通过导入方式批量新增pg_hba配置信息。

    在列表上方单击“导入规则”,在右侧弹窗中配置新规则后,单击“确认”。

    • 新增规则(最低优先级):在已有规则最后追加新规则,优先级低于已有规则。
    • 新增规则(最高优先级):在已有规则最前追加新规则,优先级高于已有规则。
    • 覆盖已有规则。

  8. 在列表上方单击“恢复默认”,可以恢复到系统默认创建的四条规则。
  9. 使用psql命令行连接数据库,测试pg_hba配置的连通性。

    psql -h <实例连接地址> -U <hba配置中的的用户名> -p 5432 -d <hba配置中的的数据库名>