Configurar a autenticação do IAM para conexões de replicação lógica
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.
Tópicos
Pré-requisitos
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.
-
Habilite a replicação lógica definindo o parâmetro
rds.logical_replicationcomo 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.
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
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
-
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.
-
Configure o parâmetro
rds.iam_auth_for_replicationcom 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_replicationcomo 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.
-
-
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_iamerds_replicationdevem 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
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_replicationcomo 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_replicationcomo 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
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.