使用 RDS 代理时添加新数据库用户 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 RDS 代理时添加新数据库用户

在某些情况下,您可能会将新数据库用户添加到与代理关联的 RDS 数据库实例或集群。根据您是使用 Secrets Manager 密钥进行标准身份验证,还是端到端 IAM 身份验证,选择相应的操作。

如果使用标准 IAM 身份验证,请按照以下说明进行操作:

  1. 使用 设置 RDS 代理的数据库凭证 中描述的过程创建新 Secrets Manager 密钥。

  2. 更新 IAM 角色以授予 RDS Proxy 对新 Secrets Manager 密钥的访问权限。为此,请更新 IAM 角色策略的资源部分。

  3. 修改 RDS 代理,以在 Secrets Manager 密钥下添加新的 Secrets Manager 密钥。

  4. 如果新用户取代了现有用户,请更新存储在代理的 Secrets Manager 密钥中的现有用户的凭证。

如果使用端到端 IAM 身份验证,则需要创建数据库用户并配置 IAM 权限。为此,请运行以下步骤:

  1. 在您的数据库中创建一个与您要用于身份验证的 IAM 用户或角色名称相匹配的新数据库用户。

  2. 确保数据库用户在数据库中配置了 IAM 身份验证插件。请参阅使用 IAM 身份验证创建数据库账户

  3. 更新 IAM 策略以向 IAM 用户或角色授予 rds-db:connect 权限,如创建端到端 IAM 策略中所述。

  4. 确保您的代理配置为使用 IAM 身份验证作为默认身份验证方案。

使用端到端 IAM 身份验证时,您无需管理 Secrets Manager 密钥中的数据库凭证,因为 IAM 凭证用于从客户端到代理以及从代理到数据库的身份验证。

使用 RDS 代理时向 PostgreSQL 数据库添加新数据库用户

将新用户添加到 PostgreSQL 数据库时,如果有,请运行以下命令:

REVOKE CONNECT ON DATABASE postgres FROM PUBLIC;

rdsproxyadmin 用户授予 CONNECT 权限,以便用户可以监控目标数据库上的连接。

GRANT CONNECT ON DATABASE postgres TO rdsproxyadmin;

还可以通过将上述命令中的 rdsproxyadmin 更改为其他目标数据库用户,来允许该数据库用户执行运行状况检查。

使用 RDS 代理时更改数据库用户的密码

在某些情况下,您可能会更改与代理关联的 RDS 数据库实例中的数据库用户的密码。如果是这样,请使用新密码更新相应的 Secrets Manager 密钥。

如果您使用端到端 IAM 身份验证,则无需更新 Secrets Manager 密钥中的任何密码。