Usar política de senha para logins do SQL Server no RDS para SQL Server - Amazon Relational Database Service

Usar política de senha para logins do SQL Server no RDS para SQL Server

O Amazon RDS permite que você defina a política de senha para a instância de banco de dados do Amazon RDS que executa o Microsoft SQL Server. Use isso para definir os requisitos de complexidade, duração e bloqueio para logins que usam a autenticação do SQL Server para se autenticar na instância de banco de dados.

Principais termos

Login

No SQL Server, uma entidade principal em nível de servidor que pode se autenticar em uma instância de banco de dados é chamado de login. Outros mecanismos de banco de dados podem se referir a essa entidade principal como usuário. No RDS para SQL Server, um login pode se autenticar usando a Autenticação do SQL Server ou a Autenticação do Windows.

Login do SQL Server

Um login que usa um nome de usuário e uma senha para se autenticar usando a Autenticação do SQL Server é um login do SQL Server. A política de senha que você configura por meio de parâmetros de banco de dados se aplica somente aos logins do SQL Server.

Login do Windows

Um login baseado em uma entidade principal do Windows e se autentica usando a Autenticação do Windows é um login do Windows. É possível configurar a política de senha para os logins do Windows no Active Directory. Para ter mais informações, consulte Trabalhar com o Active Directory com o RDS para SQL Server.

Habilitar e desabilitar a política para cada login

Cada login do SQL Server tem sinalizadores para CHECK_POLICY e CHECK_EXPIRATION. Por padrão, novos logins são criados com CHECK_POLICY definido como ON e CHECK_EXPIRATION definido como OFF.

Se CHECK_POLICY estiver habilitado para um login, o RDS para SQL Server valida a senha em relação aos requisitos de complexidade e de tamanho mínimo. As políticas de bloqueio também são aplicáveis. Um exemplo de declaração T-SQL para habilitar CHECK_POLICY e CHECK_EXPIRATION:

ALTER LOGIN [master_user] WITH CHECK_POLICY = ON, CHECK_EXPIRATION = ON;

Se CHECK_EXPIRATION estiver habilitado, as senhas estarão sujeitas às políticas de idade da senha. A declaração T-SQL para conferir se CHECK_POLICY e CHECK_EXPIRATION estão definidos:

SELECT name, is_policy_checked, is_expiration_checked FROM sys.sql_logins;

Parâmetros da política de senha

Todos os parâmetros da política de senha são dinâmicos e não exigem a reinicialização do banco de dados para entrar em vigor. A tabela a seguir lista os parâmetros de banco de dados que você pode definir para modificar a política de senha para logins do SQL Server:

Parâmetro de banco de dados Descrição Valores permitidos Valor padrão
rds.password_complexity_enabled Os requisitos de complexidade da senha devem ser atendidos ao criar ou alterar senhas para logins do SQL Server. As seguintes restrições devem ser atendidas:
  • A senha deve incluir caracteres de três das seguintes categorias:

    • Letra minúscula do latim (de a a z).

    • Letra maiúscula do latim (de A a Z).

    • Caracteres não alfanuméricos, como: ponto de exclamação (!), cifrão ($), cerquilha (#) ou porcentagem (%).

  • A senha não contém o nome da conta do usuário.

0,1 0
rds.password_min_length O número mínimo de caracteres exigido em uma senha para um login do SQL Server. 0-14 0
rds.password_min_age O número mínimo de dias em que uma senha de login do SQL Server deve ser usada para que o usuário possa alterá-la. As senhas podem ser alteradas imediatamente quando definidas como 0. 0-998 0
rds.password_max_age

O número máximo de dias em que uma senha de login do SQL Server pode ser usada, após o qual o usuário deve alterá-la. As senhas nunca expiram quando definidas como 0.

0-999 42
rds.password_lockout_threshold O número de tentativas consecutivas de login com falha que fazem com que um login do SQL Server fique bloqueado. 0-999 0
rds.password_lockout_duration O número de minutos que um login bloqueado do SQL Server deve esperar antes de ser desbloqueado. 1-60 10
rds.password_lockout_reset_counter_after O número de minutos que devem decorrer após uma tentativa de login malsucedida antes que o contador de tentativas de login com falha seja redefinido como 0. 1-60 10
nota

Para ter mais informações sobre a política de senha do SQL Server, consulte Password Policy.

As políticas de complexidade e tamanho mínimo da senha também se aplicam aos usuários do banco de dados em bancos de dados contidos. Para ter mais informações, consulte Contained Databases.

As seguintes restrições se aplicam aos parâmetros de política de senha:

  • O parâmetro rds.password_min_age deve ser menor que rds.password_max_age parameter, a menos que rds.password_max_age esteja definido como 0.

  • O parâmetro rds.password_lockout_reset_counter_after deve ser menor que ou igual ao parâmetro rds.password_lockout_duration.

  • Se rds.password_lockout_threshold estiver definido como 0, rds.password_lockout_duration e rds.password_lockout_reset_counter_after não se aplicarão.

Considerações sobre logins existentes

Depois de modificar a política de senha em uma instância, as senhas existentes para logins não são avaliadas retroativamente em relação aos novos requisitos de complexidade e de tamanho da senha. Somente novas senhas são validadas de acordo com a nova política.

O SQL Server não avalia as senhas existentes de acordo com os requisitos de idade.

É possível que as senhas expirem imediatamente depois que uma política de senha for modificada. Por exemplo, se um login tiver CHECK_EXPIRATION habilitado e sua senha foi alterada pela última vez há cem dias e você definiu o parâmetro rds.password_max_age como cinco dias, a senha expirará imediatamente e será necessário alterar a senha na próxima tentativa de login.

nota

O RDS para SQL Server não é compatível com políticas de histórico de senha. As políticas de histórico impedem que os logins reutilizem senhas usadas anteriormente.

Considerações para implantações Multi-AZ

O contador de tentativas de login com falha e o estado de bloqueio das instâncias multi-AZ não se replicam entre os nós. No caso de um login ser bloqueado quando uma instância multi-AZ falha, é possível que o login já esteja desbloqueado no novo nó.