Jean-Sébastien DUCHENE Blog's

Actualité, Tips, Articles sur l'ensemble des Technologies Microsoft (Microsoft Intune, ConfigMgr, Microsoft Defender, Microsoft Purview, Microsoft Azure, Windows...)

Avec la mobilité, le télétravail, et les services dans le Cloud, on parle de plus en plus d’identité Cloud. Nombreuses sont les entreprises qui utilisent un fournisseur d’Identity as a Service (IDaaS). C’est le fer de lance de Microsoft qui propose Azure Active Directory, l’annuaire dans le Cloud qui constitue la base de tous les services Cloud (Office 365, Microsoft Intune, etc.). Jusqu’alors les questions autour de ce service se posaient avec Office 365 qui engendrait l’usage d’Azure Active Directory (Edition Basic) pour les entreprises qui souscrivaient au service.

Avec l’augmentation des services Cloud, Azure Active Directory constitue une pierre angulaire qui touche aujourd’hui une autre brique essentielle : Le poste de travail. Avec l’arrivé de Windows 10, il est désormais possible de joindre une machine à Azure Active Directory en lieu et place d’Active Directory. Cela signifie que la relation de confiance se fait avec l’annuaire dans le Cloud offrant du SSO pour les services associés. Dans le même temps, ce scénario permet plus facilement la mobilité, le télétravail et la souplesse de la gestion qui s’en voit modernisée.

Dans les prochains mois, les entreprises vont se mettre à hybrider l’identité de manière à permettre les scénarios croisés suivants :

  • Machines jointes à Azure Active Directory d’accéder aux ressources internes : serveurs de fichiers, applications internes, etc.
  • Machines jointes à Active Directory d’accéder aux ressources Cloud avec du Single Sign-On (Office 365, etc.) mais aussi à fournir des fonctionnalités supplémentaires comme l’accès conditionnel, le Co-Management, etc.

L’hybridation est un élément essentiel à planifier dans l’évolution du Service Informatique de manière à offrir une expérience utilisateur cohérente. Quelque soit la stratégie d’identité que vous percevez, je vous invite à lire un article très intéressant qui parle du Design : Azure Active Directory Hybrid Identity Design Considerations

L’objet de cet article permet d’aborder les différentes opérations pour réaliser les deux scénarios cités plus haut :

  • Pour permettre à des machines jointes à Azure Active Directory d’accéder aux ressources internes, il faut réécrire les enregistrements créés dans l’annuaire interne : Device Writeback.
    Notez que les enregistrements d’un tenant Azure Active Directory ne peuvent pas être réécrits dans plus forêts.
  • Pour permettre à des machines jointes à Active Directory d’accéder aux ressources Cloud avec du Single Sign-On (Office 365, etc.), il faut qu’elles s’enregistrent dans Azure Active Directory. C’est ce qu’on appelle la jointure hybride Azure AD (Hybrid Azure AD Join) ou anciennement Domain Join++ (DJ++).

On distingue un troisième scénario que l’on appelle Azure AD registered (ou anciennement Workplace Join) et qui concerne les périphériques Bring Your Own Device (BYOD) et donc non joints à Active Directory ou Azure Active Directory. Ceci peut concerner donc les périphériques iOS, Android ou Windows 10 où un compte Azure Active Directory a été ajouté à un des services Cloud utilisés localement (Office 365, Microsoft Intune). Dans le cas de Windows 10, cela correspond à l’ajout du compte Azure Active Directory comme compte du système.

Note : Ces scénarios s’appliquent quelque soit le mode d’authentification utilisé : Synchronisé, Fédéré (via Active Directory Federation Services ou d’autres services) ou via l’authentification Pass-Through.

Si vous souhaitez en apprendre plus sur les mécanismes d’authentification présents derrière l’hybridation, je vous invite à regarder l’excellente vidéo de Jairo Cadena (PM Identity – Microsoft) à l’occasion du Microsoft Ignite 2016 : Join your Windows 10 devices to Azure AD for anywhere, anytime productivity

 

Prérequis généraux

