使用 RDS 代理时添加新数据库用户
在某些情况下,您可能会将新数据库用户添加到与代理关联的 RDS 数据库实例或集群。根据您是使用 Secrets Manager 密钥进行标准身份验证,还是端到端 IAM 身份验证,选择相应的操作。
如果使用标准 IAM 身份验证,请按照以下说明进行操作:
-
使用 设置 RDS 代理的数据库凭证 中描述的过程创建新 Secrets Manager 密钥。
-
更新 IAM 角色以授予 RDS Proxy 对新 Secrets Manager 密钥的访问权限。为此,请更新 IAM 角色策略的资源部分。
-
修改 RDS 代理,以在 Secrets Manager 密钥下添加新的 Secrets Manager 密钥。
-
如果新用户取代了现有用户,请更新存储在代理的 Secrets Manager 密钥中的现有用户的凭证。
如果使用端到端 IAM 身份验证,则需要创建数据库用户并配置 IAM 权限。为此,请运行以下步骤:
-
在您的数据库中创建一个与您要用于身份验证的 IAM 用户或角色名称相匹配的新数据库用户。
-
确保数据库用户在数据库中配置了 IAM 身份验证插件。请参阅使用 IAM 身份验证创建数据库账户。
-
更新 IAM 策略以向 IAM 用户或角色授予
rds-db:connect权限,如创建端到端 IAM 策略中所述。 -
确保您的代理配置为使用 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 密钥中的任何密码。