

# Configurar a autenticação do IAM para conexões de replicação lógica
<a name="PostgreSQL.Concepts.General.FeatureSupport.IAMLogicalReplication"></a>

A partir das versões 11 e posterior do RDS para PostgreSQL, você pode usar a autenticação do AWS Identity and Access Management Identity and Access Management (IAM) para conexões de replicação. Esse recurso aprimora a segurança ao permitir que você gerencie o acesso ao banco de dados usando perfis do IAM em vez de senhas. Ele funciona na granularidade do cluster e da instância e segue o mesmo modelo de segurança que a autenticação padrão do IAM.

A autenticação do IAM para conexões de replicação é um atributo opcional. Para habilitá-lo, defina o parâmetro `rds.iam_auth_for_replication` como 1 no seu grupo de parâmetros de banco de dados ou de cluster de banco de dados. Como esse é um parâmetro dinâmico, sua instância ou cluster de banco de dados não precisa ser reiniciado, permitindo que você utilize a autenticação do IAM com workloads existentes sem tempo de inatividade. Antes de habilitar esse recurso, você deve atender aos pré-requisitos listados abaixo.

**Topics**
+ [

## Pré-requisitos
](#PostgreSQL.Concepts.General.FeatureSupport.IAMLogicalReplication.Prerequisites)
+ [

## Habilitar a autenticação do IAM para conexões de replicação
](#PostgreSQL.Concepts.General.FeatureSupport.IAMLogicalReplication.Enabling)
+ [

## Desabilitar a autenticação do IAM para conexões de replicação
](#PostgreSQL.Concepts.General.FeatureSupport.IAMLogicalReplication.Disabling)
+ [

## Limitações e considerações
](#PostgreSQL.Concepts.General.FeatureSupport.IAMLogicalReplication.Limitations)

## Pré-requisitos
<a name="PostgreSQL.Concepts.General.FeatureSupport.IAMLogicalReplication.Prerequisites"></a>

Para usar a autenticação do IAM para conexões de replicação, você precisa cumprir todos os requisitos abaixo:
+ A instância de banco de dados do RDS para PostgreSQL deve ser a versão 11 ou posterior.
+ Na instância de banco de dados do RDS para PostgreSQL do publicador:
  + Habilite a autenticação do banco de dados do IAM. Para ter mais informações, consulte [Habilitar e desabilitar a autenticação de banco de dados do IAM](UsingWithRDS.IAMDBAuth.Enabling.md).
  + Habilite a replicação lógica definindo o parâmetro `rds.logical_replication` como 1.

Na replicação lógica, o publicador é o banco de dados do RDS para PostgreSQL de origem que envia dados ao banco de dados de assinantes. Para ter mais informações, consulte [Executar replicação lógica para o Amazon RDS para PostgreSQL](PostgreSQL.Concepts.General.FeatureSupport.LogicalReplication.md).

**nota**  
Tanto a autenticação do IAM quanto a replicação lógica devem estar habilitadas na instância de banco de dados do RDS para PostgreSQL do publicador. Se nenhuma delas estiver habilitada, você não poderá usar a autenticação do IAM para conexões de replicação.

## Habilitar a autenticação do IAM para conexões de replicação
<a name="PostgreSQL.Concepts.General.FeatureSupport.IAMLogicalReplication.Enabling"></a>

Conclua as etapas a seguir para habilitar a autenticação do IAM para a conexão de replicação.

**Como habilitar a autenticação do IAM para conexões de replicação**

1. Verifique se seu cluster ou instância de banco de dados do RDS para PostgreSQL atende a todos os pré-requisitos para autenticação do IAM com conexões de replicação. Para obter detalhes, consulte [Pré-requisitos](#PostgreSQL.Concepts.General.FeatureSupport.IAMLogicalReplication.Prerequisites).

1. Configure o parâmetro `rds.iam_auth_for_replication` com base na configuração do RDS para PostgreSQL:
   + Para instâncias de banco de dados do RDS para PostgreSQL: modifique seu grupo de parâmetros de banco de dados.
   + Para clusters multi-AZ: modifique o grupo de parâmetros de cluster de banco de dados.

   Defina `rds.iam_auth_for_replication` como 1. Esse é um parâmetro dinâmico que entra em vigor imediatamente sem exigir a reinicialização.
**nota**  
Clusters multi-AZ usam grupos de parâmetros de cluster de banco de dados. Grupos de parâmetros de instâncias individuais não podem ser modificados em clusters multi-AZ.

1. Conecte-se ao seu banco de dados e conceda os perfis necessários ao seu usuário de replicação:

   Os comandos SQL a seguir concedem os perfis necessários para habilitar a autenticação do IAM para conexões de replicação:

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

   Depois de concluir essas etapas, o usuário especificado deve usar a autenticação do IAM para conexões de replicação.
**Importante**  
Quando você habilita o recurso, os usuários com os perfis `rds_iam` e `rds_replication` devem usar a autenticação do IAM para conexões de replicação. Isso se aplicará se os perfis forem atribuídos diretamente ao usuário ou herdados por meio de outros perfis.

## Desabilitar a autenticação do IAM para conexões de replicação
<a name="PostgreSQL.Concepts.General.FeatureSupport.IAMLogicalReplication.Disabling"></a>

Você pode desabilitar a autenticação do IAM para conexões de replicação usando qualquer um dos seguintes métodos:
+ Defina o parâmetro `rds.iam_auth_for_replication` como 0 em seu grupo de parâmetros de banco de dados para instâncias de banco de dados ou grupo de parâmetros de cluster de banco de dados para clusters multi-AZ.
+ Você também pode desabilitar qualquer um desses recursos em seu cluster ou instância de banco de dados do RDS para PostgreSQL:
  + Desabilitar a replicação lógica definindo o parâmetro `rds.logical_replication` como 0
  + Desabilitar a autenticação do IAM

Quando você desabilita o recurso, as conexões de replicação podem usar senhas de banco de dados para autenticação.

**nota**  
As conexões de replicação para usuários sem o perfil `rds_iam` podem usar a autenticação por senha mesmo quando o recurso está habilitado.

## Limitações e considerações
<a name="PostgreSQL.Concepts.General.FeatureSupport.IAMLogicalReplication.Limitations"></a>

Pense nas seguintes limitações e considerações ao usar a autenticação do IAM para conexões de replicação lógica:
+ Esse recurso está disponível somente para as versões 11 e posterior do RDS para PostgreSQL.
+ O publicador deve oferecer suporte à autenticação do IAM para conexões de replicação.
+ Por padrão, o token de autenticação do IAM expira após 15 minutos. Talvez seja necessário atualizar as conexões de replicação de longa duração antes que o token expire.