Sincronizzazione delle identità e resilienza degli attributi duplicatiIdentity synchronization and duplicate attribute resiliency

La resilienza degli attributi duplicati è una funzionalità di Azure Active Directory che consente di eliminare i problemi causati dai conflitti tra UserPrincipalName e ProxyAddress durante l'esecuzione di uno degli strumenti di sincronizzazione di Microsoft.Duplicate Attribute Resiliency is a feature in Azure Active Directory that will eliminate friction caused by UserPrincipalName and ProxyAddress conflicts when running one of Microsoft’s synchronization tools.

In genere questi due attributi devono essere univoci in tutti gli oggetti User, Group o Contact di un tenant di Azure Active Directory specificato.These two attributes are generally required to be unique across all User, Group, or Contact objects in a given Azure Active Directory tenant.

Nota

Solo gli oggetti User possono avere UPN.Only Users can have UPNs.

Il nuovo comportamento abilitato da questa funzionalità si trova nella parte cloud della pipeline di sincronizzazione, quindi è indipendente dal client e rilevante per qualsiasi prodotto di sincronizzazione di Microsoft, tra cui Azure AD Connect, DirSync e i connettori di tipo MIM.The new behavior that this feature enables is in the cloud portion of the sync pipeline, therefore it is client agnostic and relevant for any Microsoft synchronization product including Azure AD Connect, DirSync and MIM + Connector. In questo documento si usa il termine generico "client di sincronizzazione" per rappresentare uno qualsiasi di questi prodotti.The generic term “sync client” is used in this document to represent any one of these products.

Comportamento attualeCurrent behavior

Se viene eseguito un tentativo di effettuare il provisioning di un nuovo oggetto con un valore UPN o ProxyAddress che viola il vincolo di univocità, Azure Active Directory blocca la creazione di tale oggetto.If there is an attempt to provision a new object with a UPN or ProxyAddress value that violates this uniqueness constraint, Azure Active Directory blocks that object from being created. Analogamente, se un oggetto viene aggiornato con un valore UPN o ProxyAddress non univoco, l'aggiornamento non riesce.Similarly, if an object is updated with a non-unique UPN or ProxyAddress, the update fails. Il tentativo di provisioning o aggiornamento viene ripetuto dal client di sincronizzazione a ogni ciclo di esportazione e continua a non riuscire fino a quando il conflitto non viene risolto.The provisioning attempt or update is retried by the sync client upon each export cycle, and continues to fail until the conflict is resolved. A ogni tentativo viene generato un messaggio di posta elettronica di segnalazione dell'errore e il client di sincronizzazione registra un errore.An error report email is generated upon each attempt and an error is logged by the sync client.

Comportamento con resilienza degli attributi duplicatiBehavior with Duplicate Attribute Resiliency

Invece di causare un errore di provisioning o di aggiornamento di un oggetto a causa di un attributo duplicato, Azure Active Directory "mette in quarantena" l'attributo duplicato che violerebbe il vincolo di univocità.Instead of completely failing to provision or update an object with a duplicate attribute, Azure Active Directory “quarantines” the duplicate attribute which would violate the uniqueness constraint. Se questo attributo è obbligatorio per il provisioning, ad esempio UserPrincipalName, il servizio assegna un valore segnaposto.If this attribute is required for provisioning, like UserPrincipalName, the service assigns a placeholder value. Il formato di questi valori temporanei èThe format of these temporary values is
+<4DigitNumber>@.onmicrosoft.com”.+<4DigitNumber>@.onmicrosoft.com”.
Se l'attributo non è obbligatorio, ad esempio ProxyAddress, Azure Active Directory mette semplicemente in quarantena l'attributo in conflitto e procede alla creazione o all'aggiornamento dell'oggetto.If the attribute is not required, like a ProxyAddress, Azure Active Directory simply quarantines the conflict attribute and proceeds with the object creation or update.

