Joindre manuellement une instance Amazon EC2 Linux à votre répertoire Microsoft AD Active Directory AWS géré à l'aide de Winbind - 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.

Joindre manuellement une instance Amazon EC2 Linux à votre répertoire Microsoft AD Active Directory AWS géré à l'aide de Winbind

Vous pouvez utiliser le service Winbind pour joindre manuellement vos instances Amazon EC2 Linux à un domaine Microsoft AD Active Directory AWS géré. Cela permet aux utilisateurs Active Directory locaux existants d'utiliser leurs informations d'identification Active Directory lorsqu'ils accèdent aux instances Linux jointes à votre annuaire Microsoft AD Active Directory AWS géré. Les distributions et les versions d'instance Linux suivantes sont prises en charge :

  • Amazon Linux AMI 2018.03.0

  • Amazon Linux 2 (64 bits x86)

  • Amazon Linux 2023 AMI

  • Red Hat Enterprise Linux 8 (HVM) (64 bits x86)

  • Ubuntu Server 18.04 LTS et Ubuntu Server 16.04 LTS

  • CentOS 7 x86-64

  • SUSEServeur Linux Enterprise 15 SP1

Note

D'autres distributions et versions Linux peuvent fonctionner, mais n'ont pas été testées.

Joindre une instance Linux à votre répertoire Microsoft AD Active Directory AWS géré

Important

Certaines des procédures suivantes peuvent rendre votre instance inaccessible ou non utilisable si elles ne sont pas effectuées correctement. Par conséquent, nous vous conseillons vivement de faire une sauvegarde ou de prendre un instantané de votre instance avant d'exécuter ces procédures.

Pour joindre une instance Linux à votre annuaire

Suivez les étapes pour votre instance Linux spécifique à l'aide de l'un des onglets suivants :

Amazon Linux/CENTOS/REDHAT
  1. Connectez-vous à l'instance à l'aide de n'importe quel SSH client.

  2. Configurez l'instance Linux pour utiliser les DNS adresses IP des DNS serveurs AWS Directory Service fournis. Vous pouvez le faire soit en le configurant dans le jeu DHCP d'options joint à l'instance, VPC soit en le configurant manuellement sur l'instance. Si vous souhaitez le configurer manuellement, consultez l'article Comment attribuer un DNS serveur statique à une EC2 instance Amazon privée dans le centre de AWS connaissances pour obtenir des conseils sur la configuration du DNS serveur persistant pour votre distribution et votre version Linux spécifiques.

  3. Assurez-vous que votre instance Linux est à jour.

    sudo yum -y update
  4. Installez les paquets Samba/Winbind obligatoires sur votre instance Linux.

    sudo yum -y install authconfig samba samba-client samba-winbind samba-winbind-clients
  5. Faites une sauvegarde du fichier smb.conf principal afin de pouvoir y revenir en cas d'échec :

    sudo cp /etc/samba/smb.conf /etc/samba/smb.bk
  6. Ouvrez le fichier de configuration d'origine [/etc/samba/smb.conf] dans un éditeur de texte.

    sudo vim /etc/samba/smb.conf

    Renseignez les informations relatives à votre environnement de domaine Active Directory comme indiqué dans l'exemple ci-dessous :

    [global] workgroup = example security = ads realm = example.com idmap config * : rangesize = 1000000 idmap config * : range = 1000000-19999999 idmap config * : backend = autorid winbind enum users = no winbind enum groups = no template homedir = /home/%U@%D template shell = /bin/bash winbind use default domain = false
  7. Ouvrez le fichier d'hôtes [/etc/hosts] dans un éditeur de texte.

    sudo vim /etc/hosts

    Ajoutez l'adresse IP privée de votre instance Linux comme suit :

    10.x.x.x Linux_hostname.example.com Linux_hostname
    Note

    Si vous n'avez pas indiqué votre adresse IP dans le /etc/hosts fichier, le DNS message d'erreur suivant peut s'afficher lorsque vous joignez l'instance au domaine. :

    No DNS domain configured for linux-instance. Unable to perform DNS Update. DNS update failed: NT_STATUS_INVALID_PARAMETER

    Cette erreur signifie que la jointure a réussi mais que la commande [net ads] n'a pas pu DNS enregistrer l'enregistrement dansDNS.

  8. Joignez l'instance Linux à Active Directory à l'aide de l'utilitaire net.

    sudo net ads join -U join_account@example.com
    join_account@example.com

    Un compte dans le example.com domaine doté de privilèges de jonction de domaine. À l'invite, saisissez le mot de passe du compte. Pour obtenir plus d'informations sur la délégation de ces privilèges, veuillez consulter Délégation des privilèges de connexion à un annuaire pour AWS Managed Microsoft AD.

    example.com

    Le DNS nom complet de votre répertoire.

    Enter join_account@example.com's password: Using short domain name -- example Joined 'IP-10-x-x-x' to dns domain 'example.com'
  9. Modifiez le fichier PAM de configuration, utilisez la commande ci-dessous pour ajouter les entrées nécessaires à l'authentification Winbind :

    sudo authconfig --enablewinbind --enablewinbindauth --enablemkhomedir --update
  10. Configurez le SSH service pour autoriser l'authentification par mot de passe en modifiant le /etc/ssh/sshd_config fichier.

    1. Ouvrez le fichier /etc/ssh/sshd_config dans un éditeur de texte.

      sudo vi /etc/ssh/sshd_config
    2. Définissez le paramètre PasswordAuthentication sur yes.

      PasswordAuthentication yes
    3. Redémarrez le service SSH.

      sudo systemctl restart sshd.service

      Autrement :

      sudo service sshd restart
  11. Une fois l'instance redémarrée, connectez-vous à celle-ci avec n'importe quel SSH client et ajoutez les privilèges root d'un utilisateur ou d'un groupe de domaines à la liste des sudoers en effectuant les étapes suivantes :

    1. Ouvrez le fichier sudoers avec la commande suivante :

      sudo visudo
    2. Ajoutez les groupes ou utilisateurs requis à partir de votre domaine approuvé ou d'approbation comme suit, puis enregistrez-les.

      ## Adding Domain Users/Groups. %domainname\\AWS\ Delegated\ Administrators ALL=(ALL:ALL) ALL %domainname\\groupname ALL=(ALL:ALL) ALL domainname\\username ALL=(ALL:ALL) ALL %Trusted_DomainName\\groupname ALL=(ALL:ALL) ALL Trusted_DomainName\\username ALL=(ALL:ALL) ALL

      (L'exemple ci-dessus utilise « \<space> » pour créer le caractère d'espace Linux.)

