Comment résoudre les problèmes d'authentification Windows pour RDS for SQL Server avec AWS Managed Microsoft AD ?

Lecture de 8 minute(s)
0

AWS Directory Service pour Microsoft Active Directory est configuré sur mon compte AWS. Je rencontre des problèmes lors de la création d'une instance de base de données Amazon Relational Database Service (Amazon RDS) for Microsoft SQL Server.

Brève description

Lorsque vous créez une instance de base de données Amazon RDS for SQL Server, vous pouvez rencontrer l'un des problèmes suivants :

  • Microsoft Managed AD n'est pas disponible.
  • Je reçois une erreur indiquant « Failed to join a host to a domain » (Impossible de joindre un hôte à un domaine) ou le statut du répertoire Active Directory sur la console RDS affiche « Failed » (Échec).
  • Je ne parviens pas à me connecter à l'instance de base de données à l'aide de l'authentification Windows.

L'authentification Windows pour les instances de base de données RDS for SQL Server est prise en charge par plusieurs comptes AWS et Amazon Virtual Private Cloud (Amazon VPC). Un seul AWS Managed Microsoft Active Directory peut être partagé entre plusieurs comptes AWS et VPC pour gérer facilement les charges de travail des bases de données prenant en charge les répertoires. Toutefois, cela est uniquement possible si les instances de base de données RDS for SQL Server se trouvent dans la même région AWS qu'AWS Managed Microsoft AD.

Solution

Remarque : en cas d'erreurs lors de l'exécution de commandes depuis l'interface de la ligne de commande AWS (AWS CLI), vérifiez que vous utilisez la version la plus récente de l'AWS CLI.

AWS Managed Microsoft AD n'est pas répertorié ou n'est pas disponible lors de la création d'une instance de base de données.

Important : le type de domaine géré doit être AWS Managed Active Directory pour le répertoire AWS Managed Microsoft AD, et doit être répertorié dans la console Amazon RDS.

Si l'AWS Managed Microsoft AD se trouve dans une autre région que l'instance, ce répertoire n'est alors pas répertorié lorsque vous créez ou modifiez une instance de base de données. Afin de résoudre ce problème, assurez-vous que l'instance de base de données se trouve dans la même région AWS que votre Directory Service.

Vérifiez que l'instance de base de données RDS et le Directory Service se trouvent dans la même région :

1.    Ouvrez la console Amazon RDS, puis choisissez Databases (Bases de données) dans le panneau de navigation.

2.    Choisissez l'instance de base de données que vous voulez connecter au répertoire.

3.    Dans la section Summary (Résumé), consultez la région associée à votre instance de base de données.

4.    Vérifiez que Directory Service se trouve dans la même région AWS que l'instance de base de données, en accédant à la console AWS Directory Service.

Si votre AWS Managed Microsoft AD se trouve dans un compte AWS différent de celui de l'instance de base de données, partagez le Microsoft Managed AD avec le compte AWS. Vous pouvez ensuite répertorier le Directory Service lors de la création ou de la modification de l'instance de base de données.

1.    Commencez à partager le répertoire avec le compte AWS dans lequel l'instance de base de données sera créée. Suivez les étapes décrites dans Sharing your AWS Managed Microsoft AD directory for seamless EC2 domain-join (Partage de votre répertoire AWS Managed Microsoft AD pour la bonne exécution de la commande domain-join EC2) du Guide d'administration AWS Directory Service.

2.    Connectez-vous à la console AWS Directory Service à l'aide du compte de l'instance de base de données. Vérifiez que le domaine présente le statut SHARED (PARTAGÉ) avant de poursuivre.

3.    Connectez-vous à la console AWS Directory Service à l'aide du compte de l'instance de base de données, et non de la valeur de l'ID du répertoire Active Directory. Utilisez l'ID de ce répertoire afin de joindre l'instance de base de données au domaine.

Erreur reçue lors de la jonction d'une instance de base de données à un domaine ou lorsque le statut du répertoire Active Directory sur la console RDS affiche « Failed » (Échec)

Lorsque vous joignez une instance de base de données à un domaine, le message d'erreur suivant est susceptible de s'afficher :