Dopo aver messo in quarantena l'attributo, vengono inviate informazioni sul conflitto nello stesso messaggio di posta elettronica di segnalazione dell'errore usato nel comportamento precedente.Upon quarantining the attribute, information about the conflict is sent in the same error report email used in the old behavior. Queste informazioni vengono però visualizzate nella segnalazione dell'errore una sola volta, al momento dell'inserimento in quarantena, e non continuano a essere registrate nei messaggi di posta elettronica futuri.However, this info only appears in the error report one time, when the quarantine happens, it does not continue to be logged in future emails. Poiché l'esportazione di questo oggetto è riuscita, il client di sincronizzazione non registra un errore e non prova a ripetere l'operazione di creazione o aggiornamento nei cicli di sincronizzazione successivi.Also, since the export for this object has succeeded, the sync client does not log an error and does not retry the create / update operation upon subsequent sync cycles.

Per supportare questo comportamento è stato aggiunto un nuovo attributo alle classi di oggetti User, Group e Contact: To support this behavior a new attribute has been added to the User, Group, and Contact object classes:
DirSyncProvisioningErrorsDirSyncProvisioningErrors

Questo è un attributo multivalore usato per archiviare gli attributi in conflitto che violerebbero il vincolo di univocità se fossero aggiunti normalmente.This is a multi-valued attribute that is used to store the conflicting attributes that would violate the uniqueness constraint should they be added normally. In Azure Active Directory è stata abilitata un'attività timer in background eseguita ogni ora per la ricerca dei conflitti già risolti di attributi duplicati, che vengono quindi rimossi automaticamente dalla quarantena.A background timer task has been enabled in Azure Active Directory that runs every hour to look for duplicate attribute conflicts that have been resolved, and automatically removes the attributes in question from quarantine.

Abilitazione della resilienza degli attributi duplicatiEnabling Duplicate Attribute Resiliency

Il nuovo comportamento predefinito tra tutti i tenant di Azure Active Directory prevede la resilienza degli attributi duplicati.Duplicate Attribute Resiliency will be the new default behavior across all Azure Active Directory tenants. Per impostazione predefinita, tale comportamento sarà attivato per tutti i tenant con prima sincronizzazione abilitata a partire dal 22 agosto 2016.It will be on by default for all tenants that enabled synchronization for the first time on August 22nd, 2016 or later. Per i tenant in cui la sincronizzazione è stata abilitata prima di questa data, la funzionalità è abilitata in batch.Tenants that enabled sync prior to this date will have the feature enabled in batches. L'avvio di questa implementazione è previsto per settembre 2016 e ogni contatto per le notifiche tecniche riceverà un messaggio di posta elettronica con la data specifica in cui la funzionalità verrà abilitata.This rollout will begin in September 2016, and an email notification will be sent to each tenant's technical notification contact with the specific date when the feature will be enabled.

Nota

Dopo che è stata attivata, la resilienza degli attributi duplicati non può essere disabilitata.Once Duplicate Attribute Resiliency has been turned on it cannot be disabled.

Per verificare se la funzionalità è abilitata per il tenant, è possibile scaricare la versione più recente del modulo Azure Active Directory PowerShell ed eseguire i comandi seguenti:To check if the feature is enabled for your tenant, you can do so by downloading the latest version of the Azure Active Directory PowerShell module and running:

Get-MsolDirSyncFeatures -Feature DuplicateUPNResiliency

Get-MsolDirSyncFeatures -Feature DuplicateProxyAddressResiliency

Nota

Non è più possibile usare il cmdlet Set-MsolDirSyncFeature per abilitare proattivamente la funzionalità Resilienza degli attributi duplicati prima che sia attivata per il tenant.You can no longer use Set-MsolDirSyncFeature cmdlet to proactively enable the Duplicate Attribute Resiliency feature before it is turned on for your tenant. Per poter testare la funzionalità, è necessario creare un nuovo tenant di Azure Active Directory.To be able to test the feature, you will need to create a new Azure Active Directory tenant.

