¿Cómo soluciono los problemas de autenticación de Windows de RDS para SQL Server con AWS Managed Microsoft AD?

8 minutos de lectura
0

Tengo AWS Directory Service para Microsoft Active Directory configurado para mi cuenta de AWS. Tengo problemas para crear un Amazon Relational Database Service (Amazon RDS) para una instancia de base de datos de Microsoft SQL Server.

Breve descripción

Al crear una instancia de base de datos de Amazon RDS para SQL Server, es posible que se produzca uno de los siguientes problemas:

  • El Microsoft Managed AD no está disponible.
  • Recibo un mensaje de error que dice «Failed to join a host to a domain» o el estado del directorio de la consola de RDS muestra «Failed».
  • No puedo iniciar sesión en la instancia de base de datos mediante la autenticación de Windows.

La autenticación de Windows para instancias de base de datos de RDS para SQL Server se admite en varias cuentas de AWS y Amazon Virtual Private Clouds (Amazon VPC). Se puede compartir un único AWS Managed Microsoft Active Directory entre varias cuentas de AWS y VPC para administrar fácilmente las cargas de trabajo de bases de datos con reconocimiento de directorios. Sin embargo, esto solo se cumple si el RDS de las instancias de base de datos de SQL Server se encuentra en la misma región de AWS que el AWS Managed Microsoft AD.

Resolución

Nota: Si recibe errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), asegúrese de utilizar la versión más reciente de AWS CLI.

El AWS Managed Microsoft AD no aparece en la lista o no está disponible al crear una instancia de base de datos

Importante: El tipo de dominio administrado debe ser Active Directory administrado por AWS para que el AWS Managed Microsoft AD aparezca en la consola de Amazon RDS.

Si el AWS Managed Microsoft AD se encuentra en una región diferente a la de la instancia, ese directorio no aparece en la lista al crear o modificar una instancia de base de datos. Para resolver este problema, asegúrese de que la instancia de base de datos esté en la misma región de AWS que su Directory Service.

Confirme que la instancia de base de datos de RDS y el Directory Service estén en la misma región:

1.    Abra la consola de Amazon RDS y seleccione Bases de datos en el panel de navegación.

2.    Seleccione la instancia de base de datos que desee conectar al directorio.

3.    En la sección Resumen, revise la región asociada a la instancia de base de datos.

4.    Confirme que el Directory Service se encuentra en la misma región de AWS que la instancia de base de datos consultando la consola de AWS Directory Service.

Si su AWS Managed Microsoft AD se encuentra en una cuenta de AWS diferente a la de la instancia de base de datos, comparta el Microsoft Managed AD con la cuenta de AWS. A continuación, puede incluir el Directory Service al crear o modificar la instancia de base de datos.

1.    Comience a compartir el directorio con la cuenta de AWS en la que se creará la instancia de base de datos. Siga los pasos que se indican en Sharing your AWS Managed Microsoft AD directory for seamless EC2 domain-join en la Guía de administración de AWS Directory Service.

2.    Inicie sesión en la consola de AWS Directory Service con la cuenta de la instancia de base de datos. Compruebe que el dominio tenga el estado COMPARTIDO antes de continuar.

3.    Inicie sesión en la consola de AWS Directory Service con la cuenta de la instancia de base de datos, no con el valor del ID de directorio. Utilice este ID de directorio para unir la instancia de base de datos al dominio.

El error recibido al unir una instancia de base de datos a un dominio o un estado de directorio en la consola de RDS muestra «Failed»

Al unir una instancia de base de datos a un dominio, es posible que reciba el siguiente mensaje de error:

«Failed to join a host to a domain. Domain membership status for instance XXXXXXX has been set to Failed»

O bien, el estado del directorio puede aparecer como Failed.

1.    Confirme que el grupo de seguridad de instancias de RDS para SQL Server esté configurado para permitir el tráfico saliente correcto.

  • Puerto TCP y UDP 53
  • Puerto TCP y UDP 88
  • Puerto TCP y UDP 135
  • Puerto TCP y UDP 389
  • Puerto TCP y UDP 445
  • Puerto TCP y UDP 464
  • Puerto TCP 636
  • Puerto TCP 3268
  • Puerto TCP 3269
  • Puerto TCP 9389
  • Puertos TCP 49152-65535
  • Puerto UDP 123
  • Puerto UDP 138

