Saltar al contenido

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

7 minutos de lectura
0

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

Descripción corta

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

  • Microsoft Managed AD no está disponible.
  • Recibes el mensaje de error Failed to join a host to a domain o el estado del directorio en la consola de Amazon RDS muestra Error.
  • No puedes usar la autenticación de Windows para iniciar sesión en la instancia de base de datos.

Puedes usar la autenticación de Windows para instancias de base de datos de Amazon RDS para SQL Server en varias cuentas de AWS y Amazon Virtual Private Clouds (Amazon VPC). También puedes compartir un directorio de AWS Managed Microsoft AD en varias cuentas y VPC para administrar las cargas de trabajo de bases de datos compatibles con los directorios. Sin embargo, las instancias de base de datos de RDS para SQL Server deben estar en la misma región de AWS que AWS Managed Microsoft AD.

Resolución

Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de problemas de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.

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

Importante: Para incluir AWS Managed Microsoft AD en la consola de Amazon RDS, el tipo de dominio administrado debe ser AWS Managed Active Directory.

Si AWS Managed Microsoft AD se encuentra en una región diferente a la de la instancia de base de datos, el directorio no aparecerá en la lista cuando crees o modifiques la instancia de base de datos. Para resolver este problema, asegúrate de que la instancia de base de datos esté en la misma región que tu Directory Service.

Sigue estos pasos:

  1. Abre la consola de Amazon RDS.
  2. En el panel de navegación, selecciona Bases de datos.
  3. Selecciona tu instancia de base de datos.
  4. En la sección Resumen, anota la región en la que se encuentra tu instancia de base de datos.
  5. Usa la consola de AWS Directory Service para confirmar que Directory Service se encuentra en la misma región que la instancia de base de datos.

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

Sigue estos pasos:

  1. Comparte el directorio con la cuenta de AWS en la que se creará la instancia de base de datos. Sigue los pasos que se indican en Compartir el directorio de AWS Managed Microsoft AD para unirse sin problemas a un dominio de EC2 en la Guía de administración de AWS Directory Service.
  2. Usa la cuenta de la instancia de base de datos para abrir la consola de AWS Directory Service.
  3. Comprueba que el dominio esté en el estado COMPARTIDO.
  4. Utiliza el valor de ID de directorio para unir la instancia de base de datos al dominio.

Recibes un error o el estado del directorio muestra «Error» cuando unes una instancia de base de datos a un dominio

Al unir una instancia de base de datos a un dominio, es posible que recibas 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 Error.

Para solucionar el error de unión al dominio, sigue estos pasos:

  1. Confirma que has configurado el grupo de seguridad de instancias de RDS para SQL Server para permitir el siguiente tráfico saliente:
    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. Confirma que el grupo de seguridad de AWS Managed Microsoft AD esté configurado para permitir el tráfico entrante correcto.
    Nota: AWS Directory Service crea un grupo de seguridad al crear un AWS Managed Microsoft AD. Para ver la lista de reglas de entrada y salida que se agregan al grupo de seguridad, consulta Qué se crea con tu AWS Managed Microsoft AD.
  3. Comprueba si tu instancia de base de datos y AWS Managed Microsoft AD se encuentran en cuentas o VPC diferentes.
    Nota: Si es así, asegúrate de que haya una ruta correcta para conectar la instancia de base de datos al AWS Managed Microsoft AD. Además, asegúrate 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, consulta Soporte de RDS para la unión de dominios entre cuentas y VPC.

Tras identificar y abordar las posibles causas del error de unión al dominio, sigue estos pasos para volver a unir el dominio a la instancia de base de datos:

  1. Abre la consola de Amazon RDS.
  2. En el panel de navegación, selecciona Bases de datos.
  3. Selecciona la instancia de base de datos que no pudo unirse al dominio y, a continuación, elige Modificar.
  4. En la sección Autenticación de Windows de Microsoft SQL Server, en Directorio, elige Ninguno.
  5. Selecciona Aplicar inmediatamente.
    Nota: Una vez finalizada la modificación, la instancia de base de datos se reinicia automáticamente.
  6. En el panel de navegación, selecciona Bases de datos.
  7. Selecciona la instancia de base de datos y, a continuación, elige Modificar.
  8. En la sección Autenticación de Windows de Microsoft SQL Server, en Directorio, selecciona tu directorio.
  9. Selecciona Aplicar inmediatamente.
    Nota: Una vez finalizada la modificación, la instancia de base de datos se reinicia de nuevo.

Se produce un error InvalidParameterCombination al llamar a la operación ModifyDBInstance

Si recibes el siguiente mensaje de error: «IAM role provided is not valid, check that the role exists and has the correct policies», haz lo siguiente:

  • Utiliza el rol rds-directoryservice-access-role de AWS Identity and Access Management (IAM) predeterminado cuando utilices la AWS CLI para adjuntar un servicio de directorio a tu instancia de base de datos.
  • Si usas un rol personalizado, adjunta la política predeterminada AmazonRDSDirectoryServiceAccess al rol personalizado.

No se pudo usar la autenticación de Windows para iniciar sesión en la instancia de base de datos

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 usas grupos o usuarios en tu Microsoft Active Directory local, debes crear una relación de confianza.

Para crear una relación de confianza, sigue estos pasos:

  1. Usa SQL Server Management Studio (SSMS) para iniciar sesión en la instancia de base de datos como usuario principal.
  2. Utiliza 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: Al crear un inicio de sesión de autenticación de Windows en una instancia de RDS para SQL Server, debes usar T-SQL. No puedes usar la GUI para crear un inicio de sesión en SQL SSMS.
  3. Usa la autenticación de Windows para conectarte a la instancia de base de datos.

Información relacionada

Uso de AWS Managed Active Directory con RDS para SQL Server

Control de acceso con grupos de seguridad

No puedes conectarte a la instancia de base de datos de Amazon RDS

Unión de instancias de base de datos de Amazon RDS entre cuentas para un único dominio compartido

Migración de bases de datos de Microsoft SQL Server a la nube de AWS