Identificazione di oggetti con DirSyncProvisioningErrorsIdentifying Objects with DirSyncProvisioningErrors

Attualmente sono disponibili due metodi per identificare gli oggetti che presentano questi errori a causa di conflitti di proprietà duplicati, ovvero Azure Active Directory PowerShell e il portale di amministrazione di Office 365.There are currently two methods to identify objects that have these errors due to duplicate property conflicts, Azure Active Directory PowerShell and the Office 365 Admin Portal. In futuro è prevista l'estensione ad altri portali in base alle segnalazioni.There are plans to extend to additional portal based reporting in the future.

Azure Active Directory PowerShellAzure Active Directory PowerShell

Per i cmdlet di PowerShell in questo argomento si applicano le condizioni seguenti:For the PowerShell cmdlets in this topic, the following is true:

  • Tutti i cmdlet seguenti fanno distinzione tra maiuscole e minuscole.All of the following cmdlets are case sensitive.
  • È necessario includere sempre –ErrorCategory PropertyConflict .The –ErrorCategory PropertyConflict must always be included. Non sono attualmente disponibili altri tipi di ErrorCategory, ma potrebbero essere estesi in futuro.There are currently no other types of ErrorCategory, but this may be extended in the future.

Per iniziare, eseguire prima di tutto Connect-MsolService e immettere le credenziali di amministratore tenant.First, get started by running Connect-MsolService and entering credentials for a tenant administrator.

Usare quindi i cmdlet e gli operatori seguenti per visualizzare gli errori in modi diversi:Then, use the following cmdlets and operators to view errors in different ways:

  1. Visualizzare tuttoSee All
  2. Per tipo di proprietàBy Property Type
  3. Per valore in conflittoBy Conflicting Value
  4. Tramite una stringa di ricercaUsing a String Search
  5. OrdinatiSorted
  6. Una quantità limitata o tuttiIn a Limited Quantity or All

Visualizzare tuttoSee all

Una volta connessi, per visualizzare un elenco generale di errori di provisioning degli attributi nel tenant, eseguire:Once connected, to see a general list of attribute provisioning errors in the tenant run:

Get-MsolDirSyncProvisioningError -ErrorCategory PropertyConflict

Viene generato un risultato simile al seguente: This produces a result like the following:
Get-MsolDirSyncProvisioningErrorGet-MsolDirSyncProvisioningError

Per tipo di proprietàBy property type

Per visualizzare gli errori per tipo di proprietà, aggiungere il flag -PropertyName con l'argomento UserPrincipalName o ProxyAddresses:To see errors by property type, add the -PropertyName flag with the UserPrincipalName or ProxyAddresses argument:

Get-MsolDirSyncProvisioningError -ErrorCategory PropertyConflict -PropertyName UserPrincipalName

OrOr

Get-MsolDirSyncProvisioningError -ErrorCategory PropertyConflict -PropertyName ProxyAddresses

Per valore in conflittoBy conflicting value

Per visualizzare gli errori relativi a una proprietà specifica, aggiungere il flag -PropertyValue. Quando si aggiunge questo flag, è necessario usare anche -PropertyName:To see errors relating to a specific property add the -PropertyValue flag (-PropertyName must be used as well when adding this flag):

Get-MsolDirSyncProvisioningError -ErrorCategory PropertyConflict -PropertyValue User@domain.com -PropertyName UserPrincipalName

Per eseguire una ricerca di stringhe estesa, usare il flag -SearchString .To do a broad string search use the -SearchString flag. Può essere usato separatamente da tutti i flag precedenti, ad eccezione di -ErrorCategory PropertyConflictche è sempre obbligatorio:This can be used independently from all of the above flags, with the exception of -ErrorCategory PropertyConflict, which is always required:

Get-MsolDirSyncProvisioningError -ErrorCategory PropertyConflict -SearchString User