Cet article part du principe que vous avez installé ou configuré un certain nombre de prérequis comme :

  • Un annuaire Active Directory On-Premises. Selon la configuration de votre annuaire (une ou plusieurs forêts), les opérations qui suivent peuvent diverger.
  • Un tenant Azure Active Directory.
    • Scénario Device Writeback : Ceci requiert l’édition Premium (P1 ou P2) d’Azure Active Directory.
    • Scénario Azure AD Hybrid Join : Vous pouvez l’utiliser sous toutes les formes: Au travers d’Office 365, Azure Active Directory Free, Basic ou Premium (P1 ou P2).
  • Azure AD Connect permettant la synchronisation d’une partie de votre annuaire dans l’annuaire dans le Cloud Azure Active Directory. Vous devez à minima synchroniser les utilisateurs. Pour plus d’informations sur son installation, rendez-vous sur : Integrate your on-premises directories with Azure Active Directory.
  • Windows 10 1511 ou ultérieur. Microsoft recommande l’usage de Windows 10 1803 avec KB4489894 pour éviter les états dupliqués.

Rappel : Active Directory Federation Services (AD FS) n’est pas nécessaire puisque les scénarios sont aussi valables pour des identités avec synchronisation du mot de passe ou authentification Pass-Through.

L’article suivant ne s’applique qu’avec des contrôleurs de domaine Windows Server 2008 R2 ou plus. Pour des contrôleurs de domaine de versions antérieures, vous devez utiliser des scripts dédiés.

 

Afin de permettre le second scénario, assurez-vous que vous autorisez la jointure à Azure Active Directory. Pour cela, ouvrez le portail Azure Active Directory avec un compte Global Administrator du tenant. Puis naviguez dans Azure Active Directory – Devices – Device settings. Validez que l’option Users may join devices to Azure AD est soit sur All soit sur Selected avec un groupe d’utilisateurs qui feront l’objet de votre démarche d’hybridation.

Pour le premier scénario, vous devez vous assurer que l’option Users may register their devices with Azure AD est à All. L’option peut être grisée sur cette option si vous utilisez des services Cloud tels que Microsoft Intune ou Office 365. En effet, cette option constitue un prérequis.

 

Configuration de l’hybridation Azure AD vers Active Directory (Device Writeback)

Commencez par valider que vous disposez bien de l’abonnement à Azure AD Premium (P1 ou P2) ou Enterprise Mobility + Security (EMS) ou Microsoft 365.

La première étape consiste à préparer Active Directory en procédant à l’extension du schéma nécessaire.

Sur la machine où vous avez installé Azure AD Connect, vous devez installer la fonctionnalité Remote Server Administration Tools for AD DS. Vous pouvez le faire via PowerShell: Add-WindowsFeature RSAT-AD-Tools.

Validez ensuite que le module PowerShell Azure Active Directory est installé. Dans le cas contraire, vous pouvez le télécharger et l’installer.

Identifiez ensuite le compte utilisé pour exécuter Azure AD Connect en ouvrant la console des services sur le serveur. Cherchez le service Microsoft Azure AD Sync :

L’étape qui suit procède à l’extension de schéma, suivez votre procédure interne pour cette action. Lancez PowerShell en tant qu’enterprise admin et exécutez la commande suivante :

Import-Module 'C:\Program Files\Microsoft Azure Active Directory Connect\AdPrep\AdSyncPrep.psm1'

Initialize-ADSyncDeviceWriteback –DomainName <NOM DE DOMAINE INTERNE utilisé pour stocker les objets> -AdConnectorAccount <NOM DU COMPTE UTILISATEUR QUI EXECUTE LE SERVICE AAD CONNECT>

Une fois la commande exécutée, vous pouvez valider l’apparition d’un conteneur RegisteredDevices dans l’arborescence de votre annuaire. La commande a aussi spécifier les permissions adéquates pour le compte qui exécute le connecteur Azure Active Directory :

 

Via ADSIEdit, vous pouvez aussi valider la création du conteneur Device Registration Services dans la partition de configuration puis Services :

 

Lancez ensuite l’assistant Microsoft Azure Active Directory Connect et cliquez sur Configure.

 

Sur l’écran suivant, sélectionnez la tâche Customize synchronizaiton options puis entrez les identifiants d’un administrateur global du tenant.

 

