调用ModifyPGHbaConfig接口修改RDS PostgreSQL实例的pg_hba.conf文件配置。

RDS PostgreSQL实例支持您自定义修改pg_hba.conf文件配置,具体请参见PostgreSQL pg_hba.conf介绍

基于pg_hba.conf文件的修改,您可以实现RDS PostgreSQL接入自建AD域等功能。具体请参见RDS PostgreSQL接入自建域

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String ModifyPGHbaConfig

系统规定参数。取值:ModifyPGHbaConfig

ClientToken String 1

预留参数,无需配置。

DBInstanceId String pgm-bp1lymyn1v3i****

实例ID。可以通过接口DescribeDBInstances查看。

OpsType String add

配置类型,支持以下几种方式修改AD域服务信息。

  • add:添加一条或多条记录,不能与已有PriorityId参数重复。
  • delete:删除一条或多条记录,将删除当前配置中PriorityId参数取值对应的记录。
  • modify:修改一条或多条记录,将修改当前配置中PriorityId参数取值对应的记录。
  • update:全量更新,将使用传入的配置覆盖当前配置。
HbaItem.N.Type String host

连接类型。

支持配置以下取值:

  • host:该条记录验证TCP/IP连接,包括SSL连接和非SSL连接。
  • hostssl:该条记录只验证通过SSL建立的TCP/IP连接。
  • hostnossl:该条记录只验证通过非SSL建立的TCP/IP连接。
    说明 如果使用hostssl连接类型,需要打开SSL链路加密,具体请参见SSL链路加密
HbaItem.N.Mask String null

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

HbaItem.N.Database String all

数据库名。表示允许用户访问的数据库,all表示允许用户访问所有数据库。

如果配置多个,可通过逗号(,)分隔。

HbaItem.N.PriorityId Integer 2

表示该条记录的优先级,取值范围:0~10000,0优先级最高。

此参数用于标识每条记录,新增记录时,不允许与已有记录重复。修改或删除时,需要与已有记录的PriorityId相同,用于匹配记录。

HbaItem.N.Address String 0.0.0.0/0

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

HbaItem.N.User String ldapuser

允许哪些用户访问数据库,填写实例的用户名。如果配置多个,可通过逗号(,)分隔。

HbaItem.N.Method String ldap

认证方法。支持:

  • trust
  • reject
  • scram-sha-256
  • md5
  • password
  • gss
  • sspi
  • ldap
  • radius
  • cert
  • pam
HbaItem.N.Option String ldapserver=ECS服务器的私网IP ldapbasedn="CN=Users,DC=pgsqldomain,DC=net" ldapbinddn="CN=AD域中创建的管理员用户名,CN=Users,DC=pgsqldomain,DC=net" ldapbindpasswd="AD域中创建的管理员用户密码" ldapsearchattribute="sAMAccountName"

认证方式对应的可选参数。本示例使用LDAP认证,需要配置。此参数的更多参数解释,请参见Authentication Methods

返回数据

名称 类型 示例值 描述
RequestId String 458E0781-C46C-55F5-A0E5-1DD284B28A3F

请求ID。

示例

请求示例

http(s)://rds.aliyuncs.com/?Action=ModifyPGHbaConfig
&DBInstanceId=pgm-bp1lymyn1v3ifjyj
&OpsType=add
&HbaItem.1.Address=0.0.0.0/0
&HbaItem.1.Database=all
&HbaItem.1.Method=ldap
&HbaItem.1.PriorityId=2
&HbaItem.1.Type=host
&HbaItem.1.User=ldapuser
&HbaItem.1.Option=ldapserver=172.16.XX.XX ldapbasedn="CN=Users,DC=pgsqldomain,DC=net" ldapbinddn="CN=pgadmin,CN=Users,DC=pgsqldomain,DC=net" ldapbindpasswd="test_123456" ldapsearchattribute="sAMAccountName"

请求示例补充说明

通过http(s)请求时,需要对请求Url进行UrlEncode编码。

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<ModifyPGHbaConfigResponse>
    <RequestId>458E0781-C46C-55F5-A0E5-1DD284B28A3F</RequestId>
</ModifyPGHbaConfigResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "458E0781-C46C-55F5-A0E5-1DD284B28A3F"
}

错误码

HttpCode 错误码 错误信息 描述
400 MinorVersionNotSupport The current database minor version does not support the operation. 操作失败,当前小版本不支持该操作。
403 IncorrectDBInstanceState Current DB instance state does not support this operation. 操作失败,该实例状态下不支持此操作。
404 IncorrectDBInstanceLockMode Current DB instance lock mode does not support this operation. 操作失败,实例处于锁定状态。

访问错误中心查看更多错误码。