SUSE
  1. Connectez-vous à l'instance à l'aide de n'importe quel SSH client.

  2. Configurez l'instance Linux pour utiliser les DNS adresses IP des DNS serveurs AWS Directory Service fournis. Vous pouvez le faire soit en le configurant dans le jeu DHCP d'options joint à l'instance, VPC soit en le configurant manuellement sur l'instance. Si vous souhaitez le configurer manuellement, consultez l'article Comment attribuer un DNS serveur statique à une EC2 instance Amazon privée dans le centre de AWS connaissances pour obtenir des conseils sur la configuration du DNS serveur persistant pour votre distribution et votre version Linux spécifiques.

  3. Assurez-vous que votre instance SUSE Linux 15 est à jour.

    1. Connectez le référentiel de packages.

      sudo SUSEConnect -p PackageHub/15.1/x86_64
    2. Mettre à jourSUSE.

      sudo zypper update -y
  4. Installez les paquets Samba/Winbind obligatoires sur votre instance Linux.

    sudo zypper in -y samba samba-winbind
  5. Faites une sauvegarde du fichier smb.conf principal afin de pouvoir y revenir en cas d'échec :

    sudo cp /etc/samba/smb.conf /etc/samba/smb.bk
  6. Ouvrez le fichier de configuration d'origine [/etc/samba/smb.conf] dans un éditeur de texte.

    sudo vim /etc/samba/smb.conf

    Renseignez les informations relatives à l'environnement de votre domaine Active Directory comme indiqué dans l'exemple ci-dessous :

    [global] workgroup = example security = ads realm = example.com idmap config * : rangesize = 1000000 idmap config * : range = 1000000-19999999 idmap config * : backend = autorid winbind enum users = no winbind enum groups = no template homedir = /home/%U@%D template shell = /bin/bash winbind use default domain = false
  7. Ouvrez le fichier d'hôtes [/etc/hosts] dans un éditeur de texte.

    sudo vim /etc/hosts

    Ajoutez l'adresse IP privée de votre instance Linux comme suit :

    10.x.x.x Linux_hostname.example.com Linux_hostname
    Note

    Si vous n'avez pas indiqué votre adresse IP dans le /etc/hosts fichier, le DNS message d'erreur suivant peut s'afficher lorsque vous joignez l'instance au domaine. :

    No DNS domain configured for linux-instance. Unable to perform DNS Update. DNS update failed: NT_STATUS_INVALID_PARAMETER

    Cette erreur signifie que la jointure a réussi mais que la commande [net ads] n'a pas pu DNS enregistrer l'enregistrement dansDNS.

  8. Joignez l'instance Linux à l'annuaire avec la commande suivante.

    sudo net ads join -U join_account@example.com
    join_account

    Le sAMAccount nom figurant dans le example.com domaine doté de privilèges de jonction de domaine. À l'invite, saisissez le mot de passe du compte. Pour obtenir plus d'informations sur la délégation de ces privilèges, veuillez consulter Délégation des privilèges de connexion à un annuaire pour AWS Managed Microsoft AD.

    example.com

    Le DNS nom complet de votre répertoire.

    Enter join_account@example.com's password: Using short domain name -- example Joined 'IP-10-x-x-x' to dns domain 'example.com'
  9. Modifiez le fichier PAM de configuration, utilisez la commande ci-dessous pour ajouter les entrées nécessaires à l'authentification Winbind :

    sudo pam-config --add --winbind --mkhomedir
  10. Ouvrez le fichier de configuration Name Service Switch [/etc/nsswitch.conf] dans un éditeur de texte.

    vim /etc/nsswitch.conf

    Ajoutez la directive Winbind comme indiqué ci-dessous.

    passwd: files winbind shadow: files winbind group: files winbind
  11. Configurez le SSH service pour autoriser l'authentification par mot de passe en modifiant le /etc/ssh/sshd_config fichier.

    1. Ouvrez le fichier /etc/ssh/sshd_config dans un éditeur de texte.

      sudo vim /etc/ssh/sshd_config
    2. Définissez le paramètre PasswordAuthentication sur yes.

      PasswordAuthentication yes
    3. Redémarrez le service SSH.

      sudo systemctl restart sshd.service

      Autrement :

      sudo service sshd restart
  12. Une fois l'instance redémarrée, connectez-vous à celle-ci avec n'importe quel SSH client et ajoutez les privilèges root pour un utilisateur ou un groupe de domaine à la liste des sudoers en effectuant les étapes suivantes :

    1. Ouvrez le fichier sudoers avec la commande suivante :

      sudo visudo
    2. Ajoutez les groupes ou utilisateurs requis à partir de votre domaine approuvé ou d'approbation comme suit, puis enregistrez-les.

      ## Adding Domain Users/Groups. %domainname\\AWS\ Delegated\ Administrators ALL=(ALL:ALL) ALL %domainname\\groupname ALL=(ALL:ALL) ALL domainname\\username ALL=(ALL:ALL) ALL %Trusted_DomainName\\groupname ALL=(ALL:ALL) ALL Trusted_DomainName\\username ALL=(ALL:ALL) ALL

      (L'exemple ci-dessus utilise « \<space> » pour créer le caractère d'espace Linux.)