Una quantità limitata o tuttiIn a limited quantity or all

  1. MaxResults può essere usato per limitare la query a un numero di valori specifico.MaxResults can be used to limit the query to a specific number of values.
  2. All può essere usato per garantire il recupero di tutti i risultati nel caso sia presente un numero di errori elevato.All can be used to ensure all results are retrieved in the case that a large number of errors exists.

Get-MsolDirSyncProvisioningError -ErrorCategory PropertyConflict -MaxResults 5

Portale di amministrazione di Office 365Office 365 admin portal

È possibile visualizzare gli errori di sincronizzazione della directory nell'interfaccia di amministrazione di Office 365.You can view directory synchronization errors in the Office 365 admin center. Il report nel portale di Office 365 mostra solo gli oggetti User che contengono questi errori.The report in the Office 365 portal only displays User objects that have these errors. Non vengono visualizzate informazioni sui conflitti tra Gruppi e Contatti.It does not show info about conflicts between Groups and Contacts.

Utenti attiviActive Users

Per istruzioni su come visualizzare gli errori di sincronizzazione della directory nell'interfaccia di amministrazione di Office 365, vedere Identificare gli errori di sincronizzazione della directory in Office 365.For instructions on how to view directory synchronization errors in the Office 365 admin center, see Identify directory synchronization errors in Office 365.

Segnalazione dell'errore di sincronizzazione delle identitàIdentity synchronization error report

Quando un oggetto con un conflitto di attributi duplicati viene gestito con questo nuovo comportamento, nel messaggio di posta elettronica standard di segnalazione dell'errore di sincronizzazione delle identità inviato al contatto per le comunicazioni tecniche del tenant viene inclusa una notifica.When an object with a duplicate attribute conflict is handled with this new behavior a notification is included in the standard Identity Synchronization Error Report email that is sent to the Technical Notification contact for the tenant. Questo comportamento include tuttavia una modifica importante.However, there is an important change in this behavior. In passato le informazioni su un conflitto di attributi duplicati sarebbe stato incluso in tutte le segnalazioni degli errori successive, fino alla risoluzione del conflitto.In the past, information about a duplicate attribute conflict would be included in every subsequent error report until the conflict was resolved. Con questo nuovo comportamento la notifica di errore per un determinato conflitto viene visualizzata solo una volta, nel momento in cui l'attributo in conflitto viene messo in quarantena.With this new behavior, the error notification for a given conflict does only appear once- at the time the conflicting attribute is quarantined.

Di seguito è riportato un esempio dell'aspetto della notifica di posta elettronica per un conflitto relativo a ProxyAddress: Here is an example of what the email notification looks like for a ProxyAddress conflict:
Utenti attiviActive Users

Risoluzione dei conflittiResolving conflicts

La strategia di risoluzione dei problemi e le tattiche per risolvere questi errori non dovranno essere diverse dal modo in cui venivano gestiti in passato gli errori relativi agli attributi duplicati.Troubleshooting strategy and resolution tactics for these errors should not differ from the way duplicate attribute errors were handled in the past. L'unica differenza è che l'attività timer scorre il tenant sul lato del servizio per aggiungere automaticamente l'attributo in questione all'oggetto corretto dopo la risoluzione del conflitto.The only difference is that the timer task sweeps through the tenant on the service-side to automatically add the attribute in question to the proper object once the conflict is resolved.

L'articolo seguente descrive varie strategie di risoluzione dei problemi e degli errori: Gli attributi duplicati o non validi impediscono la sincronizzazione delle directory in Office 365.The following article outlines various troubleshooting and resolution strategies: Duplicate or invalid attributes prevent directory synchronization in Office 365.

Problemi notiKnown issues

Nessuno di questi problemi noti causa perdite di dati o la riduzione delle prestazioni del servizio.None of these known issues causes data loss or service degradation. Alcuni sono di tipo estetico, altri causano la generazione di errori di attributi duplicati di tipo "pre-resilienza" standard invece di mettere in quarantena l'attributo in conflitto e altri ancora causano la richiesta di correzioni manuali aggiuntive per determinati errori.Several of them are aesthetic, others cause standard “pre-resiliency” duplicate attribute errors to be thrown instead of quarantining the conflict attribute, and another causes certain errors to require extra manual fix-up.

