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

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

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

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

先决条件

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

  • RDS for PostgreSQL 数据库实例必须为版本 11 或更高版本。

  • 在您的发布者 RDS for PostgreSQL 数据库实例上:

在逻辑复制中,发布者是向订阅用户数据库发送数据的源 RDS for PostgreSQL 数据库。有关更多信息,请参阅 为 Amazon RDS for PostgreSQL 执行逻辑复制

注意

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

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

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

对复制连接启用 IAM 身份验证
  1. 验证 RDS for PostgreSQL 数据库集群或实例满足对复制连接使用 IAM 身份验证的所有先决条件。有关更多信息,请参阅 先决条件

  2. 根据 RDS for PostgreSQL 设置配置 rds.iam_auth_for_replication 参数:

    • 对于 RDS for PostgreSQL 数据库实例:修改数据库参数组。

    • 对于多可用集群:修改数据库集群参数组。

    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。

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

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

    • 禁用 IAM 身份验证

禁用该功能后,复制连接可以使用数据库密码进行身份验证。

注意

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

限制和注意事项

对逻辑复制连接使用 IAM 身份验证时,请考虑以下限制和注意事项。

  • 此功能仅适用于 RDS for PostgreSQL 版本 11 及更高版本。

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

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