为逻辑复制连接配置 IAM 身份验证 - Amazon Aurora
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

为逻辑复制连接配置 IAM 身份验证

从 Aurora PostgreSQL 版本 11 及更高版本开始,您可以对复制连接使用 Amazon Identity and Access Management(IAM)身份验证。此功能允许您使用 IAM 角色而不是密码来管理数据库访问权限,从而增强安全性。它在集群级别运行,遵循与标准 IAM 身份验证相同的安全模型。

复制连接的 IAM 身份验证是一项可选功能。要启用 IAM 身份验证,请在数据库集群参数组中将 rds.iam_auth_for_replication 参数设置为 1。由于这是一个动态参数,因此您的数据库集群无需重新启动,这样您就可以在不停机的情况下对现有工作负载使用 IAM 身份验证。启用此功能之前,您必须满足下面列出的先决条件

先决条件

要对复制连接使用 IAM 身份验证,您需要满足以下所有要求:

注意

必须在您的发布者 Aurora PostgreSQL 数据库集群上同时启用 IAM 身份验证和逻辑复制。如果任一项未启用,则无法对复制连接使用 IAM 身份验证。

对复制连接启用 IAM 身份验证

要对复制连接启用 IAM 身份验证,请完成以下步骤。

  1. 确认您的 Aurora PostgreSQL 数据库集群满足对复制连接使用 IAM 身份验证的所有前提条件。有关更多信息,请参阅 先决条件

  2. 要配置 rds.iam_auth_for_replication 参数,请修改数据库集群参数组:

    • rds.iam_auth_for_replication 参数设置为 1。此动态参数不要求重启。

  3. 连接到您的数据库并向您的复制用户授予必要的角色:

    以下 SQL 命令授予对复制连接启用 IAM 身份验证所需的角色:

    -- Grant IAM authentication role GRANT rds_iam TO replication_user_name; -- Grant replication privileges ALTER USER replication_user_name WITH REPLICATION;

完成这些步骤后,指定的用户必须对复制连接使用 IAM 身份验证。

重要

启用该功能后,同时拥有 rds_iamrds_replication 角色的用户必须对复制连接使用 IAM 身份验证。无论角色是直接分配给用户还是通过其他角色继承,都是如此。

对复制连接禁用 IAM 身份验证

您可以使用下面任何方法对复制连接禁用 IAM 身份验证:

  • 在数据库集群参数组中将 rds.iam_auth_for_replication 参数设置为 0

  • 或者,您可以在 Aurora PostgreSQL 数据库集群上禁用以下任一功能:

    • 通过将 rds.logical_replication 参数设置为 0,禁用逻辑复制

    • 禁用 IAM 身份验证

禁用该功能后,复制连接可以使用数据库密码进行身份验证(如果已配置)。

注意

即使启用了该功能,没有 rds_iam 角色的用户的复制连接也可以使用密码身份验证。

限制和注意事项

对复制连接使用 IAM 身份验证时,需遵守以下限制和注意事项。

  • 复制连接的 IAM 身份验证仅适用于 Aurora PostgreSQL 11 及更高版本。

  • 发布者必须支持对复制连接使用 IAM 身份验证。

  • 默认情况下,IAM 身份验证令牌会在 15 分钟后失效。在令牌失效之前,您可能需要刷新长时间运行的复制连接。