Comportamento di base:Core behavior:

  1. Per gli oggetti con configurazioni di attributo specifiche continuano a verificarsi errori di esportazione, diversamente dagli attributi duplicati che vengono messi in quarantena.Objects with specific attribute configurations continue to receive export errors as opposed to the duplicate attribute(s) being quarantined.
    Ad esempio:For example:

    a.a. In AD viene creato un nuovo utente con un UPN Joe@contoso.com e ProxyAddress smtp:Joe@contoso.comNew user is created in AD with a UPN of Joe@contoso.com and ProxyAddress smtp:Joe@contoso.com

    b.b. Le proprietà di questo oggetto sono in conflitto con un gruppo esistente, in cui ProxyAddress è SMTP:Joe@contoso.com.The properties of this object conflict with an existing Group, where ProxyAddress is SMTP:Joe@contoso.com.

    c.c. Al momento dell'esportazione viene generato un errore per un conflitto di ProxyAddress , invece di mettere in quarantena gli attributi in conflitto.Upon export, a ProxyAddress conflict error is thrown instead of having the conflict attributes quarantined. L'operazione viene ritentata durante ogni ciclo di sincronizzazione successivo, come avveniva prima dell'abilitazione della funzionalità di resilienza.The operation is retried upon each subsequent sync cycle, as it would have been before the resiliency feature was enabled.

  2. Se in locale vengono creati due gruppi con lo stesso indirizzo SMTP, uno non riesce a effettuare il provisioning al primo tentativo, con un errore duplicato ProxyAddress standard.If two Groups are created on-premises with the same SMTP address, one fails to provision on the first attempt with a standard duplicate ProxyAddress error. Il valore duplicato viene tuttavia messo correttamente in quarantena al successivo ciclo di sincronizzazione.However, the duplicate value is properly quarantined upon the next sync cycle.

Report del portale di Office:Office Portal Report:

  1. Il messaggio di errore dettagliato per due oggetti in un set di conflitti UPN è lo stesso.The detailed error message for two objects in a UPN conflict set is the same. Ciò indica che per entrambi l'UPN è stato modificato o messo in quarantena, mentre in realtà i dati sono stati modificati solo per uno di essi.This indicates that they have both had their UPN changed / quarantined, when in fact only a one of them had any data changed.
  2. Il messaggio di errore dettagliato per un conflitto di UPN mostra il valore displayName errato per un utente il cui UPN è stato modificato o messo in quarantena.The detailed error message for a UPN conflict shows the wrong displayName for a user who has had their UPN changed/quarantined. Ad esempio:For example:

    a.a. User A viene sincronizzato prima con UPN = User@contoso.com.User A syncs up first with UPN = User@contoso.com.

    b.b. Viene quindi provata la sincronizzazione di User B con UPN = User@contoso.com.User B is attempted to be synced up next with UPN = User@contoso.com.

    c.c. L'UPN di User B UPN viene modificato in User1234@contoso.onmicrosoft.com e User@contoso.com viene aggiunto a DirSyncProvisioningErrors.User B’s UPN is changed to User1234@contoso.onmicrosoft.com and User@contoso.com is added to DirSyncProvisioningErrors.

    d.d. Il messaggio di errore per User B indicherà che per User A esiste già User@contoso.com come UPN, ma visualizza il valore displayName di User B.The error message for User B should indicate that User A already has User@contoso.com as a UPN, but it shows User B’s own displayName.

Segnalazione dell'errore di sincronizzazione delle identità:Identity synchronization error report:

Il collegamento per i passaggi per risolvere il problema non è corretto:The link for steps on how to resolve this issue is incorrect:
Utenti attiviActive Users

Il collegamento deve puntare a https://aka.ms/duplicateattributeresiliency.It should point to https://aka.ms/duplicateattributeresiliency.

Vedere ancheSee also