Uso de la política de contraseñas para inicios de sesión de SQL Server en RDS para SQL Server
Amazon RDS le permite configurar la política de contraseñas de su instancia de base de datos de Amazon RDS en la que se ejecuta Microsoft SQL Server. Utilícela para establecer los requisitos de complejidad, longitud y bloqueo para los inicios de sesión que utilizan la autenticación de SQL Server para autenticarse en su instancia de base de datos.
Términos clave
- Login (Iniciar sesión)
-
En SQL Server, una entidad principal de servidor que puede autenticarse en una instancia de base de datos se denomina inicio de sesión. Otros motores de bases de datos pueden denominar esta entidad principal como usuario. En RDS para SQL Server, un inicio de sesión puede autenticarse mediante la autenticación de SQL Server o la autenticación de Windows.
- Inicio de sesión de SQL Server
-
Un inicio de sesión que utiliza un nombre de usuario y una contraseña para autenticarse mediante la autenticación de SQL Server es un inicio de sesión de SQL Server. La política de contraseñas que se configura mediante los parámetros de base de datos solo se aplica a los inicios de sesión de SQL Server.
- Inicio de sesión de Windows
-
Un inicio de sesión que se basa en una entidad principal de Windows y se autentica mediante la autenticación de Windows es un inicio de sesión de Windows. Puede configurar la política de contraseñas para los inicios de sesión de Windows en Active Directory. Para obtener más información, consulte Uso de Active Directory con RDS para SQL Server.
Habilitación y deshabilitación de política para cada inicio de sesión
Cada inicio de sesión de SQL Server tiene marcadores para CHECK_POLICY
y CHECK_EXPIRATION
. De forma predeterminada, los nuevos inicios de sesión se crean con CHECK_POLICY
establecido en ON
y CHECK_EXPIRATION
establecido en OFF
.
Si CHECK_POLICY
está habilitada para un inicio de sesión, RDS para SQL Server valida la contraseña comparándola con los requisitos de complejidad y longitud mínima. También se aplican políticas de bloqueo. Un ejemplo de una instrucción de T-SQL para habilitar CHECK_POLICY
y CHECK_EXPIRATION
:
ALTER LOGIN [master_user] WITH CHECK_POLICY = ON, CHECK_EXPIRATION = ON;
Si CHECK_EXPIRATION
está habilitada, las contraseñas están sujetas a las políticas de antigüedad de las contraseñas. La instrucción de T-SQL para comprobar si CHECK_POLICY
y CHECK_EXPIRATION
están configuradas:
SELECT name, is_policy_checked, is_expiration_checked FROM sys.sql_logins;
Parámetros de las políticas de contraseñas
Todos los parámetros de la política de contraseñas son dinámicos y no requieren que se reinicie la base de datos para que surtan efecto. La siguiente tabla muestra los parámetros de base de datos que puede configurar para modificar la política de contraseñas para los inicios de sesión de SQL Server:
Parámetro de base de datos | Descripción | Valores permitidos | Valor predeterminado |
---|---|---|---|
rds.password_complexity_enabled | Se deben cumplir los requisitos de complejidad de las contraseñas al crear o cambiar las contraseñas para los inicios de sesión de SQL Server. Se deben cumplir las siguientes restricciones:
|
0,1 | 0 |
rds.password_min_length | El número mínimo de caracteres que debe tener una contraseña para un inicio de sesión de SQL Server. | 0-14 | 0 |
rds.password_min_age | El número mínimo de días que debe utilizarse una contraseña de inicio de sesión de SQL Server antes de que el usuario pueda cambiarla. Las contraseñas se pueden cambiar inmediatamente si se establece en 0. | 0-998 | 0 |
rds.password_max_age | El número máximo de días que se puede usar una contraseña de inicio de sesión de SQL Server tras los cuales el usuario debe cambiarla. Las contraseñas nunca caducan cuando se establece en 0. |
0-999 | 42 |
rds.password_lockout_threshold | El número de intentos de inicio de sesión fallidos consecutivos que provocan el bloqueo de un inicio de sesión de SQL Server. | 0-999 | 0 |
rds.password_lockout_duration | El número de minutos que debe esperar un inicio de sesión de SQL Server bloqueado antes de desbloquearse. | 1-60 | 10 |
rds.password_lockout_reset_counter_after | El número de minutos que deben transcurrir después de un intento de inicio de sesión fallido antes de que el contador de intentos de inicio de sesión fallidos se restablezca a 0. | 1-60 | 10 |
nota
Para obtener más información sobre la política de contraseñas de SQL Server, consulte Política de contraseñas
Las políticas de complejidad y longitud mínima de las contraseñas también se aplican a los usuarios de bases de datos en bases de datos independientes. Para obtener más información, consulte Bases de datos independientes
Se aplican las siguientes limitaciones a los parámetros de las políticas de contraseñas:
-
El parámetro
rds.password_min_age
debe ser menor querds.password_max_age parameter
, a menos querds.password_max_age
esté establecido en 0 -
El parámetro
rds.password_lockout_reset_counter_after
debe ser igual o menor que el parámetrords.password_lockout_duration
. -
Si
rds.password_lockout_threshold
está establecido en 0,rds.password_lockout_duration
yrds.password_lockout_reset_counter_after
no se aplican.
Consideraciones sobre inicios de sesión existentes
Tras modificar la política de contraseñas en una instancia, las contraseñas existentes para los inicios de sesión no se evalúan retroactivamente en función de los nuevos requisitos de complejidad y longitud de las contraseñas. Solo las contraseñas nuevas se validan según la nueva política.
SQL Server evalúa las contraseñas existentes en función de los requisitos de antigüedad.
Es posible que las contraseñas caduquen inmediatamente una vez que se modifique la política de contraseñas. Por ejemplo, si un inicio de sesión tiene habilitado CHECK_EXPIRATION
y su contraseña se modificó por última vez hace 100 días, y establece el parámetro rds.password_max_age
en 5 días, la contraseña caducará inmediatamente y el inicio de sesión tendrá que cambiar la contraseña la próxima vez que intente iniciar sesión.
nota
RDS para SQL Server no admite políticas de historial de contraseñas. Las políticas de historial impiden que los inicios de sesión reutilicen las contraseñas que ya han utilizado anteriormente.
Consideraciones para implementaciones Multi-AZ
El contador de intentos de inicio de sesión fallidos y el estado de bloqueo de las instancias multi-AZ no se replican entre nodos. En caso de que se bloquee un inicio de sesión debido a una conmutación por error en una instancia multi-AZ, es posible que el inicio de sesión ya esté desbloqueado en el nuevo nodo.