Aujourd’hui, je vous propose de voir un exemple concret de règle de synchronisation personnalisée que l’on peut mettre en place pour adapter le comportement de la synchronisation AAD Connect.
Dans l’exemple ci-dessous, nous allons simplement créer une règle pour empêcher la synchronisation de certains objets en fonction d’un attribut particulier dans l’AD.
Introduction
Au sein de mon Active Directory on-prem, je dispose d’une OU avec un petit nombre de comptes utilisateurs de tests que je synchronise avec AAD Connect vers Azure Active Directory.
En temps normal, je ne trie pas forcément. Je synchronise tout le monde. Dans ce cas, j’ai le résultat suivant dans Azure Active Directory. Notez la présence de Darth Maul et Darth Vador pour plus tard.
Mais pour l’exemple, imaginons que l’on souhaite créer une règle pour ne pas synchroniser les utilisateurs dont le nom commence par « Darth« . Et je vais appeler cette règle « Do not sync the bad guys« .
Pour mettre en place cette règle, procédez comme suit… 🙂
Création de la règle dans AAD Connect
Démarrez l’outil Synchronization Rules Editor sur votre serveur AAD Connect.
Ajoutez une nouvelle règle en cliquant sur le bouton Add new rule.
Choisissez un nom et une description pour votre nouvelle règle de synchronisation. Veillez à bien choisir les options suivantes :
- Connected system : le nom de votre Active Directory on-prem
- Connected System Object Type : user
- Metaverse Object Type : person
- Link Type : Join
- Precedence : 50 (on pourrait mettre n’importe quoi d’autre mais une valeur avant 100 permettra de positionner cette règle en première position).
Dans la partie Scoping Filter, choisissez maintenant la condition qui va permettre d’identifier la cible de cette règle. Dans mon cas, je choisi tous les objets utilisateurs qui auront le mot « Darth » dans le champ givenName de l’Active Directory.
Libre à vous de changer cette condition ou voir même d’ajouter plusieurs conditions différentes. Lorsque vous êtes au sein d’un même groupe c’est du AND tandis que entre chaque groupe c’est du OR. Un petit schéma pour mieux expliquer...
Retour à notre règle…
Dans la partie Join rules – nous n’avons rien à faire de particulier. Vous pouvez cliquer sur Next.
C’est dans la partie Transformations que la magie opère… 😉 – C’est avec ce réglage particulier que nous allons dire à l’AAD Connect de ne pas exporter les objets qui entrent dans cette règle.
- FlowType : Constant
- Target Attribute : cloudFiltered
- Source : True
C’est l’association de l’option cloudFiltered et du paramètre True qui va permettre de ne pas envoyer ces objets vers Azure Active Directory (ou bien de les supprimer s’ils avaient déjà été synchronisés par le passé).
Une fois sauvegardée, notre règle se trouve tout en haut de la liste car nous avons choisi une Precedence de 50.
Tester notre nouvelle règle de synchronisation AAD Connect
Il ne nous reste plus qu’à tester en forçant une nouvelle synchronisation. Pour ma part, j’utilise la commande suivante en PowerShell :
Start-ADSyncSyncCycle -PolicyType Initial
Après quelques instants, nous pouvoir voir que les changements ont été pris en compte et que les 2 objets Darth Vader et Darth Maul ont été supprimés.
On peut le voir depuis le Synchronization Manager. On voit que nous avons 2 actions de type Delete. Chaque ligne correspond à un des deux comptes.
Si l’on regarde également dans Azure Active Directory, on voit également que les 2 objets concernés ne sont plus visibles. 🙂
Si vous voulez annuler cette règle, il vous suffit de la supprimer ou bien de la désactiver.
Enfin, sachez que l’AAD Connect repose sur le moteur de synchronisation de FIM/MIM et qu’il offre énormément de possibilités de réglages ! A vous de les découvrir 🙂
Merci à edemilliere pour son excellent script qui permet de générer rapidement des comptes de tests. Plus d’infos en suivant ce lien.