Passez l’écran Connect Directories dans la mesure où cette opération a déjà été réalisée lorsque vous avez installé Azure AD Connect.

 

Sur l’écran Domain/OU Filtering, vous pouvez noter que le conteneur RegisteredDevices a été automatiquement coché pour signifier la synchronisation des objets Azure AD.

 

Sur l’écran Optional features, cochez la case Device writeback.

Note: Si la case est grisée, cela signifie que les permissions du compte de service qui exécute Azure AD Connect n’ont pas correctement été configurée sur les conteneurs.

 

Spécifiez la forêt dans laquelle réécrire les enregistrements associés au tenant. En effet comme expliqué dans l’introduction, il n’est possible de réécrire les périphériques que dans une seule forêt excepté si vous synchronisez plusieurs tenants Azure AD.

Enfin terminez l’assistant en cliquant sur Configure pour lancer la synchronisation puis Exit.

 

Après quelques minutes, des enregistrements de type msDS-Device apparaissent dans le conteneur Registered Devices.

Dès lors les machines jointes à Azure Active Directory peuvent accéder aux ressources internes sans avoir à renseigner leurs identifiants à nouveau. Les enregistrements sont créés sur l’annuaire On-Premises en fonction de l’intervalle de synchronisation d’Azure AD Connect.
Pour la suite, je vous invite à lire la suite de l’article ou à passer à la gestion du cycle de vie des enregistrements.

 

Configuration de l’hybridation Active Directory vers Azure AD (Azure AD Hybrid Join)

L’article ne traite pas de la mise en œuvre pour des périphériques équipés avec des systèmes d’exploitation inférieurs à Windows 10 (Ex : Windows 7 ou Windows 8.1). Dans ce cas, vous devez suivre des actions supplémentaires.

La première étape consiste à configurer le Service Connection Point (SCP) sur votre forêt. Ce dernier est utilisé par les machines pour découvrir les informations sur le tenant Azure Active Directory. Ces informations sont nécessaires pour l’enregistrement et sont présentes dans la partition de configuration. Vous pouvez utiliser ADSIEdit pour vérifier si le conteneur est présent dans Configuration – Services – Device Registration Configuration.

Note : La création du SCP est faite automatiquement lors de l’installation d’Azure AD Connect en mode Express avec un compte enterprise admin.

Si ce n’est pas le cas, vous devez préparer la forêt Active Directory en procédant à l’extension du schéma nécessaire.

Sur la machine où vous avez installé Azure AD Connect, vous devez installer la fonctionnalité Remote Server Administration Tools for AD DS. Vous pouvez le faire via PowerShell: Add-WindowsFeature RSAT-AD-Tools.

Validez ensuite que le module PowerShell Azure Active Directory est installé. Dans le cas contraire, vous pouvez le télécharger et l’installer.

Identifiez ensuite le compte utilisé pour exécuter Azure AD Connect en ouvrant la console des services sur le serveur. Cherchez le service Microsoft Azure AD Sync :

 

L’étape qui suit procède à l’extension de schéma, suivez votre procédure interne pour cette action. Lancez PowerShell en tant qu’enterprise admin et exécutez la commande suivante :

Import-Module 'C:\Program Files\Microsoft Azure Active Directory Connect\AdPrep\AdSyncPrep.psm1'

Initialize-ADSyncDomainJoinedComputerSync  -AdConnectorAccount <NOM DU COMPTE UTILISATEUR QUI EXECUTE LE SERVICE AAD CONNECT>

Spécifiez un compte administrateur global du tenant.

Note : L’opération doit être réalisée sur toutes les forêts que vous pouvez procéder.

 

Une fois la commande exécutée, vous pouvez valider la création du conteneur Device Registration Condiguration dans la partition de configuration via ADSIEdit ainsi que les permissions nécessaires au compte qui exécute Azure AD Connect :

Vous devez valider que les conteneurs contenant les enregistrements des machines jointes à Active Directory qui s’enregistreront à Azure Active Directory, sont synchronisés par Azure AD Connect. Ceci permet d’assurer un enregistrement optimal mais aussi la gestion du cycle de vie des enregistrements. Pour cela, vous devez lancer l’assistant Microsoft Azure Active Directory Connect.

 

