Delegar e controlar o gerenciamento de senhas de usuários - Amazon Aurora

Delegar e controlar o gerenciamento de senhas de usuários

Como DBA, talvez você queira delegar o gerenciamento de senhas de usuários. Ou talvez você queira impedir que os usuários do banco de dados alterem senhas ou reconfigurem restrições de senha, como o tempo de vida da senha. Para garantir que somente os usuários do banco de dados escolhidos possam alterar as configurações de senha, é possível ativar o recurso de gerenciamento restrito de senhas. Quando você ativa esse recurso, somente os usuários do banco de dados que receberam o perfil rds_password podem gerenciar senhas.

nota

Para usar o gerenciamento restrito de senhas, o cluster de banco de dados do Aurora PostgreSQL deve estar executando o Amazon Aurora PostgreSQL 10.6 ou superior.

Por padrão, esse recurso está off, conforme mostrado a seguir:

postgres=> SHOW rds.restrict_password_commands; rds.restrict_password_commands -------------------------------- off (1 row)

Para ativar esse recurso, use um grupo de parâmetros personalizado e altere a configuração de rds.restrict_password_commands para 1. Reinicialize a instância do banco de dados primário do Aurora PostgreSQL para que a configuração entre em vigor.

Com esse recurso ativo, os privilégios de rds_password são necessários para os seguintes comandos SQL:

CREATE ROLE myrole WITH PASSWORD 'mypassword'; CREATE ROLE myrole WITH PASSWORD 'mypassword' VALID UNTIL '2023-01-01'; ALTER ROLE myrole WITH PASSWORD 'mypassword' VALID UNTIL '2023-01-01'; ALTER ROLE myrole WITH PASSWORD 'mypassword'; ALTER ROLE myrole VALID UNTIL '2023-01-01'; ALTER ROLE myrole RENAME TO myrole2;

A renomeação de um perfil (ALTER ROLE myrole RENAME TO newname) também será restrita se a senha usar o algoritmo de hash MD5.

Com esse recurso ativo, qualquer tentativa de executar um desses comandos SQL sem as permissões do perfil rds_password gerará o seguinte erro:

ERROR: must be a member of rds_password to alter passwords

Recomendamos conceder a rds_password a apenas alguns perfis usados exclusivamente para o gerenciamento de senhas. Se você conceder privilégios de rds_password a usuários de banco de dados que não têm privilégios de rds_superuser, também precisará conceder o atributo CREATEROLE a eles.

Verifique os requisitos de senha, como expiração e complexidade necessária, no lado do cliente. Se você usar seu próprio utilitário do lado do cliente para alterações relacionadas a senhas, o utilitário precisará ser membro de rds_password e ter privilégios de CREATE ROLE.