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 Simple AD Active Directory
Outre les instances Amazon EC2 Windows, vous pouvez également joindre certaines instances Amazon EC2 Linux à votre répertoire Simple AD Active Directory. 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
D'autres distributions et versions Linux peuvent fonctionner, mais n'ont pas été testées.
Prérequis
Avant de pouvoir joindre une instance Amazon Linux, CentOS, Red Hat ou Ubuntu à votre annuaire, l'instance doit d'abord être lancée comme indiqué dans Associez facilement une instance Amazon EC2 Linux à votre répertoire Simple AD Active Directory.
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
-
-
Connectez-vous à l'instance à l'aide de n'importe quel SSH client.
-
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 AWS
Knowledge Center pour obtenir des conseils sur la configuration du DNS serveur persistant pour votre distribution et votre version Linux spécifiques.
-
Assurez-vous que votre instance Amazon Linux - 64 bits est à jour.
sudo yum -y update
-
Installez les paquets Amazon Linux requis sur votre instance Linux.
Certains de ces packages peuvent être déjà installés.
Au fur et à mesure que vous installez les packages, plusieurs fenêtres de configuration contextuelles peuvent apparaître. Vous pouvez généralement laisser les champs de ces écrans vides.
- Amazon Linux
-
sudo yum install samba-common-tools realmd oddjob oddjob-mkhomedir sssd adcli krb5-workstation
Pour vous aider à déterminer la version d'Amazon Linux que vous utilisez, consultez la section Identification des images Amazon Linux dans le guide de EC2 l'utilisateur Amazon pour les instances Linux.
-
Joignez l'instance à l'annuaire avec la commande suivante.
sudo realm join -U join_account@EXAMPLE.COM
example.com
--verbose
...
* Successfully enrolled machine in realm
-
Configurez le SSH service pour autoriser l'authentification par mot de passe.
-
Ouvrez le fichier /etc/ssh/sshd_config
dans un éditeur de texte.
sudo vi /etc/ssh/sshd_config
-
Définissez le paramètre PasswordAuthentication
sur yes
.
PasswordAuthentication yes
-
Redémarrez le service SSH.
sudo systemctl restart sshd.service
Autrement :
sudo service sshd restart
-
Une fois l'instance redémarrée, connectez-vous à celle-ci avec n'importe quel SSH client et ajoutez le groupe d'administrateurs de domaine à la liste des sudoers en effectuant les étapes suivantes :
-
Ouvrez le fichier sudoers
avec la commande suivante :
sudo visudo
-
Ajoutez les éléments suivants en bas du fichier sudoers
et enregistrez-le.
## Add the "Domain Admins" group from the example.com
domain.
%Domain\ Admins@example.com
ALL=(ALL:ALL) ALL
(L'exemple ci-dessus utilise « \<space> » pour créer le caractère d'espace Linux.)
- CentOS
-
-
Connectez-vous à l'instance à l'aide de n'importe quel SSH client.
-
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 AWS
Knowledge Center pour obtenir des conseils sur la configuration du DNS serveur persistant pour votre distribution et votre version Linux spécifiques.
-
Assurez-vous que votre instance CentOS 7 est à jour.
sudo yum -y update
-
Installez les paquets CentOS 7 obligatoires sur votre instance Linux.
Certains de ces packages peuvent être déjà installés.
Au fur et à mesure que vous installez les packages, plusieurs fenêtres de configuration contextuelles peuvent apparaître. Vous pouvez généralement laisser les champs de ces écrans vides.
sudo yum -y install sssd realmd krb5-workstation samba-common-tools
-
Joignez l'instance à l'annuaire avec la commande suivante.
sudo realm join -U join_account@example.com
example.com
--verbose
...
* Successfully enrolled machine in realm
-
Configurez le SSH service pour autoriser l'authentification par mot de passe.
-
Ouvrez le fichier /etc/ssh/sshd_config
dans un éditeur de texte.
sudo vi /etc/ssh/sshd_config
-
Définissez le paramètre PasswordAuthentication
sur yes
.
PasswordAuthentication yes
-
Redémarrez le service SSH.
sudo systemctl restart sshd.service
Autrement :
sudo service sshd restart
-
Une fois l'instance redémarrée, connectez-vous à celle-ci avec n'importe quel SSH client et ajoutez le groupe d'administrateurs de domaine à la liste des sudoers en effectuant les étapes suivantes :
-
Ouvrez le fichier sudoers
avec la commande suivante :
sudo visudo
-
Ajoutez les éléments suivants en bas du fichier sudoers
et enregistrez-le.
## Add the "Domain Admins" group from the example.com
domain.
%Domain\ Admins@example.com
ALL=(ALL:ALL) ALL
(L'exemple ci-dessus utilise « \<space> » pour créer le caractère d'espace Linux.)
- Red hat
-
-
Connectez-vous à l'instance à l'aide de n'importe quel SSH client.
-
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 AWS
Knowledge Center pour obtenir des conseils sur la configuration du DNS serveur persistant pour votre distribution et votre version Linux spécifiques.
-
Assurez-vous que l'instance Red Hat - 64 bits est à jour.
sudo yum -y update
-
Installez les packages Red Hat obligatoires sur votre instance Linux.
Certains de ces packages peuvent être déjà installés.
Au fur et à mesure que vous installez les packages, plusieurs fenêtres de configuration contextuelles peuvent apparaître. Vous pouvez généralement laisser les champs de ces écrans vides.
sudo yum -y install sssd realmd krb5-workstation samba-common-tools
-
Joignez l'instance à l'annuaire avec la commande suivante.
sudo realm join -v -U join_account
example.com
--install=/
...
* Successfully enrolled machine in realm
-
Configurez le SSH service pour autoriser l'authentification par mot de passe.
-
Ouvrez le fichier /etc/ssh/sshd_config
dans un éditeur de texte.
sudo vi /etc/ssh/sshd_config
-
Définissez le paramètre PasswordAuthentication
sur yes
.
PasswordAuthentication yes
-
Redémarrez le service SSH.
sudo systemctl restart sshd.service
Autrement :
sudo service sshd restart
-
Une fois l'instance redémarrée, connectez-vous à celle-ci avec n'importe quel SSH client et ajoutez le groupe d'administrateurs de domaine à la liste des sudoers en effectuant les étapes suivantes :
-
Ouvrez le fichier sudoers
avec la commande suivante :
sudo visudo
-
Ajoutez les éléments suivants en bas du fichier sudoers
et enregistrez-le.
## Add the "Domain Admins" group from the example.com
domain.
%Domain\ Admins@example.com
ALL=(ALL:ALL) ALL
(L'exemple ci-dessus utilise « \<space> » pour créer le caractère d'espace Linux.)
- Ubuntu
-
-
Connectez-vous à l'instance à l'aide de n'importe quel SSH client.
-
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 AWS
Knowledge Center pour obtenir des conseils sur la configuration du DNS serveur persistant pour votre distribution et votre version Linux spécifiques.
-
Assurez-vous que l'instance Ubuntu - 64 bits est à jour.
sudo apt-get update
sudo apt-get -y upgrade
-
Installez les packages Ubuntu obligatoires sur votre instance Linux.
Certains de ces packages peuvent être déjà installés.
Au fur et à mesure que vous installez les packages, plusieurs fenêtres de configuration contextuelles peuvent apparaître. Vous pouvez généralement laisser les champs de ces écrans vides.
sudo apt-get -y install sssd realmd krb5-user samba-common packagekit adcli
-
Désactivez DNS la résolution inverse et définissez le domaine par défaut sur celui de votre domaineFQDN. Les instances Ubuntu doivent pouvoir être résolues à l'envers pour DNS que le domaine fonctionne. Sinon, vous devez désactiver reverse DNS in /etc/krb 5.conf comme suit :
sudo vi /etc/krb5.conf
[libdefaults]
default_realm = EXAMPLE.COM
rdns = false
-
Joignez l'instance à l'annuaire avec la commande suivante.
sudo realm join -U join_account example.com
--verbose
...
* Successfully enrolled machine in realm
-
Configurez le SSH service pour autoriser l'authentification par mot de passe.
-
Ouvrez le fichier /etc/ssh/sshd_config
dans un éditeur de texte.
sudo vi /etc/ssh/sshd_config
-
Définissez le paramètre PasswordAuthentication
sur yes
.
PasswordAuthentication yes
-
Redémarrez le service SSH.
sudo systemctl restart sshd.service
Autrement :
sudo service sshd restart
-
Une fois l'instance redémarrée, connectez-vous à celle-ci avec n'importe quel SSH client et ajoutez le groupe d'administrateurs de domaine à la liste des sudoers en effectuant les étapes suivantes :
-
Ouvrez le fichier sudoers
avec la commande suivante :
sudo visudo
-
Ajoutez les éléments suivants en bas du fichier sudoers
et enregistrez-le.
## Add the "Domain Admins" group from the example.com
domain.
%Domain\ Admins@example.com
ALL=(ALL:ALL) ALL
(L'exemple ci-dessus utilise « \<space> » pour créer le caractère d'espace Linux.)
Lors de l'utilisation de Simple AD, si vous créez un compte d'utilisateur sur une instance Linux avec l'option « Force user to change password at first login », cet utilisateur ne pourra pas modifier initialement son mot de passe à l'aide de la commande kpasswd. Pour modifier le mot de passe la première fois, un administrateur de domaine doit mettre à jour le mot de passe utilisateur à l'aide des outils de gestion Active Directory.
Gérer des comptes à partir d'une instance Linux
Pour gérer des comptes dans Simple AD à partir d'une instance Linux, vous devez mettre à jour des fichiers de configuration spécifiques sur votre instance Linux comme suit :
-
Définissez krb5_use_kdcinfo sur False dans le fichier/.conf. etc/sssd/sssd Par exemple :
[domain/example.com]
krb5_use_kdcinfo = False
-
Pour que la configuration soit appliquée, vous devez redémarrer le service sssd :
$ sudo systemctl restart sssd.service
Vous pouvez également utiliser :
$ sudo service sssd start
-
Si vous allez gérer les utilisateurs à partir d'une instance Linux CentOS, vous devez également modifier le fichier /etc/smb.conf pour inclure :
[global]
workgroup = EXAMPLE.COM
realm = EXAMPLE.COM
netbios name = EXAMPLE
security = ads
Restriction de l'accès de connexion à un compte
Comme tous les comptes sont définis dans Active Directory, par défaut, tous les utilisateurs de l'annuaire peuvent se connecter à l'instance. Vous pouvez autoriser uniquement certains utilisateurs à se connecter à l'instance à l'aide de la commande ad_access_filterdans sssd.conf. Par exemple :
ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
memberOf
-
Indique que les utilisateurs ne peuvent accéder qu'à l'instance s'ils sont membres d'un groupe spécifique.
cn
-
Nom canonique du groupe disposant d'un accès. Dans cet exemple, le nom du groupe est admins
.
ou
-
Il s'agit de l'unité d'organisation dans laquelle se trouve le groupe ci-dessus. Dans cet exemple, l'UO est Testou
.
dc
-
Il s'agit du composant de domaine de votre domaine. Dans cet exemple, example
.
dc
-
Il s'agit d'un composant de domaine supplémentaire. Dans cet exemple, com
.
Vous devez ajouter manuellement ad_access_filter à votre /etc/sssd/sssd.conf.
Ouvrez le fichier /etc/sssd/sssd.conf dans un éditeur de texte.
sudo vi /etc/sssd/sssd.conf
Une fois l'opération effectuée, votre commande sssd.conf pourrait ressembler à ce qui suit :
[sssd]
domains = example.com
config_file_version = 2
services = nss, pam
[domain/example.com]
ad_domain = example.com
krb5_realm = EXAMPLE.COM
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%u@%d
access_provider = ad
ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
Pour que la configuration soit appliquée, vous devez redémarrer le service sssd :
sudo systemctl restart sssd.service
Vous pouvez également utiliser :
sudo service sssd restart
Cartographie des identifiants
Le mappage des identifiants peut être effectué par deux méthodes pour maintenir une expérience unifiée entre UNIX /Linux User Identifier (UID) et Group Identifier (GID) et Windows et Active Directory Identités d'identification de sécurité (SID).
Cartographie centralisée de l'identité des utilisateurs dans Active Directory nécessite une interface de système d'exploitation portable ouPOSIX.
Cartographie centralisée de l'identité des utilisateurs
Active Directory ou un autre service Lightweight Directory Access Protocol (LDAP) fournit UID et GID aux utilisateurs de Linux. Entrée Active Directory, ces identifiants sont enregistrés dans les attributs des utilisateurs :
UID- Le nom d'utilisateur Linux (chaîne)
UIDNuméro : numéro d'identification utilisateur Linux (entier)
GIDNuméro : numéro d'identification du groupe Linux (entier)
Pour configurer une instance Linux afin d'utiliser le UID et GID depuis Active Directory, défini ldap_id_mapping = False
dans le fichier sssd.conf. Avant de définir cette valeur, vérifiez que vous avez ajouté unUID, un UID numéro et un GID numéro aux utilisateurs et aux groupes dans Active Directory.
Cartographie distribuée de l'identité des utilisateurs
If Active Directory ne possède pas l'POSIXextension ou si vous choisissez de ne pas gérer de manière centralisée le mappage des identités, Linux peut calculer les GID valeurs UID et. Linux utilise l'identifiant de sécurité unique (SID) de l'utilisateur pour garantir la cohérence.
Pour configurer le mappage d'ID utilisateur distribué, définissez-le ldap_id_mapping = True
dans le fichier sssd.conf.
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%