Introduction

Lorsque tu synchronises tes objets Active Directory vers Entra ID, il arrive qu’un attribut ne soit plus utile ou contienne une valeur devenue obsolète.

Le réflexe naturel est alors de vouloir le modifier ou le supprimer directement dans le cloud, que ce soit via le portail Entra ou via PowerShell.

Problème : pour les objets synchronisés depuis AD, Entra ID refuse ce type de modification et renvoie une erreur liée à la synchronisation.

Cet article t’explique comment remettre correctement un attribut à null via Entra Connect Sync.

💡
Note : cet article ne couvre pas le fait qu'un objet soit géré depuis Entra ID via la nouvelle fonctionnalité de changement de source d'autorité (source of authority) https://learn.microsoft.com/en-us/entra/identity/hybrid/user-source-of-authority-guidance

Modification d'un attribut depuis Entra ID d'un objet synchronisé

Lorsqu’un objet utilisateur est synchronisé depuis Active Directory, certaines de ses propriétés sont marquées comme synchronisées dans Entra ID.

Concrètement, cela signifie que :

  • La source d’autorité est Active Directory, pas Entra ID.
  • Toute tentative de modification directe dans Entra ID sera refusée.
  • Les mises à jour doivent passer par le connecteur de synchronisation (Entra Connect Sync / Azure AD Connect).

Si tu essaies malgré tout de changer un attribut dans Entra ID (par exemple via Update-MgUser en PowerShell), tu obtiens le message d’erreur :

Unable to update the specified properties for on-premises mastered Directory Sync objects or objects currently undergoing migration.

La logique ici est simple : tant que l’attribut est considéré comme synchronisé, Entra ID attend que la mise à jour vienne d’Active Directory via le moteur de synchronisation, pas depuis le cloud.

Définir la valeur null sur un attribut synchronisé

Fonctionnement

Pour remettre un attribut à null dans un scénario de synchronisation, Entra Connect Sync met à disposition une fonctionnalité spécifique : l’expression AuthoritativeNull.

AuthoritativeNull est une valeur spéciale utilisée dans les règles de synchronisation. Lorsqu’elle est appliquée à un attribut, elle indique au moteur de synchronisation :

La valeur de cet attribut doit être considérée comme volontairement vide, même si une valeur existe en source.

L’expression s’emploie dans une règle de synchronisation dans Entra Connect Sync.

L’idée générale :

  • Tu identifies les objets et/ou les conditions pour lesquels l’attribut doit être remis à null.
  • Dans la transformation de l’attribut ciblé, tu utilises AuthoritativeNull comme valeur de sortie lorsque la condition est remplie.

À la prochaine exécution de la synchronisation, le moteur :

  • appliquera AuthoritativeNull à l’attribut ;
  • propagera cette remise à zéro dans Entra ID.

Selon ton scénario, cela peut être mis en inbound ou en outbound :

  • Inbound (AuthoritativeNull en règle entrante)
    • L’attribut est mis à null dès l’entrée dans le metaverse (metaverse = zone de stockage qui contient les informations agrégées provenant de plusieurs sources de données connectées, offrant une vue globale et intégrée unique de tous les objets combinés).
    • Pour cet attribut, le metaverse considère que la valeur de référence est vide.
    • Toutes les règles outbound qui s’appuient sur cet attribut verront aussi null.
    • Intéressant si tu veux que l’attribut soit supprimé fonctionnellement partout (toutes cibles connectées).
  • Outbound (AuthoritativeNull en règle sortante vers Entra ID)
    • Le metaverse peut encore conserver une valeur pour l’attribut.
    • Tu forces la valeur null uniquement côté Entra ID à la sortie.
    • Utile si d’autres systèmes consomment encore cet attribut mais que tu ne veux plus qu’il soit exposé dans Entra ID uniquement.

Créer une règle de synchronisation pour supprimer la valeur d'un attribut

Dans mon exemple, j'utilise une règle de type inbound.

Ouvrir Synchronization Rules Editor.

Vérifier que Direction = Inbound puis cliquer sur Add New Rule.

Remplir comme sur la capture et définir une valeur de precedence inférieure à 100.

Le Connected system est votre Active Directory.

Scoping filter : saisis un filtre si nécessaire. Dans mon exemple, je n'en configure aucun, ce qui signifie que tous les objets utilisateurs synchronisés seront impactés.

Join Rules : laisser vide.

Transformation :

  • FlowType : Expression
  • TargetAttribute : <choisis ton attribut>
  • Source : AuthoritativeNull

Clique sur Add.

Un message apparait indiquant qu'il y aura une synchronisation complète du connecteur AD lors de la prochaine synchronisation. Ce message est juste informatif.

A la prochaine synchronisation automatique, l'attribut sera supprimé.

Dans la tâche Export xxx.onmicrosoft.com - AAD, tu peux voir que l'attribut est supprimé. Il l'est également dans Entra ID.

Comments

banner-Bastien Perez
Bastien Perez's avatar

Freelance Microsoft 365 - Active Directory - Modern Workplace

France