Ubuntu
  1. Connectez-vous à l'instance à l'aide de n'importe quel SSH client.

  2. Configurez l'instance Linux pour utiliser les DNS adresses IP des DNS serveurs AWS Directory Service fournis. Vous pouvez le faire soit en le configurant dans le jeu DHCP d'options joint à l'instance, VPC soit en le configurant manuellement sur l'instance. Si vous souhaitez le configurer manuellement, consultez l'article Comment attribuer un DNS serveur statique à une EC2 instance Amazon privée dans le centre de AWS connaissances pour obtenir des conseils sur la configuration du DNS serveur persistant pour votre distribution et votre version Linux spécifiques.

  3. Assurez-vous que votre instance Linux est à jour.

    sudo apt-get -y upgrade
  4. Installez les paquets Samba/Winbind obligatoires sur votre instance Linux.

    sudo apt -y install samba winbind libnss-winbind libpam-winbind
  5. Faites une sauvegarde du fichier smb.conf principal afin de pouvoir y revenir en cas d'échec.

    sudo cp /etc/samba/smb.conf /etc/samba/smb.bk
  6. Ouvrez le fichier de configuration d'origine [/etc/samba/smb.conf] dans un éditeur de texte.

    sudo vim /etc/samba/smb.conf

    Renseignez les informations relatives à l'environnement de votre domaine Active Directory comme indiqué dans l'exemple ci-dessous :

    [global] workgroup = example security = ads realm = example.com idmap config * : rangesize = 1000000 idmap config * : range = 1000000-19999999 idmap config * : backend = autorid winbind enum users = no winbind enum groups = no template homedir = /home/%U@%D template shell = /bin/bash winbind use default domain = false
  7. Ouvrez le fichier d'hôtes [/etc/hosts] dans un éditeur de texte.

    sudo vim /etc/hosts

    Ajoutez l'adresse IP privée de votre instance Linux comme suit :

    10.x.x.x Linux_hostname.example.com Linux_hostname
    Note

    Si vous n'avez pas indiqué votre adresse IP dans le /etc/hosts fichier, le DNS message d'erreur suivant peut s'afficher lorsque vous joignez l'instance au domaine. :

    No DNS domain configured for linux-instance. Unable to perform DNS Update. DNS update failed: NT_STATUS_INVALID_PARAMETER

    Cette erreur signifie que la jointure a réussi mais que la commande [net ads] n'a pas pu DNS enregistrer l'enregistrement dansDNS.

  8. Joignez l'instance Linux à Active Directory à l'aide de l'utilitaire net.

    sudo net ads join -U join_account@example.com
    join_account@example.com

    Un compte dans le example.com domaine doté de privilèges de jonction de domaine. À l'invite, saisissez le mot de passe du compte. Pour obtenir plus d'informations sur la délégation de ces privilèges, veuillez consulter Délégation des privilèges de connexion à un annuaire pour AWS Managed Microsoft AD.

    example.com

    Le DNS nom complet de votre répertoire.

    Enter join_account@example.com's password: Using short domain name -- example Joined 'IP-10-x-x-x' to dns domain 'example.com'
  9. Modifiez le fichier PAM de configuration, utilisez la commande ci-dessous pour ajouter les entrées nécessaires à l'authentification Winbind :

    sudo pam-auth-update --add --winbind --enable mkhomedir
  10. Ouvrez le fichier de configuration Name Service Switch [/etc/nsswitch.conf] dans un éditeur de texte.

    vim /etc/nsswitch.conf

    Ajoutez la directive Winbind comme indiqué ci-dessous.

    passwd: compat winbind group: compat winbind shadow: compat winbind
  11. Configurez le SSH service pour autoriser l'authentification par mot de passe en modifiant le /etc/ssh/sshd_config fichier.

    1. Ouvrez le fichier /etc/ssh/sshd_config dans un éditeur de texte.

      sudo vim /etc/ssh/sshd_config
    2. Définissez le paramètre PasswordAuthentication sur yes.

      PasswordAuthentication yes
    3. Redémarrez le service SSH.

      sudo systemctl restart sshd.service

      Autrement :

      sudo service sshd restart
  12. Une fois l'instance redémarrée, connectez-vous à celle-ci avec n'importe quel SSH client et ajoutez les privilèges root pour un utilisateur ou un groupe de domaine à la liste des sudoers en effectuant les étapes suivantes :

    1. Ouvrez le fichier sudoers avec la commande suivante :

      sudo visudo
    2. Ajoutez les groupes ou utilisateurs requis à partir de votre domaine approuvé ou d'approbation comme suit, puis enregistrez-les.

      ## Adding Domain Users/Groups. %domainname\\AWS\ Delegated\ Administrators ALL=(ALL:ALL) ALL %domainname\\groupname ALL=(ALL:ALL) ALL domainname\\username ALL=(ALL:ALL) ALL %Trusted_DomainName\\groupname ALL=(ALL:ALL) ALL Trusted_DomainName\\username ALL=(ALL:ALL) ALL

      (L'exemple ci-dessus utilise « \<space> » pour créer le caractère d'espace Linux.)

