Bien que la version 2 d’Azure AD Connect soit disponible depuis quelques mois, je traite dans ce post de l’installation de la version 1.6. La version 2 n’apporte pas de changement majeur quant à l’installation de ce produit si ce n’est TLS1.2.
Je souhaitais partir d’une version 1.x afin de traiter de la migration de 1.x vers 2.x.
Il s’agit donc d’un point de départ pour d’autres scénarios.
Azure AD Connect est une composante de l’identité à considérer dans le tier 0 de votre infrastructure si ce modèle est en place. Par conséquent les opération réalisées sont toutes exécutées avec un compte “Domain Admin” / “Enterprise Admin”.
Dans cette maquette, nous allons partir d’une situation basique, synchroniser les identités depuis un Active Directory mono forêt, mono domaine. Azure AD Connect sera déployé avec une fédération de type PHS.
Download
Pour commencer, nous allons télécharger le fichier msi d’Azure AD Connect. Pour ce faire se rendre sur le lien ci-dessous.
Ce KB Microsoft référence l’ensemble des versions d’AADC.
Deux versions d’AADC cohabitent pour le moment jusqu’à aout 2022. Comme explique en introduction, la version 1.X (1.6.16.0) est déployée. Si vous devez partir sur un nouveau déploiement, je vous invite à utiliser directement la version 2. J’essaierai de traiter la version 2 dans un autre post, mais le processus d’installation reste le même entre les 2 versions.
Cliquer sur le lien pour télécharger les binaires.
Prérequis
Avant de lancer l’installation, quelques prérequis sont nécessaires.
Des informations supplementaires sur les prérequis sont disponible dans le KB Microsoft :
RSAT ADDS
Pour commencer, nous allons installer les RSAT sur le serveur AADC. Ceux-ci ne sont pas indispensables, mais simplifient grandement les opérations sur AD.
Pour ce faire, lancer depuis PowerShell la commande ci-dessous :
Install-WindowsFeature -Name RSAT-AD-Tools
Création d'un compte de service managé pour AADC (ADSync)
Le service AADC (ADSync) nécessite un compte de service pour s’exécuter sur la machine.
Dans la mesure où le serveur AADC de cette maquette est joint dans le domaine AD, nous allons créer un compte de type GMSA pour celui-ci.
Import-Module ActiveDirectory
Get-KdsRootKey
#Check if necessary ?
Add-KdsRootKey -EffectiveTime ((Get-Date).AddHours(-10))
Get-KdsRootKey
$Param = @{
Name = 'gMSA-AADC01'
Description = 'Service account for AADC'
DNSHostName = 'gMSA-AADC01.teddy.lan'
PrincipalsAllowedToRetrieveManagedPassword = 'AADC01$'
}
New-ADServiceAccount @Param -PassThru
Get-ADServiceAccount -Identity $Param.Name
Création d'un compte de service ADConnector
Un second compte de service est nécessaire pour autoriser AADC à lire /modifier Active Directory. Ce compte est connu sous la dénomination “ADConnectorAccount”.
Import-Module -Name ActiveDirectory
$param = @{
Description = "Azure AD Connect ADConnectorAccount"
Name = "MSOL_Teddy01"
Path = "CN=Users,DC=teddy,DC=lan"
CannotChangePassword = $true
ChangePasswordAtLogon = $false
AccountPassword = ConvertTo-SecureString "IlFaudraQueJeTrouveUnPwd-123" -AsPlainText -Force
}
New-ADUser @param
Get-ADUser -Identity $param.Name
Domaine publique sur Azure AD
Du côté d’Azure AD, le domaine “publique” qui est à fédéré avec Active Directory doit être vérifié.
Déclarer l'UPN suffix dans Active Directory
Dans Active Directory, le domaine à fédérer doit être déclaré dans les UPN du domaine.
Pour ce faire, un petit script PowerShell :
Import-Module -Name ActiveDirectory
Get-ADForest | Set-ADForest -UPNSuffixes @{add="teddycorp.fr"}
Get-ADForest | Format-List UPNSuffixes
Cette maquette ne concerne que l’installation d’Azure AD Connect. Dans un projet global, il convient de configurer les mêmes suffixes DNS comme UPN des utilisateurs AD.
Pensez à utiliser IDFix 🙂
TLS1.2
Avec les version 1.X, les versiosn de TLS1.0 et 1.1 sont suportées.
Je laisse volontairement la configuration et n’active pas TLS1.2. Car il s’agit d’un point iportant lors du passage à la version2.X. Je garde donc ce sujet pour plus tard.
Dans un environnement de production, je ne peux que vous inviter à passer en TLS1.2 et désactiver les version TLS.10 et TLS 1.1.
Toutes les informations à ce sujet sont disponibles dans le KB MS :
Installation d'Azure AD Connect
La première étape pour avoir un Azure AD Connect fonctionnel est l’installation des binaires.
Lancer le fichier “AzureADConnect.msi” préalablement téléchargé.
Dès que la première partie de l’installation est terminée, vous êtes invité à accepter la licence AADC. Afin d’éviter certains soucis d’authentification plus tard, fermer le wizzard AADC.
Configurer les ACL du compte ADConnector
La configuration fine des ACL apporte un plus au niveau de sécurité. Cependant celle-ci peut-être compliqué à comprendre et à maintenir.
Le but de cette maquette est de présenter d’autre manière de faire, c’est pour cela que je l’utilise.
Afin de gérer le plus finement les droits du compte ADConnector sur Active Directory, il convient de configurer finement les ACL de ce compte sur Active Directory en ciblant le uniquement les OU que l’on souhaite synchroniser.
Avec PHS, de base il convient de donner les permissions pour :
- Lire les objets AD (OU) : Set-ADSyncBasicReadPermissions
- Configurer les ancres : Set-ADSyncMsDsConsistencyGuidPermissions
- Lire le hash des mots de passe des utilisateurs : Set-ADSyncPasswordHashSyncPermissions
Import-Module "C:\Program Files\Microsoft Azure Active Directory Connect\AdSyncConfig\AdSyncConfig.psm1"
Import-Module -Name ActiveDirectory
#Domain admin
$credential = Get-Credential
$ADConnectorAccount = Get-ADUser -Identity MSOL_Teddy01
$OUToSync = "OU=TEDDY,DC=teddy,DC=lan"
#Harden ADConnectorAccount
Set-ADSyncRestrictedPermissions -ADConnectorAccountDN $ADConnectorAccount.DistinguishedName -Credential $credential
#Basic
Set-ADSyncBasicReadPermissions -ADConnectorAccountDN $ADConnectorAccount.DistinguishedName -ADobjectDN $OUToSync
#Anchor
Set-ADSyncMsDsConsistencyGuidPermissions -ADConnectorAccountDN $ADConnectorAccount.DistinguishedName -ADobjectDN $OUToSync
#Read PH to Sync
Set-ADSyncPasswordHashSyncPermissions -ADConnectorAccountDN $ADConnectorAccount.DistinguishedName
Il existe d’autres permissions à configurer selon les options de synchronisation sélectionnées.
Par exemple le password writeback avec : Set-ADSyncPasswordWritebackPermissions
L’ensemble des options sont disponibles dans le KB Microsoft ci-dessous :
Finaliser l'installation d'Azure AD Connect
Puis relancer Azure AD Connect avec le paramètre “/InteractiveAuth”.
cd "C:\Program Files\Microsoft Azure Active Directory Connect\"
.\AzureADConnect.exe /InteractiveAuth
Import-Module "C:\Program Files\Microsoft Azure Active Directory Connect\AdSyncConfig\AdSyncConfig.psm1"
Import-Module -Name ActiveDirectory
#Domain admin
$credential = Get-Credential
$ADConnectorAccount = Get-ADUser -Identity MSOL_Teddy01
$OUToSync = "OU=TEDDY,DC=teddy,DC=lan"
#Harden ADConnectorAccount
Set-ADSyncRestrictedPermissions -ADConnectorAccountDN $ADConnectorAccount.DistinguishedName -Credential $credential
#Basic
Set-ADSyncBasicReadPermissions -ADConnectorAccountDN $ADConnectorAccount.DistinguishedName -ADobjectDN $OUToSync
#Anchor
Set-ADSyncMsDsConsistencyGuidPermissions -ADConnectorAccountDN $ADConnectorAccount.DistinguishedName -ADobjectDN $OUToSync
#Read PH to Sync
Set-ADSyncPasswordHashSyncPermissions -ADConnectorAccountDN $ADConnectorAccount.DistinguishedName
Accepter la licence.
Séléctionner “Customize”.
Renseigner le compte GMSA créé dans la phase de prérequis.
Dans cette maquette, nous allons configurer la fédération avec PHS. Concernant les méthodes de fédération, il s’agit d’un sujet trop vaste qui devrait être traiter à part.
S’authentifier sur Azure AD à l’aide d’un compte “Global Administrator”.
Ajouter le domaine Active Directory devant être synchronisé avec Azure AD Connect “Add Directory”.
Renseigner le compte de service “ADConnector” créé pendant les phases de prérequis.
Connexion avec le domaine OK.
Cocher “Continue without matching all UPN suffixes to verified domains”. Car le domaine AD local n’est pas déclaré coté Azure AD.
Séléctionner uniquement les OU contenant les comptes à synchroniser.
Dans les best practices, les comptes d’administrations On-Premises ne doivent pas être synchronisés ni utilisés pour l’administration des environnements cloud. Privilégier un compte de type cloud only pour l’administration.
Dans cette maquette, il n’y a qu’une seule forêt. Laisser les ancres par défaut.
Ne pas ajouter de filtre supplémentaire.
Dans un premier temps, ne pas ajouter d’option supplémentaire.
La configuration initiale est terminée, cliquer sur “Install”.
Installation Done !!!
Pour monitorer l’état des synchronisations, il est possible de lancer “Synchronization Service”.
Le premier import depuis AD vers AAD s’est terminé sans erreur.
Une seconde vérification est possible pour la partie synchronisation des mots de passe.
Invoke-ADSyncDiagnostics -PasswordSync
Et voilà l’installation de base d’Azure AD Connect avec une gestion plus fine des droits est terminée.
Avec cette méthode, qui n’est pas la plus simple certes, les droits d’accès sont limités au maximum point de vue LDAP.
Il est important de savoir que pour toute modification de fonctionnalité Azure AD Connect, des ACL supplémentaires peuvent être nécessaires. Il est en est de même pour ajouter une nouvelle OU à la synchronisation.
Résultat cêté Azure AD
Du côté d’Azure AD, nous pouvons noté deux points importants.
La création d’un compte de service dans la liste des utilisateurs Azure AD.
Il est repéré sous le nom : “On-Premises Directory Synchronization Service Account”
L’UPN de ce compte est sous la forme : Sync_AADC01_f72a3d59b797@domain.onmicrosoft.com
Dans l’UPN, nous pouvons remarquer que celui-ci contient le nom du serveur AADC. Ce qui est intéressant pour retrouver le server AADC et faire du nettoyage de compte suite à une migration.
Le second point important est la présence dans Azure AD des utilisateurs synchronisés depuis Active Directory.
L’identification de ces utilisateurs est possible via le flag “Directory synced” positionné à “Yes”.
Point de vue UPN de ces comptes deux possibilités :
- UPN du domaine déclaré dans les suffixes DNS. Penser à modifier les UNP des utilisateurs locaux.
- UNP du domaine “onmicrosoft.com”si l’UNP de l’utilisateur n’ pas été modifié et n’est pas aligné avec les domaines déclarés dans Azure AD.
Microsoft met à disposition un outil permettant d’aligner les informations de vos utilisateurs locaux avec Azure AD (IDFix) :
Liens annexes
- https://docs.microsoft.com/fr-fr/azure/active-directory/hybrid/how-to-connect-configure-ad-ds-connector-account
- https://docs.microsoft.com/fr-fr/azure/active-directory/hybrid/reference-connect-adsyncconfig
- https://docs.microsoft.com/en-us/azure/active-directory/hybrid/reference-connect-version-history
- https://docs.microsoft.com/en-us/azure/active-directory/hybrid/reference-connect-tls-enforcement
- https://docs.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-install-prerequisites
- https://github.com/microsoft/idfix