Uso de la política de contraseñas para inicios de sesión de SQL Server en RDS para SQL Server - Amazon Relational Database Service

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:
  • La contraseña debe incluir caracteres de tres de las siguientes categorías:

    • Letra latina minúscula (de la a a la z)

    • Letra latina mayúscula (de la A a la Z)

    • Caracteres no alfanuméricos como: signo de exclamación (!), signo de dólar ($), almohadilla (#) o porcentaje (%).

  • La contraseña no contiene el nombre de la cuenta del usuario.

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 que rds.password_max_age parameter, a menos que rds.password_max_age esté establecido en 0

  • El parámetro rds.password_lockout_reset_counter_after debe ser igual o menor que el parámetro rds.password_lockout_duration.

  • Si rds.password_lockout_threshold está establecido en 0, rds.password_lockout_duration y rds.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.