« Failed to join a host to a domain. Domain membership status for instance XXXXXXX has been set to Failed. » (Échec de la jonction d'un hôte à un domaine. Le statut d'appartenance de l'instance XXXXXXX à un domaine a été défini sur Échec.)

Ou bien, le statut du répertoire Active Directory peut apparaître comme étant Failed (Échec).

1.    Vérifiez que le groupe de sécurité de l'instance RDS for SQL Server est configuré pour autoriser le trafic sortant correct.

  • Port 53 TCP et UDP
  • Port 88 TCP et UDP
  • Port 135 TCP et UDP
  • Port 389 TCP et UDP
  • Port 445 TCP et UDP
  • Port 464 TCP et UDP
  • Port 636 TCP
  • Port 3268 TCP
  • Port 3269 TCP
  • Port 9389 TCP
  • Ports 49152-65535 TCP
  • Port 123 UDP
  • Port 138 UDP

2.    Vérifiez que le groupe de sécurité d'AWS Managed Microsoft AD est configuré pour autoriser le trafic entrant correct. Un groupe de sécurité est créé lorsque vous créez un AWS Managed Microsoft AD. Pour obtenir la liste des règles entrantes et sortantes ajoutées à ce groupe de sécurité, consultez What gets created (Ce qui est créé) dans le Guide d'administration d'AWS Directory Service.

3.    Il se peut que votre instance de base de données et AWS Managed Microsoft AD se trouvent dans des VPC différents ou dans des comptes différents. Si tel est le cas, assurez-vous qu'il existe un acheminement correct pour que l'instance de base de données atteigne l'AWS Managed Microsoft AD. De même, assurez-vous qu'il existe un acheminement correct de l'AWS Managed Microsoft AD pour atteindre l'instance de base de données. Pour en savoir plus, consultez RDS Support for cross-account and cross-VPC domain joins (vidéo).

Après avoir identifié et traité les causes potentielles de l'échec de la jointure du domaine, procédez comme suit pour annuler la jointure et ensuite joindre le domaine à l'instance de base de données :

1.    Ouvrez la console Amazon RDS, puis choisissez Databases (Bases de données) dans le panneau de navigation.

2.    Sélectionnez l'instance de base de données dont la jonction au domaine échoue, puis choisissez Modify (Modifier).

3.    Dans la section Authentification Windows pour Microsoft SQL Server, sous Directory (Répertoire), choisissez None (Aucun).

4.    Choisissez Apply immediately (Appliquer immédiatement). Une fois la modification effectuée, l'instance de base de données redémarre automatiquement.

5.    Afin de rejoindre le répertoire, choisissez Databases (Bases de données) dans le panneau de navigation.

6.    Sélectionnez l'instance de base de données, puis Modify (Modifier).

7.    Dans la section Microsoft SQL Server Windows Authentication (Authentification Windows pour Microsoft SQL Server), sous Directory (Répertoire), choisissez votre répertoire dans la liste.

8.    Choisissez Apply immediately (Appliquer immédiatement). Une fois la modification effectuée, l'instance de base de données redémarre une nouvelle fois.

Une erreur s'est produite (InvalidParameterCombination) lors de l'appel de l'opération ModifyDBInstance : le rôle IAM fourni n'est pas valide, veuillez vérifier que le rôle existe et dispose des politiques appropriées

Lorsque vous utilisez l'AWS CLI afin d'associer un Directory Service à votre instance de base de données, utilisez le rôle IAM par défaut rds-directoryservice-access-role. Si vous utilisez un rôle personnalisé, associez la politique par défaut AmazonRDSDirectoryServiceAccess au rôle personnalisé. Cela permet de résoudre l'erreur IAM role provided is not valid (Le rôle IAM fourni n'est pas valide).

Impossible de se connecter à l'instance de base de données via l'authentification Windows

La connexion à l'aide de l'authentification Windows nécessite une connexion SQL sur l'instance pour l'utilisateur ou le groupe AWS Managed Microsoft AD. La connexion SQL utilise les informations d'identification utilisateur principales de l'instance de base de données. Si vous utilisez des groupes ou des utilisateurs dans votre répertoire Microsoft Active Directory sur site, vous devez créer une relation de confiance.

1.    Connectez-vous à votre instance de base de données en tant qu'utilisateur principal à l'aide de SQL Server Management Studio (SSMS).

2.    Utilisez T-SQL afin de créer la connexion d'authentification Windows :

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

Remarque : la création d'une connexion d'authentification Windows sur une instance RDS for SQL Server est prise uniquement prise en charge par T-SQL. Vous ne pouvez pas utiliser l'interface graphique afin de créer une connexion sur SQL Server Management Studio.

3.    Connectez-vous à l'instance de base de données à l'aide de l'authentification Windows.


Informations connexes

Utilisation de l'authentification Windows avec une instance de base de données Amazon RDS for SQL Server

Contrôle des accès à l'aide des groupes de sécurité

Impossible de se connecter à une instance de base de données Amazon RDS

Jonction de vos instances de base de données Amazon RDS inter-comptes sur un seul domaine partagé

Migration de bases de données Microsoft SQL Server vers le cloud AWS