2.    Confirme que el grupo de seguridad de AWS Managed Microsoft AD esté configurado para permitir el tráfico entrante correcto. Se crea un grupo de seguridad al crear un AWS Managed Microsoft AD. Para ver la lista de reglas entrantes y salientes agregadas a este grupo de seguridad, consulte What gets created en la Guía de administración de AWS Directory Service.

3.    Es posible que tenga su instancia de base de datos y el AWS Managed Microsoft AD en diferentes VPC o en cuentas diferentes. Si es así, asegúrese de que haya una ruta correcta para que la instancia de base de datos llegue al AWS Managed Microsoft AD. Además, asegúrese de que haya una ruta correcta para que Microsoft Managed AD llegue a la instancia de base de datos. Para obtener más información, consulte RDS Support for cross-account and cross-VPC domain joins (vídeo).

Tras identificar y abordar las posibles causas del error de unión al dominio, haga lo siguiente para desunir y, a continuación, unir el dominio a la instancia de base de datos:

1.    Abra la consola de Amazon RDS y, a continuación, seleccione Bases de datos en el panel de navegación.

2.    Seleccione la instancia de base de datos que no pudo unirse al dominio y, a continuación, elija Modificar.

3.    En la sección Autenticación de Windows de Microsoft SQL Server, en Directorio, elija Ninguno.

4.    Seleccione Aplicar inmediatamente. Una vez finalizada la modificación, la instancia de base de datos se reinicia automáticamente.

5.    Para volver a unirse al directorio, seleccione Bases de datos en el panel de navegación.

6.    Seleccione la instancia de base de datos y elija Modificar.

7.    En la sección Autenticación de Windows de Microsoft SQL Server, en Directorio, seleccione su directorio de la lista.

8.    Seleccione Aplicar inmediatamente. Una vez finalizada la modificación, la instancia de base de datos se reinicia de nuevo.

Se ha producido un error (InvalidParameterCombination) al llamar a la operación ModifyDBInstance: El rol de IAM proporcionado no es válido; compruebe que el rol existe y tiene las políticas correctas

Cuando utilice la CLI de AWS para adjuntar un servicio de directorio a su instancia de base de datos, utilice el rol de IAM predeterminado rds-directoryservice-access-role. Si usa un rol personalizado, adjunte la política predeterminada AmazonRDSDirectoryServiceAccess al rol personalizado. Al hacer esto, se resuelve el error de rol de IAM proporcionado no es válido.

No se puede iniciar sesión en la instancia de base de datos mediante la autenticación de Windows

El inicio de sesión mediante la autenticación de Windows requiere un inicio de sesión de SQL en la instancia para el usuario o grupo de AWS Managed Microsoft AD. El inicio de sesión de SQL utiliza las credenciales de usuario principal de la instancia de base de datos. Si usa grupos o usuarios en su Microsoft Active Directory local, debe crear una relación de confianza.

1.    Inicie sesión en la instancia de base de datos como usuario principal mediante SQL Server Management Studio (SSMS).

2.    Utilice T-SQL para crear el inicio de sesión de autenticación de Windows:

CREATE LOGIN [Domain Name\user or group] FROM WINDOWS WITH DEFAULT_DATABASE = [master], DEFAULT_LANGUAGE = [us_english];

Nota: La creación de un inicio de sesión de autenticación de Windows en una instancia de RDS para SQL Server solo es compatible cuando se usa T-SQL. No puede usar la GUI para crear un inicio de sesión en SQL Server Management Studio.

3.    Conéctese a la instancia de base de datos mediante la autenticación de Windows.


Información relacionada

Uso de la autenticación de Windows con una instancia de base de datos de Amazon RDS para SQL Server

Control de acceso con grupos de seguridad

No puede conectarse a la instancia de base de datos de Amazon RDS

Joining your Amazon RDS DB Instances across accounts to a single shared domain

Migrating Microsoft SQL Server databases to the AWS Cloud