Connect à l'instance Linux

Lorsqu'un utilisateur se connecte à l'instance à l'aide d'un SSH client, il est invité à saisir son nom d'utilisateur. L'utilisateur peut entrer le nom d'utilisateur au format username@example.com ou au format EXAMPLE\username. La réponse ressemblera à la suivante, selon la distribution Linux que vous utilisez :

Amazon Linux, Red Hat Enterprise Linux et CentOS Linux

login as: johndoe@example.com johndoe@example.com's password: Last login: Thu Jun 25 16:26:28 2015 from XX.XX.XX.XX

SUSELinux

SUSE Linux Enterprise Server 15 SP1 x86_64 (64-bit) As "root" (sudo or sudo -i) use the: - zypper command for package management - yast command for configuration management Management and Config: https://www.suse.com/suse-in-the-cloud-basics Documentation: https://www.suse.com/documentation/sles-15/ Forum: https://forums.suse.com/forumdisplay.php?93-SUSE-Public-Cloud Have a lot of fun...

Ubuntu Linux

login as: admin@example.com admin@example.com@10.24.34.0's password: Welcome to Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-1057-aws x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Sat Apr 18 22:03:35 UTC 2020 System load: 0.01 Processes: 102 Usage of /: 18.6% of 7.69GB Users logged in: 2 Memory usage: 16% IP address for eth0: 10.24.34.1 Swap usage: 0%