Démarrer avec AD Connector - AWS Directory Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Démarrer avec AD Connector

Avec AD Connector, vous pouvez vous connecter AWS Directory Service à votre entreprise existante Active Directory. Lorsque vous êtes connecté à votre annuaire existant, toutes les données de celui-ci restent sur vos contrôleurs de domaine. AWS Directory Service ne réplique aucune des données de votre répertoire.

Conditions préalables requises pour AD Connector

Pour vous connecter à votre annuaire existant avec AD Connector, les éléments suivants sont requis :

Amazon VPC

Configurez un VPC avec les éléments suivants :

  • Au moins deux sous-réseaux. Chaque sous-réseau doit disposer d'une zone de disponibilité différente.

  • Ils VPC doivent être connectés à votre réseau existant via une connexion réseau privé virtuel (VPN) ou AWS Direct Connect.

  • Le VPC doit avoir une location matérielle par défaut.

AWS Directory Service utilise une VPC structure à deux niveaux. Les EC2 instances qui composent votre répertoire s'exécutent en dehors de votre AWS compte et sont gérées par AWS. Elles ont deux cartes réseau, ETH0 et ETH1. ETH0 est la carte de gestion et existe en dehors de votre compte. ETH1 est créé au sein de votre compte.

La plage d'adresses IP de gestion du ETH0 réseau de votre annuaire est choisie par programmation afin de garantir qu'elle n'entre pas en conflit avec l'VPCendroit où votre annuaire est déployé. Cette plage d'adresses IP peut être comprise dans l'une des paires suivantes (car les annuaires s'exécutent dans deux sous-réseaux) :

  • 10.0.1.0/24 et 10.0.2.0/24

  • 169,254,0,0/16

  • 192.168.1.0/24 et 192.168.2.0/24

Nous évitons les conflits en vérifiant le premier octet du ETH1CIDR. S'il commence par un 10, nous choisissons un 192.168.0.0/16 VPC avec les sous-réseaux 192.168.1.0/24 et 192.168.2.0/24. Si le premier octet est autre chose qu'un 10, nous choisissons un 10.0.0.0/16 VPC avec des sous-réseaux 10.0.1.0/24 et 10.0.2.0/24.

L'algorithme de sélection n'inclut pas les itinéraires de votreVPC. Il est donc possible qu'un conflit de routage IP résulte de ce scénario.

Pour plus d'informations, consultez les rubriques suivantes du guide de VPC l'utilisateur Amazon :

Pour plus d'informations AWS Direct Connect, consultez le guide de AWS Direct Connect l'utilisateur.

Existant Active Directory

Vous devez vous connecter à un réseau existant à l'aide d'un Active Directory domaine.

Note

AD Connector ne prend pas en charge les domaines à étiquette unique.

Le niveau fonctionnel de ce Active Directory le domaine doit être Windows Server 2003 ou supérieur. AD Connector prend également en charge la connexion à un domaine hébergé sur une EC2 instance Amazon.

Note

AD Connector ne prend pas en charge les contrôleurs de domaine en lecture seule (RODC) lorsqu'ils sont utilisés en combinaison avec la fonctionnalité de jonction de EC2 domaines Amazon.

Compte de service

Vous devez disposer des informations d'identification d'un compte de service dans l'annuaire existant auquel les privilèges suivants ont été délégués :

  • Utilisateurs et groupes en lecture - Obligatoire

  • Joindre des ordinateurs au domaine : obligatoire uniquement lors de l'utilisation de Seamless Domain Join et WorkSpaces

  • Création d'objets informatiques : obligatoire uniquement lors de l'utilisation de Seamless Domain Join et WorkSpaces

  • Le mot de passe du compte de service doit être conforme aux exigences en matière AWS de mot de passe. AWS les mots de passe doivent être :

    • Entre 8 et 128 caractères inclus.

    • Contient au moins un caractère appartenant à trois des quatre catégories suivantes :

      • Lettres minuscules (a-z)

      • Lettres majuscules (A-Z)

      • Chiffres (0-9)

      • Caractères non alphanumériques (~!@#$%^&*_-+=`|\(){}[]:;"'<>,.?/)

Pour de plus amples informations, veuillez consulter Délégation de privilèges à votre compte de service.

Note

AD Connector utilise Kerberos pour l'authentification et l'autorisation des applications AWS . LDAPest uniquement utilisé pour les recherches d'objets par des utilisateurs et des groupes (opérations de lecture). Lors des LDAP transactions, rien n'est modifiable et les informations d'identification ne sont pas transmises en texte clair. L'authentification est gérée par un service AWS interne qui utilise des tickets Kerberos pour effectuer des LDAP opérations en tant qu'utilisateur.

Autorisations des utilisateurs

Tous les utilisateurs Active Directory doivent disposer des autorisations nécessaires pour lire leurs propres attributs. Il s'agit plus précisément des attributs suivants :

  • GivenName

  • SurName

  • Mail

  • SamAccountName

  • UserPrincipalName

  • UserAccountControl

  • MemberOf

Par défaut, les utilisateurs Active Directory ont l'autorisation de lire ces attributs. Toutefois, les administrateurs peuvent modifier ces autorisations au fil du temps. Pensez donc peut-être à vérifier si vos utilisateurs disposent des autorisations en lecture avant de configurer AD Connector pour la première fois.

Adresses IP

Obtenez les adresses IP de deux DNS serveurs ou contrôleurs de domaine de votre répertoire existant.

AD Connector obtient les _kerberos._tcp.<DnsDomainName> SRV enregistrements _ldap._tcp.<DnsDomainName> et auprès de ces serveurs lors de la connexion à votre annuaire. Ces serveurs doivent donc contenir ces SRV enregistrements. L'AD Connector tente de trouver un contrôleur de domaine commun qui fournira les deux services LDAP ainsi que les services Kerberos. Ces SRV enregistrements doivent donc inclure au moins un contrôleur de domaine commun. Pour plus d'informations sur SRV les enregistrements, consultez SRVResource Records sur Microsoft TechNet.

Ports pour les sous-réseaux

Pour qu'AD Connector redirige les demandes d'annuaire vers votre répertoire existant Active Directory contrôleurs de domaine, le pare-feu de votre réseau existant doit avoir les ports suivants ouverts CIDRs aux deux sous-réseaux de votre AmazonVPC.

  • TCP/UDP53 - DNS

  • TCP/UDP88 - Authentification Kerberos

  • TCP/UDP389 - LDAP

Il s'agit des ports minimum requis pour qu'AD Connector puisse se connecter à votre annuaire. Votre configuration spécifique peut nécessiter l'ouverture de ports supplémentaires.

Si vous souhaitez utiliser AD Connector et Amazon WorkSpaces, l'isableVLVSupportLDAPattribut D doit être défini sur 0 pour vos contrôleurs de domaine. Il s'agit du paramètre par défaut pour les contrôleurs de domaine. AD Connector ne pourra pas interroger les utilisateurs de l'annuaire si l'isableVLVSupportLDAPattribut D est activé. Cela empêche AD Connector de fonctionner avec Amazon WorkSpaces.

Note

Si les DNS serveurs ou les serveurs de contrôleur de domaine de votre système existant Active Directory Le domaine se trouve dans leVPC, les groupes de sécurité associés à ces serveurs doivent avoir les ports ci-dessus ouverts CIDRs aux deux sous-réseaux duVPC.

Pour connaître les exigences de port supplémentaires, consultez la section Exigences relatives aux ports AD et AD DS sur Microsoft .

Pré-authentification Kerberos

Vos comptes d'utilisateur doivent avoir une pré-authentification Kerberos activée. Pour obtenir des instructions détaillées sur la façon d'activer ce paramètre, veuillez consulter Vérification de l'activation de l'authentification préalable Kerberos. Pour obtenir des informations générales sur ce paramètre, consultez la section Préauthentification sur Microsoft TechNet.

Types de chiffrement

AD Connector prend en charge les types de chiffrement suivants lors de l'authentification à vos contrôleurs de domaine Active Directory via Kerberos :

  • AES-256- HMAC

  • AES-128- HMAC

  • RC4-HMAC

AWS IAM Identity Center prérequis

Si vous envisagez d'utiliser IAM Identity Center avec AD Connector, vous devez vous assurer que les conditions suivantes sont réunies :

  • Votre AD Connector est configuré dans le compte de gestion de votre AWS organisation.

  • Votre instance d'IAMIdentity Center se trouve dans la même région que celle où votre AD Connector est configuré.

Pour plus d'informations, consultez les conditions requises pour IAM Identity Center dans le guide de l' AWS IAM Identity Center utilisateur.

Prérequis pour l'authentification multifactorielle

Pour prendre en charge l'authentification multifactorielle avec votre annuaire AD Connector, les éléments suivants sont requis :

  • Un serveur Remote Authentication Dial-In User Service (RADIUS) de votre réseau existant doté de deux points de terminaison clients. Les points de terminaison du RADIUS client répondent aux exigences suivantes :

    • Pour créer les points de terminaison, les adresses IP des serveurs AWS Directory Service sont requises. Ces adresses IP peuvent être obtenues à partir du champ Directory IP Address figurant dans les détails de votre annuaire.

    • Les deux RADIUS points de terminaison doivent utiliser le même code secret partagé.

  • Votre réseau existant doit autoriser le trafic entrant via le port de RADIUS serveur par défaut (1812) en provenance des AWS Directory Service serveurs.

  • Les noms d'utilisateur entre votre RADIUS serveur et votre répertoire existant doivent être identiques.

Pour plus d'informations sur l'utilisation d'AD Connector avecMFA, consultezActivation de l'authentification multifactorielle pour AD Connector.

Délégation de privilèges à votre compte de service

Pour vous connecter à votre annuaire existant, vous devez disposer des informations d'identification pour votre compte de service AD Connector dans l'annuaire existant, auquel certains privilèges ont été délégués. Alors que les membres du groupe Administrateurs du domaine doivent avoir des privilèges suffisants pour se connecter à l'annuaire, en tant que bonne pratique, vous devez utiliser un compte de service disposant uniquement des privilèges minimum nécessaires pour la connexion à l'annuaire. La procédure suivante explique comment créer un nouveau groupe appeléConnectors, déléguer les privilèges nécessaires pour se connecter AWS Directory Service à ce groupe, puis ajouter un nouveau compte de service à ce groupe.

Cette procédure doit être exécutée sur une machine jointe à votre annuaire sur laquelle le MMC composant logiciel enfichable Utilisateurs et ordinateurs Active Directory est installé. Vous devez également être connecté en tant qu'administrateur de domaine.

Pour déléguer des privilèges à votre compte de service
  1. Ouvrez Utilisateurs et ordinateurs Active Directory, puis sélectionnez votre domaine dans l'arborescence de navigation.

  2. Dans la liste du volet de gauche, effectuez un clic droit sur Utilisateurs, sélectionnez Nouveau, puis Groupe.

  3. Dans la boîte de dialogue Nouvel objet - groupe, entrez la commande suivante, puis cliquez sur OK.

    Champ Valeur/sélection
    Nom du groupe Connectors
    Étendue du groupe Solution internationale
    Type de groupe Sécurité
  4. Dans l'arborescence de navigation Utilisateurs et ordinateurs Active Directory, sélectionnez identifier l'unité organisationnelle (UO) dans laquelle les comptes d'ordinateurs seront créés. Dans le menu, sélectionnez Action, puis Déléguer le contrôle. Vous pouvez sélectionner une unité d'organisation parent jusqu'au domaine au fur et à mesure que les autorisations se propagent à l'enfantOUs. Si votre AD Connector est connecté à AWS Managed Microsoft AD, vous n'aurez pas accès au contrôle délégué au niveau de la racine du domaine. Dans ce cas, pour déléguer le contrôle, sélectionnez l'unité d'organisation (UO) sous l'UO de votre annuaire où les objets ordinateur seront créés.

  5. Sur la page Assistant Délégation de contrôle, cliquez sur Suivant, puis cliquez sur Ajouter.

  6. Dans la boîte de dialogue Sélectionner les utilisateurs, ordinateurs ou groupes, entrez Connectors, puis cliquez sur OK. Si vous trouvez plusieurs objets, sélectionnez le groupe Connectors créé précédemment. Cliquez sur Next (Suivant).

  7. Sur la page Tâches à déléguer, sélectionnez Créer une tâche personnalisée à déléguer, puis choisissez Suivant.

  8. Sélectionnez Seulement des objets suivants dans le dossier, puis sélectionnez Objets ordinateur et Objets utilisateur.

  9. Sélectionnez Créer les objets sélectionnés dans ce dossier et Supprimer les objets sélectionnés dans ce dossier. Ensuite, sélectionnez Suivant.

    Assistant de délégation de contrôle : seuls les objets suivants du dossier, les objets utilisateur, les options de création d'objets sélectionnés dans ce dossier et de suppression des objets sélectionnés dans ce dossier sont sélectionnés.
  10. Sélectionnez Lecture, puis choisissez Suivant.

    Note

    Si vous comptez utiliser Seamless Domain WorkSpaces Join or, vous devez également activer les autorisations d'écriture afin qu'Active Directory puisse créer des objets informatiques.

    Assistant de délégation de contrôle : sous Afficher ces autorisations, les options générales, spécifiques aux propriétés et de lecture sont sélectionnées.
  11. Vérifiez les informations de la page Fin de l'Assistant Délégation de contrôle, puis cliquez sur Terminer.

  12. Créez un compte utilisateur avec un mot de passe fort et ajoutez-le au groupe Connectors. Cet utilisateur sera connu sous le nom de compte de service AD Connector et, comme il est désormais membre du Connectors groupe, il dispose désormais de privilèges suffisants pour se connecter AWS Directory Service à l'annuaire.

Test de votre connecteur AD Connector

Pour qu'AD Connector puisse se connecter à votre annuaire existant, le pare-feu de votre réseau existant doit disposer de certains ports ouverts CIDRs pour les deux sous-réseaux duVPC. Pour vérifier si ces conditions sont satisfaites, exécutez les étapes suivantes :

Pour tester la connexion
  1. Lancez une instance Windows dans le VPC et connectez-vous à celle-ciRDP. L'instance doit être un membre de votre domaine existant. Les étapes restantes sont effectuées sur cette VPC instance.

  2. Téléchargez et décompressez l'application de DirectoryServicePortTesttest. Le code source et les fichiers de projet Visual Studio sont inclus. Vous pouvez donc modifier l'application de test si vous le souhaitez.

    Note

    Ce script n'est pas pris en charge sur Windows Server 2003 ni les systèmes d'exploitation de version antérieure.

  3. À partir d'une invite de commande Windows, exécutez l'application de test DirectoryServicePortTest avec les options suivantes :

    Note

    L'application de DirectoryServicePortTest test ne peut être utilisée que lorsque les niveaux fonctionnels du domaine et de la forêt sont définis sur Windows Server 2012 R2 ou version inférieure.

    DirectoryServicePortTest.exe -d <domain_name> -ip <server_IP_address> -tcp "53,88,389" -udp "53,88,389"
    <domain_name>

    Nom de domaine entièrement qualifié. Il permet de tester les niveaux fonctionnels des forêts et des domaines. Si vous excluez le nom de domaine, les niveaux fonctionnels ne seront pas testés.

    <server_IP_address>

    Adresse IP d'un contrôleur de domaine dans votre domaine existant. Les ports seront testés sur cette adresse IP. Si vous excluez l'adresse IP, les ports ne seront pas testés.

    Cette application de test détermine si les ports nécessaires sont ouverts depuis votre domaine et vérifie également les niveaux fonctionnels minimaux de forêt et de domaine. VPC

    La sortie est similaire à ce qui suit :

    Testing forest functional level. Forest Functional Level = Windows2008R2Forest : PASSED Testing domain functional level. Domain Functional Level = Windows2008R2Domain : PASSED Testing required TCP ports to <server_IP_address>: Checking TCP port 53: PASSED Checking TCP port 88: PASSED Checking TCP port 389: PASSED Testing required UDP ports to <server_IP_address>: Checking UDP port 53: PASSED Checking UDP port 88: PASSED Checking UDP port 389: PASSED

Utilisez le code d'application suivant pour l'application DirectoryServicePortTest.

using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading.Tasks; using System.DirectoryServices.ActiveDirectory; using System.Threading; using System.DirectoryServices.AccountManagement; using System.DirectoryServices; using System.Security.Authentication; using System.Security.AccessControl; using System.Security.Principal; namespace DirectoryServicePortTest { class Program { private static List<int> _tcpPorts; private static List<int> _udpPorts; private static string _domain = ""; private static IPAddress _ipAddr = null; static void Main(string[] args) { if (ParseArgs(args)) { try { if (_domain.Length > 0) { try { TestForestFunctionalLevel(); TestDomainFunctionalLevel(); } catch (ActiveDirectoryObjectNotFoundException) { Console.WriteLine("The domain {0} could not be found.\n", _domain); } } if (null != _ipAddr) { if (_tcpPorts.Count > 0) { TestTcpPorts(_tcpPorts); } if (_udpPorts.Count > 0) { TestUdpPorts(_udpPorts); } } } catch (AuthenticationException ex) { Console.WriteLine(ex.Message); } } else { PrintUsage(); } Console.Write("Press <enter> to continue."); Console.ReadLine(); } static void PrintUsage() { string currentApp = Path.GetFileName(System.Reflection.Assembly.GetExecutingAssembly().Location); Console.WriteLine("Usage: {0} \n-d <domain> \n-ip \"<server IP address>\" \n[-tcp \"<tcp_port1>,<tcp_port2>,etc\"] \n[-udp \"<udp_port1>,<udp_port2>,etc\"]", currentApp); } static bool ParseArgs(string[] args) { bool fReturn = false; string ipAddress = ""; try { _tcpPorts = new List<int>(); _udpPorts = new List<int>(); for (int i = 0; i < args.Length; i++) { string arg = args[i]; if ("-tcp" == arg | "/tcp" == arg) { i++; string portList = args[i]; _tcpPorts = ParsePortList(portList); } if ("-udp" == arg | "/udp" == arg) { i++; string portList = args[i]; _udpPorts = ParsePortList(portList); } if ("-d" == arg | "/d" == arg) { i++; _domain = args[i]; } if ("-ip" == arg | "/ip" == arg) { i++; ipAddress = args[i]; } } } catch (ArgumentOutOfRangeException) { return false; } if (_domain.Length > 0 || ipAddress.Length > 0) { fReturn = true; } if (ipAddress.Length > 0) { _ipAddr = IPAddress.Parse(ipAddress); } return fReturn; } static List<int> ParsePortList(string portList) { List<int> ports = new List<int>(); char[] separators = {',', ';', ':'}; string[] portStrings = portList.Split(separators); foreach (string portString in portStrings) { try { ports.Add(Convert.ToInt32(portString)); } catch (FormatException) { } } return ports; } static void TestForestFunctionalLevel() { Console.WriteLine("Testing forest functional level."); DirectoryContext dirContext = new DirectoryContext(DirectoryContextType.Forest, _domain, null, null); Forest forestContext = Forest.GetForest(dirContext); Console.Write("Forest Functional Level = {0} : ", forestContext.ForestMode); if (forestContext.ForestMode >= ForestMode.Windows2003Forest) { Console.WriteLine("PASSED"); } else { Console.WriteLine("FAILED"); } Console.WriteLine(); } static void TestDomainFunctionalLevel() { Console.WriteLine("Testing domain functional level."); DirectoryContext dirContext = new DirectoryContext(DirectoryContextType.Domain, _domain, null, null); Domain domainObject = Domain.GetDomain(dirContext); Console.Write("Domain Functional Level = {0} : ", domainObject.DomainMode); if (domainObject.DomainMode >= DomainMode.Windows2003Domain) { Console.WriteLine("PASSED"); } else { Console.WriteLine("FAILED"); } Console.WriteLine(); } static List<int> TestTcpPorts(List<int> portList) { Console.WriteLine("Testing TCP ports to {0}:", _ipAddr.ToString()); List<int> failedPorts = new List<int>(); foreach (int port in portList) { Console.Write("Checking TCP port {0}: ", port); TcpClient tcpClient = new TcpClient(); try { tcpClient.Connect(_ipAddr, port); tcpClient.Close(); Console.WriteLine("PASSED"); } catch (SocketException) { failedPorts.Add(port); Console.WriteLine("FAILED"); } } Console.WriteLine(); return failedPorts; } static List<int> TestUdpPorts(List<int> portList) { Console.WriteLine("Testing UDP ports to {0}:", _ipAddr.ToString()); List<int> failedPorts = new List<int>(); foreach (int port in portList) { Console.Write("Checking UDP port {0}: ", port); UdpClient udpClient = new UdpClient(); try { udpClient.Connect(_ipAddr, port); udpClient.Close(); Console.WriteLine("PASSED"); } catch (SocketException) { failedPorts.Add(port); Console.WriteLine("FAILED"); } } Console.WriteLine(); return failedPorts; } } }

Création d'un AD Connector

Pour vous connecter à votre annuaire existant avec AD Connector, procédez comme suit. Avant de commencer cette procédure, assurez-vous que vous avez terminé les prérequis identifiés dans Conditions préalables requises pour AD Connector.

Note

Vous ne pouvez pas créer un AD Connector avec un modèle CloudFormation.

Pour vous connecter à AD Connector
  1. Dans le panneau de navigation de la console AWS Directory Service, choisissez Directories (Annuaires), puis Set up directory (Configurer l'annuaire).

  2. Sur la page Select directory type (Sélectionner un type d'annuaire), choisissez AD Connector, puis Next (Suivant).

  3. Sur la page Enter AD Connector information (Saisir les informations AD Connector), renseignez les informations suivantes :

    Taille de l'annuaire

    Faites votre choix parmi les options de taille Petit ou Large. Pour en savoir plus sur les tailles, veuillez consulter AD Connector.

    Description de l'annuaire

    Description facultative de l'annuaire.

  4. Sur la page Choisir VPC et sous-réseaux, fournissez les informations suivantes, puis choisissez Next.

    VPC

    Le VPC pour le répertoire.

    Sous-réseaux

    Choisissez les sous-réseaux pour les contrôleurs de domaine. Les deux sous-réseaux doivent être dans des zones de disponibilité différentes.

  5. Sur la page Connect to AD (Connecter à AD), fournissez les informations suivantes :

    DNSNom du répertoire

    Nom complet de votre annuaire existant, par exemple corp.example.com.

    BIOSNom du réseau du répertoire

    Nom court de votre annuaire existant, tel que CORP.

    DNSAdresses IP

    Adresse IP d'au moins un DNS serveur de votre répertoire existant. Ces serveurs doivent être accessibles à partir de chaque sous-réseau spécifié dans l'étape 4. Ces serveurs peuvent être situés à l'extérieur AWS, à condition qu'il existe une connectivité réseau entre les sous-réseaux spécifiés et les adresses IP des DNS serveurs.

    Nom d'utilisateur du compte de service

    Nom d'utilisateur d'un utilisateur figurant dans l'annuaire existant. Pour plus d'informations sur ce compte, veuillez consulter le Conditions préalables requises pour AD Connector.

    Mot de passe du compte de service

    Mot de passe du compte utilisateur existant. Le mot de passe est sensible à la casse et doit comporter entre 8 et 128 caractères inclus. Il doit également contenir au moins un caractère de trois des quatre catégories suivantes :

    • Lettres minuscules (a-z)

    • Lettres majuscules (A-Z)

    • Chiffres (0-9)

    • Caractères non alphanumériques (~!@#$%^&*_-+=`|\(){}[]:;"'<>,.?/)

    Confirmer le mot de passe

    Saisissez à nouveau le mot de passe du compte utilisateur existant.

  6. Sur la page Review & create (Vérifier et créer), vérifiez les informations concernant l'annuaire et effectuez les modifications nécessaires. Lorsque les informations sont correctes, choisissez Create directory (Créer l'annuaire). La création de l'annuaire prend plusieurs minutes. Une fois l'annuaire créé, le champ Statut prend la valeur Actif.

Pour plus d'informations sur ce qui est créé avec votre AD Connector, consultezQu'est-ce qui est créé avec votre AD Connector.