

# Configuración de la autenticación de IAM para conexiones de replicación lógica
<a name="PostgreSQL.Concepts.General.FeatureSupport.IAMLogicalReplication"></a>

A partir de las versiones 11 y superiores de RDS para PostgreSQL, puede usar la autenticación AWS Identity and Access Management (IAM) para las conexiones de replicación. Esta característica mejora la seguridad al permitirle administrar el acceso a la base de datos mediante roles de IAM en lugar de contraseñas. Funciona por clúster y detalle de la instancia y sigue el mismo modelo de seguridad que la autenticación de IAM estándar.

La autenticación de IAM para conexiones de replicación es una característica opcional. Para habilitarla, establezca el parámetro `rds.iam_auth_for_replication` en 1 en el grupo de parámetros del clúster de la base de datos o de base de datos. Como se trata de un parámetro dinámico, el clúster o instancia de base de datos no necesita reiniciarse, lo que le permite aprovechar la autenticación de IAM con las cargas de trabajo existentes sin tiempo de inactividad. Antes de habilitar esta característica, asegúrese de que cumple los requisitos previos mostrados a continuación.

**Topics**
+ [Requisitos previos](#PostgreSQL.Concepts.General.FeatureSupport.IAMLogicalReplication.Prerequisites)
+ [Habilitación de la autenticación de IAM para las conexiones de replicación](#PostgreSQL.Concepts.General.FeatureSupport.IAMLogicalReplication.Enabling)
+ [Desactivación de la autenticación de IAM para las conexiones de replicación](#PostgreSQL.Concepts.General.FeatureSupport.IAMLogicalReplication.Disabling)
+ [Limitaciones y consideraciones](#PostgreSQL.Concepts.General.FeatureSupport.IAMLogicalReplication.Limitations)

## Requisitos previos
<a name="PostgreSQL.Concepts.General.FeatureSupport.IAMLogicalReplication.Prerequisites"></a>

Para utilizar la autenticación de IAM para conexiones de replicación, debe cumplir todos los siguientes requisitos:
+ Las instancia de base de datos de RDS para PostgreSQL debe ser de versión 11 o posterior.
+ En su instancia de base de datos de RDS para PostgreSQL del publicador:
  + Habilite la autenticación de bases de datos de IAM. Para obtener más información, consulte [Activación y desactivación de la autenticación de bases de datos de IAM](UsingWithRDS.IAMDBAuth.Enabling.md).
  + Habilite la replicación lógica estableciendo el parámetro `rds.logical_replication` en 1.

En la replicación lógica, el publicador es la base de datos de RDS para PostgreSQL de origen que envía los datos a los clústeres de suscriptores. Para obtener más información, consulte [Replicación lógica para Amazon RDS para PostgreSQL](PostgreSQL.Concepts.General.FeatureSupport.LogicalReplication.md).

**nota**  
La autenticación de IAM y la replicación lógica deben estar habilitadas en la instancia de base de datos de RDS para Aurora PostgreSQL del publicador. Si ninguna de las dos está habilitada, no podrá utilizar la autenticación de IAM para conexiones de replicación.

## Habilitación de la autenticación de IAM para las conexiones de replicación
<a name="PostgreSQL.Concepts.General.FeatureSupport.IAMLogicalReplication.Enabling"></a>

Realice los siguientes pasos antes de habilitar la autenticación de IAM para la conexión de replicación.

**Habilitación de la autenticación de IAM para las conexiones de replicación**

1. Compruebe que el clúster o instancia de base de datos de RDS para PostgreSQL cumpla todos los requisitos previos para la autenticación de IAM con conexiones de replicación. Para obtener más información, consulte [Requisitos previos](#PostgreSQL.Concepts.General.FeatureSupport.IAMLogicalReplication.Prerequisites).

1. Configure el parámetro `rds.iam_auth_for_replication` en función de la configuración de RDS para PostgreSQL:
   + Para instancias de base de datos de RDS para PostgreSQL: modifique su grupo de parámetros de base de datos.
   + Para clústeres multi-AZ: modifique el grupo de parámetros de clúster de base de datos.

   Establezca `rds.iam_auth_for_replication` en 1. Este es un parámetro dinámico que se aplica de forma inmediata sin necesidad de reiniciar.
**nota**  
Los clústeres de multi-AZ utilizan solo grupos de parámetros de clúster de base de datos. Los grupos de parámetros de instancias individuales no se pueden modificar en los clústeres de multi-AZ.

1. Conéctese a la base de datos y conceda los roles necesarios al usuario de replicación:

   Los siguientes comandos SQL otorgan los roles necesarios para habilitar la autenticación de IAM para las conexiones de replicación:

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

   Tras completar estos pasos, el usuario especificado debe usar la autenticación de IAM para las conexiones de replicación.
**importante**  
Al habilitar la característica, los usuarios con los roles `rds_iam` y `rds_replication` deben usar la autenticación de IAM para las conexiones de replicación. Esto se aplica si los roles se asignan directamente al usuario o si se heredan a través de otros roles.

## Desactivación de la autenticación de IAM para las conexiones de replicación
<a name="PostgreSQL.Concepts.General.FeatureSupport.IAMLogicalReplication.Disabling"></a>

Puede desactivar la autenticación de IAM para conexiones de replicación mediante cualquiera de los siguientes métodos:
+ Defina el parámetro `rds.iam_auth_for_replication` en 0 en el grupo de parámetros de base de datos para las instancias de base de datos o en el grupo de parámetros del clúster de base de datos para los clústeres multi-AZ.
+ Otra opción, puede desactivar cualquiera de estas características en el clúster o la instancia de base de datos de RDS para PostgreSQL:
  + Desactivación de la replicación lógica estableciendo el parámetro `rds.logical_replication` en 0
  + Desactivación de la autenticación de IAM

Al desactivar la característica, las conexiones de replicación pueden usar contraseñas de bases de datos para la autenticación.

**nota**  
Las conexiones de replicación para los usuarios sin el rol `rds_iam` pueden usar la autenticación por contraseña incluso cuando la característica está habilitada.

## Limitaciones y consideraciones
<a name="PostgreSQL.Concepts.General.FeatureSupport.IAMLogicalReplication.Limitations"></a>

Tenga en cuenta las limitaciones y consideraciones siguientes al usar la autenticación de IAM para las conexiones de replicación lógicas:
+ Esta característica solo está disponible para las versiones 11 y superiores de RDS para PostgreSQL.
+ El publicador debe admitir la autenticación de IAM para las conexiones de replicación.
+ De forma predeterminada, el token de autenticación de IAM caduca a los 15 minutos. Es posible que tenga que actualizar las conexiones de replicación de larga duración antes de que caduque el token.