L’étape suivante ne concerne que les environnements fédérés avec un outil tels qu’Active Directory Federation Services (AD DS). Vous devez créer les émissions de revendications ou Claims. Ceci permet aux périphériques de s’authentifier pour obtenir un token d’accès pour s’enregistrer sur le service Azure Active Directory Device Registration Service (Azure DRS).

Avec AD FS, vous devez valider que les Endpoints adfs/services/trust/13/windowstransport ou adfs/services/trust/2005/windowstransport sont activés.

Voici un script à exécuter pour procéder à la création des règles de transformation d’émission AD FS :

$multipleVerifiedDomainNames = $false
$immutableIDAlreadyIssuedforUsers = $false
$oneOfVerifiedDomainNames = 'example.com'   # Replace example.com with one of your verified domains

$rule1 = '@RuleName = "Issue account type for domain-joined computers"
c:[
    Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
    Value =~ "-515$",
    Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"
]
=> issue(
    Type = "http://schemas.microsoft.com/ws/2012/01/accounttype",
    Value = "DJ"
);'

$rule2 = '@RuleName = "Issue object GUID for domain-joined computers"
c1:[
    Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
    Value =~ "-515$",
    Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"
]
&&
c2:[
    Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname",
    Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"
]
=> issue(
    store = "Active Directory",
    types = ("http://schemas.microsoft.com/identity/claims/onpremobjectguid"),
    query = ";objectguid;{0}",
    param = c2.Value
);'

$rule3 = '@RuleName = "Issue objectSID for domain-joined computers"
c1:[
    Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
    Value =~ "-515$",
    Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"
]
&&
c2:[
    Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid",
    Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"
]
=> issue(claim = c2);'

$rule4 = ''
if ($multipleVerifiedDomainNames -eq $true) {
$rule4 = '@RuleName = "Issue account type with the value User when it is not a computer"
NOT EXISTS(
[
    Type == "http://schemas.microsoft.com/ws/2012/01/accounttype",
    Value == "DJ"
]
)
=> add(
    Type = "http://schemas.microsoft.com/ws/2012/01/accounttype",
    Value = "User"
);

@RuleName = "Capture UPN when AccountType is User and issue the IssuerID"
c1:[
    Type == "http://schemas.xmlsoap.org/claims/UPN"
]
&&
c2:[
    Type == "http://schemas.microsoft.com/ws/2012/01/accounttype",
    Value == "User"
]
=> issue(
    Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid",
    Value = regexreplace(
    c1.Value,
    ".+@(?<domain>.+)",
    "http://${domain}/adfs/services/trust/"
    )
);

@RuleName = "Issue issuerID for domain-joined computers"
c:[
    Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
    Value =~ "-515$",
    Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"
]
=> issue(
    Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid",
    Value = "http://' + $oneOfVerifiedDomainNames + '/adfs/services/trust/"
);'
}

$rule5 = ''
if ($immutableIDAlreadyIssuedforUsers -eq $true) {
$rule5 = '@RuleName = "Issue ImmutableID for computers"
c1:[
    Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
    Value =~ "-515$",
    Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"
]
&&
c2:[
    Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname",
    Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"
]
=> issue(
    store = "Active Directory",
    types = ("http://schemas.microsoft.com/LiveID/Federation/2008/05/ImmutableID"),
    query = ";objectguid;{0}",
    param = c2.Value
);'
}

$existingRules = (Get-ADFSRelyingPartyTrust -Identifier urn:federation:MicrosoftOnline).IssuanceTransformRules

$updatedRules = $existingRules + $rule1 + $rule2 + $rule3 + $rule4 + $rule5

$crSet = New-ADFSClaimRuleSet -ClaimRule $updatedRules

Set-AdfsRelyingPartyTrust -TargetIdentifier urn:federation:MicrosoftOnline -IssuanceTransformRules $crSet.ClaimRulesString

Note : La création des règles de transformation d’émission est faite automatiquement lors de l’installation d’Azure AD Connect en mode Express ou Custom.

Une fois ces opérations réalisées, les périphériques joints au domaine peuvent s’enregistrer à Azure Active Directory. Les comportements suivants sont observés :

  • Pour Windows 10 1607 (Anniversary Update) ou plus, l’enregistrement s’effectue automatiquement lorsque le périphérique démarre ou lorsqu’un utilisateur se connecte.
  • Les périphériques Windows 10 1511 joigne automatiquement si la stratégie de groupe (GPO) ou la stratégie du client ConfigMgr est configurée.
  • Pour les clients inférieurs à Windows 10, vous devez déployer le package dédié.

Pour plus d’informations, je vous invite à lire : How to configure hybrid Azure Active Directory joined devices.

 

La dernière étape consiste à inciter les machines à s’enregistrer. Ceci peut se faire par GPO, System Center Configuration Manager ou manuellement.

Vous pouvez créer la GPO qui permet de forcer l’enregistrement. Pour rappel avec Windows 10 1607, l’opération a lieu automatiquement.

Vous devrez peut-être intégrer les ADMX de Windows 10 dans votre store afin de pouvoir éditer ce nouveau paramètre de GPO.

Ouvrez une GPO existante ou procédez à la création d’un GPO. Naviguez ensuite dans Computer Configuration > Policies > Administrative Templates > Windows Components > Device Registration. Passez le paramètre Register domain joined computers as devices à Enabled.

 

Avec System Center Configuration Manager, créez ou ouvrez une stratégie cliente existante. Naviguez dans Cloud Services et validez que le paramètre Automatically register new Windows 10 domain joined devices with Azure Active Directory est à Yes. Déployez la stratégie sur une collection comprenant vos machines Windows 10 si ce n’est pas déjà fait.

 

Vous pouvez aussi joindre manuellement une machine en utilisant la commande dsregcmd /join. Cette dernière doit être exécutée en tant qu’administrateur.

Cette même commande permet aussi de consulter d’enregistrement d’une machine : dsregcmd /status

 

Gestion du cycle de vie des enregistrements

Une fois que vous avez activé la création des enregistrements dans les deux annuaires, la question du cycle de vie se pose ! Et bien entendu la réponse se situe au niveau d’Azure AD Connect. Il est ensuite nécessaire de savoir quelle source est maintenue à jour ? Azure Active Directory ou Active Directory ?

Lorsque les enregistrements Azure Active Directory est réécrit dans le conteneur RegisteredDevices dans Active Directory, l’identifiant est utilisé comme nom. Vous pouvez obtenir plus de détails en ouvrant la liste des attributs :

  • msDS-DeviceID correspond à l’identifiant unique dans Azure Active Directory. Ce dernier est aussi présent dans le cn.
  • displayName contient le véritable nom de la ressource.
  • msDS-DeviceOSType correspond au type de système d’exploitation (Windows, iOS, etc.)
  • msDS-DeviceOSVersion correspond à la version du système d’exploitation.
  • msDS-IsCompliant comprend l’état de conformité de l’enregistrement dans Azure Active Directory.
  • msDS-IsEnabled comprend l’état de l’enregistrement dans Azure Active Directory.
  • msDS-IsManaged comprend l’état de gestion (MDM) du périphérique dans Azure Active Directory.

 

On retrouve ces éléments dans le portail Azure Active Directory au niveau de la vue du périphérique :

 

Il est notamment possible de désactiver ou supprimer l’enregistrement. Ces actions lorsqu’elles sont réalisées sont répercutées dans l’annuaire interne par Azure AD Connect :

 

Il en est bien entendu de même pour les machines jointes au domaine Active Directory qui se sont enregistrées dans Azure Active Directory :

 Il est donc possible de réaliser ces opérations des deux côtés pour qu’elles se répercutent sur l’autre extrémité.

 

Dépannage

On retrouve différents moyens de dépanner les problèmes liés à l’hybridation :

  • Sur les machines concernées, vous retrouvez des fichiers de journalisation avec notamment :
    • Applications and Services Logs – Microsoft – Windows – AAD
    • Applications and Services Logs – Microsoft – Windows – User Device Registration
  • Sur le composant Azure AD Connect, vous retrouvez :
    • Windows – Application avec la source Directory Synchronization
  • Sur les différents composants Azure AD Connect et Active Directory Federation Services, vous retrouvez :
    • Applications and Services Logs - AD FS
Facebook Like