Sincronizzazione di Azure AD Connect: gestione degli errori LargeObject causati dall'attributo userCertificateAzure AD Connect sync: Handling LargeObject errors caused by userCertificate attribute

Azure AD applica un limite massimo di 15 valori del certificato nell'attributo userCertificate.Azure AD enforces a maximum limit of 15 certificate values on the userCertificate attribute. Se Azure AD Connect esporta un oggetto con più di 15 valori in Azure AD, Azure AD restituisce un errore LargeObject con il messaggio:If Azure AD Connect exports an object with more than 15 values to Azure AD, Azure AD returns a LargeObject error with message:

"L'oggetto di cui è stato eseguito il provisioning presenta dimensioni troppo elevate. Ridurre il numero di valori attributo dell'oggetto. L'operazione sarà ritentata durante il successivo ciclo di sincronizzazione....""The provisioned object is too large. Trim the number of attribute values on this object. The operation will be retried in the next synchronization cycle..."

L'errore LargeObject può essere causato da altri attributi di AD.The LargeObject error may be caused by other AD attributes. Per verificare che sia effettivamente causato dall'attributo userCertificate, è necessario confrontarlo con l'oggetto in AD locale o in Ricerca metaverse di Synchronization Service Manager.To confirm it is indeed caused by the userCertificate attribute, you need to verify against the object either in on-premises AD or in the Synchronization Service Manager Metaverse Search.

Per ottenere l'elenco di oggetti nel tenant con gli errori LargeObject, usare uno dei metodi seguenti:To obtain the list of objects in your tenant with LargeObject errors, use one of the following methods:

  • Se il tenant è abilitato per la sincronizzazione di Azure AD Connect Health, è possibile fare riferimento al Report degli errori di sincronizzazione indicato.If your tenant is enabled for Azure AD Connect Health for sync, you can refer to the Synchronization Error Report provided.

  • La notifica tramite posta elettronica relativa agli errori di sincronizzazione della directory inviata alla fine di ogni ciclo di sincronizzazione contiene l'elenco di oggetti con errori LargeObject.The notification email for directory synchronization errors that is sent at the end of each sync cycle has the list of objects with LargeObject errors.

  • La scheda Synchronization Service Manager Operations (Operazioni di Synchronization Service Manager) mostra l'elenco di oggetti con gli errori LargeObject se si sceglie l'esportazione più recente per il funzionamento di Azure AD.The Synchronization Service Manager Operations tab displays the list of objects with LargeObject errors if you click the latest Export to Azure AD operation.

Opzioni di mitigazioneMitigation options

Finché l'errore LargeObject non viene risolto, non è possibile esportare altre modifiche dell'attributo allo stesso oggetto in Azure AD.Until the LargeObject error is resolved, other attribute changes to the same object cannot be exported to Azure AD. Per risolvere l'errore, è possibile considerare le seguenti opzioni:To resolve the error, you can consider the following options:

  • Aggiornare Azure AD Connect alla build 1.1.524.0 o successiva.Upgrade Azure AD Connect to build 1.1.524.0 or after. Nella build 1.1.524.0 di Azure AD Connect, le regole di sincronizzazione predefinite sono state aggiornate in modo da non esportare gli attributi userCertificate e userSMIMECertificate se gli attributi hanno più di 15 valori.In Azure AD Connect build 1.1.524.0, the out-of-box synchronization rules have been updated to not export attributes userCertificate and userSMIMECertificate if the attributes have more than 15 values. Per informazioni dettagliate sull'aggiornamento di Azure AD Connect, vedere l'articolo Azure AD Connect: Eseguire l'aggiornamento da una versione precedente alla versione più recente.For details on how to upgrade Azure AD Connect, refer to article Azure AD Connect: Upgrade from a previous version to the latest.

  • Implementare una regola di sincronizzazione in uscita in Azure AD Connect che esporta un valore null anziché i valori effettivi per gli oggetti con più di 15 valori per certificato.Implement an outbound sync rule in Azure AD Connect that exports a null value instead of the actual values for objects with more than 15 certificate values. Questa opzione è appropriata se non è necessario esportare uno dei valori del certificato in Azure AD per gli oggetti con più di 15 valori.This option is suitable if you do not require any of the certificate values to be exported to Azure AD for objects with more than 15 values. Per informazioni dettagliate su come implementare questa regola di sincronizzazione, fare riferimento alla sezione successiva Implementing sync rule to limit export of userCertificate attribute (Implementare la regola di sincronizzazione per limitare l'esportazione dell'attributo userCertificate).For details on how to implement this sync rule, refer to next section Implementing sync rule to limit export of userCertificate attribute.

  • Ridurre il numero di valori del certificato nell'oggetto AD locale, a 15 o a un numero inferiore, rimuovendo i valori che non sono usati dall'organizzazione.Reduce the number of certificate values on the on-premises AD object (15 or less) by removing values that are no longer in use by your organization. Questa operazione è adeguata se il software boat dell'attributo è dovuto a certificati scaduti o non usati.This is suitable if the attribute bloat is caused by expired or unused certificates. È possibile usare lo script PowerShell disponibile qui per trovare, eseguire il backup ed eliminare i certificati scaduti in AD locale.You can use the PowerShell script available here to help find, backup, and delete expired certificates in your on-premises AD. Prima di eliminare i certificati, è consigliabile confrontarsi con gli amministratori dell'infrastruttura a chiave pubblica dell'organizzazione.Before deleting the certificates, it is recommended that you verify with the Public-Key-Infrastructure administrators in your organization.

  • Configurare Azure AD Connect per escludere l'attributo userCertificate dall'esportazione in Azure AD.Configure Azure AD Connect to exclude the userCertificate attribute from being exported to Azure AD. In generale, si sconsiglia questa opzione perché l'attributo potrebbe essere usato da Microsoft Online Services per abilitare scenari specifici.In general, we do not recommend this option since the attribute may be used by Microsoft Online Services to enable specific scenarios. In particolare:In particular:

Implementazione della regola di sincronizzazione per limitare l'esportazione dell'attributo userCertificateImplementing sync rule to limit export of userCertificate attribute

Per risolvere l'errore LargeObject causato dall'attributo userCertificate, è possibile implementare una regola di sincronizzazione in uscita in Azure AD Connect che esporta un valore null anziché i valori effettivi per gli oggetti con più di 15 valori per certificato.To resolve the LargeObject error caused by the userCertificate attribute, you can implement an outbound sync rule in Azure AD Connect that exports a null value instead of the actual values for objects with more than 15 certificate values. In questa sezione viene descritta la procedura necessaria per implementare la regola di sincronizzazione per l'oggetto Utente.This section describes the steps required to implement the sync rule for User objects. La procedura può essere adattata per gli oggetti Contatto e Computer.The steps can be adapted for Contact and Computer objects.

Importante

L'esportazione di un valore null rimuove i valori del certificato esportati precedentemente in modo corretto in Azure AD.Exporting null value removes certificate values previously exported successfully to Azure AD.

La procedura può essere riepilogata nel modo seguente:The steps can be summarized as:

  1. Disabilitare l'utilità di pianificazione della sincronizzazione e verificare che non ci sia alcuna sincronizzazione in corso.Disable sync scheduler and verify there is no synchronization in progress.
  2. Trovare la regola di sincronizzazione in uscita esistente per l'attributo userCertificate.Find the existing outbound sync rule for userCertificate attribute.
  3. Creare la regola di sincronizzazione in uscita necessaria.Create the outbound sync rule required.
  4. Verificare la nuova regola di sincronizzazione in un oggetto esistente con errore LargeObject.Verify the new sync rule on an existing object with LargeObject error.
  5. Applicare la nuova regola di sincronizzazione agli oggetti restanti con errore LargeObject.Apply the new sync rule to remaining objects with LargeObject error.
  6. Verificare che non siano presenti modifiche impreviste in attesa di esportazione in Azure AD.Verify there are no unexpected changes waiting to be exported to Azure AD.
  7. Esportare le modifiche in Azure AD.Export the changes to Azure AD.
  8. Riattivare l'utilità di pianificazione della sincronizzazione.Re-enable sync scheduler.

Passaggio 1.Step 1. Disabilitare l'utilità di pianificazione della sincronizzazione e verificare che non ci sia alcuna sincronizzazione in corsoDisable sync scheduler and verify there is no synchronization in progress

Verificare che non venga eseguita alcuna sincronizzazione durante l'implementazione di una nuova regola di sincronizzazione per evitare l'esportazione di modifiche accidentali in Azure AD.Ensure no synchronization takes place while you are in the middle of implementing a new sync rule to avoid unintended changes being exported to Azure AD. Per disabilitare l'utilità di pianificazione della sincronizzazione predefinita:To disable the built-in sync scheduler:

  1. Avviare una sessione di PowerShell nel server di Azure AD Connect.Start PowerShell session on the Azure AD Connect server.

  2. Disabilitare la sincronizzazione pianificata eseguendo di cmdlet: Set-ADSyncScheduler -SyncCycleEnabled $falseDisable scheduled synchronization by running cmdlet: Set-ADSyncScheduler -SyncCycleEnabled $false

Nota

I passaggi precedenti sono applicabili solo alle versioni più recenti (1.1.xxx.x) di Azure AD Connect con l'utilità di pianificazione integrata.The preceding steps are only applicable to newer versions (1.1.xxx.x) of Azure AD Connect with the built-in scheduler. Se si usano versioni precedenti (1.0.xxx.x) di Azure AD Connect che usano il servizio Utilità di pianificazione di Windows o se si usa l'utilità di pianificazione personalizzata, non comune, per attivare la sincronizzazione periodica, è necessario disabilitarle di conseguenza.If you are using older versions (1.0.xxx.x) of Azure AD Connect that uses Windows Task Scheduler, or you are using your own custom scheduler (not common) to trigger periodic synchronization, you need to disable them accordingly.

  1. Avviare Synchronization Service Manager passando ad AVVIA → Servizio di sincronizzazione.Start the Synchronization Service Manager by going to START → Synchronization Service.

  2. Andare nella scheda Operazioni e verificare che nessuna operazione presenti lo stato "in corso".Go to the Operations tab and confirm there is no operation whose status is “in progress.”

Passaggio 2.Step 2. Trovare la regola di sincronizzazione in uscita esistente per l'attributo userCertificateFind the existing outbound sync rule for userCertificate attribute

Una regola di sincronizzazione esistente dovrebbe essere abilitata e configurata per l'esportazione dell'attributo userCertificate per gli oggetti Utente in Azure AD.There should be an existing sync rule that is enabled and configured to export userCertificate attribute for User objects to Azure AD. Individuare questa regola di sincronizzazione per scoprirne la configurazione precedente e il filtro ambito:Locate this sync rule to find out its precedence and scoping filter configuration:

  1. Avviare l'editor per le regole di sincronizzazione passando ad AVVIA → Synchronization Rules Editor (Editor per le regole di sincronizzazione).Start the Synchronization Rules Editor by going to START → Synchronization Rules Editor.

  2. Configurare i filtri della ricerca con i valori seguenti:Configure the search filters with the following values:

    AttributoAttribute ValoreValue
    DirezioneDirection OutboundOutbound
    MV Object TypeMV Object Type PersonPerson
    ConnettoreConnector nome del connettore Azure ADname of your Azure AD connector
    Connector Object TypeConnector Object Type useruser
    MV attributeMV attribute userCertificateuserCertificate
  3. Se si usano le regole di sincronizzazione predefinite in Azure AD Connector per esportare l'attributo userCertficiate per gli oggetti Utente, è necessario ritornare alla regola "Out to AAD – User ExchangeOnline" ("Per AAD: utente ExchangeOnline").If you are using OOB (out-of-box) sync rules to Azure AD connector to export userCertficiate attribute for User objects, you should get back the “Out to AAD – User ExchangeOnline” rule.

  4. Annotare il valore precedence della regola di sincronizzazione.Note down the precedence value of this sync rule.
  5. Selezionare la regola di sincronizzazione e fare clic su Modifica.Select the sync rule and click Edit.
  6. Nel finestra di dialogo popup "Edit Reserved Rule Confirmation" (Modifica la conferma di regola riservata) fare clic su No.In the “Edit Reserved Rule Confirmation” pop-up dialog, click No. Non apportata alcuna modifica a questa regola di sincronizzazione.(Don’t worry, we are not going to make any change to this sync rule).
  7. Nella schermata di modifica, selezionare la scheda Scoping filter (Filtro ambito).In the edit screen, select the Scoping filter tab.
  8. Annotare la configurazione del filtro ambito.Note down the scoping filter configuration. Se si usa la regola di sincronizzazione predefinita, devono essere presenti esattamente un gruppo di filtri ambito contenente due clausole, tra cui:If you are using the OOB sync rule, there should exactly be one scoping filter group containing two clauses, including:

    AttributoAttribute operatoreOperator ValoreValue
    sourceObjectTypesourceObjectType EQUALEQUAL UtenteUser
    cloudMasteredcloudMastered NOTEQUALNOTEQUAL True True

Passaggio 3.Step 3. Creare la regola di sincronizzazione in uscita necessariaCreate the outbound sync rule required

La nuova regola di sincronizzazione deve avere lo stesso filtro ambito e la stessa priorità elevata della regola di sincronizzazione esistente.The new sync rule must have the same scoping filter and higher precedence than the existing sync rule. Ciò garantisce che la nuova regola di sincronizzazione si applichi allo stesso set di oggetti della regola di sincronizzazione esistente e sostituisca la regola di sincronizzazione esistente per l'attributo userCertificate.This ensures that the new sync rule applies to the same set of objects as the existing sync rule and overrides the existing sync rule for the userCertificate attribute. Per creare la regola di sincronizzazione:To create the sync rule:

  1. Nell'editor per le regole di sincronizzazione, fare clic sul pulsante Aggiungi nuova regola.In the Synchronization Rules Editor, click the Add new rule button.
  2. Nella scheda Descrizione, inserire la configurazione seguente:Under the Description tab, provide the following configuration:

    AttributoAttribute ValoreValue DettagliDetails
    NomeName Specificare un nomeProvide a name Ad esempio "Per AAD: esegue l'override personalizzato per userCertificate"E.g., “Out to AAD – Custom override for userCertificate”
    DescrizioneDescription Inserire una descrizioneProvide a description Ad esempio "Se l'attributo userCertificate contiene più di 15 valori, esportare NULL".E.g., “If userCertificate attribute has more than 15 values, export NULL.”
    Connected SystemConnected System Selezionare il connettore di Azure ADSelect the Azure AD Connector
    Connected System Object TypeConnected System Object Type useruser
    Metaverse Object TypeMetaverse Object Type personperson
    Tipo di collegamentoLink Type JoinJoin
    PrecedenzaPrecedence Scegliere un numero compreso tra 1 e 99Chose a number between 1 - 99 Il numero scelto non deve essere usato da una regola di sincronizzazione esistente e deve avere un valore inferiore, e pertanto priorità più alta, rispetto alla regola di sincronizzazione esistente.The number chosen must not be used by any existing sync rule and has a lower value (and therefore, higher precedence) than the existing sync rule.
  3. Andare nella scheda Filtro ambito e implementare lo stesso filtro ambito che usa la regola di sincronizzazione esistente.Go to the Scoping filter tab and implement the same scoping filter the existing sync rule is using.

  4. Ignora la scheda Join rules (Regole di unione).Skip the Join rules tab.
  5. Andare nella scheda Trasformazioni per aggiungere una nuova trasformazione tramite la configurazione seguente:Go to the Transformations tab to add a new transformation using following configuration:

    AttributoAttribute ValoreValue
    Flow TypeFlow Type ExpressionExpression
    Target AttributeTarget Attribute userCertificateuserCertificate
    Source AttributeSource Attribute usare l'espressione seguente: IIF(IsNullOrEmpty([userCertificate]), NULL, IIF((Count([userCertificate])> 15),AuthoritativeNull,[userCertificate]))Use the following expression: IIF(IsNullOrEmpty([userCertificate]), NULL, IIF((Count([userCertificate])> 15),AuthoritativeNull,[userCertificate]))
  6. Per creare la regola di sincronizzazione, fare clic sul pulsante Aggiungi.Click the Add button to create the sync rule.

Passaggio 4.Step 4. Verificare la nuova regola di sincronizzazione in un oggetto esistente con errore LargeObjectVerify the new sync rule on an existing object with LargeObject error

Si tratta di verificare che la regola di sincronizzazione creata funzioni correttamente in un oggetto di AD esistente con errore LargeObject prima di applicarla ad altri oggetti:This is to verify that the sync rule created is working correctly on an existing AD object with LargeObject error before you apply it to other objects:

  1. Passare alla scheda Operazioni in Synchronization Service Manager.Go to the Operations tab in the Synchronization Service Manager.
  2. Selezionare l'operazione di esportazione più recente in Azure AD e fare clic su uno degli oggetti con errori LargeObject.Select the most recent Export to Azure AD operation and click on one of the objects with LargeObject errors.
  3. Nella schermata di popup Connector Space Object Properties (Proprietà dell'oggetto spazio connettore) fare clic sul pulsante Anteprima.In the Connector Space Object Properties pop-up screen, click on the Preview button.
  4. Nella schermata di popup Anteprima selezionare Sincronizzazione completa e fare clic su Anteprima commit.In the Preview pop-up screen, select Full synchronization and click Commit Preview.
  5. Chiudere la schermata Anteprima e la schermata Connector Space Object Properties (Proprietà dell'oggetto spazio connettore).Close the Preview screen and the Connector Space Object Properties screen.
  6. Passare alla scheda Connettori in Synchronization Service Manager.Go to the Connectors tab in the Synchronization Service Manager.
  7. Fare clic con il tasto destro del mouse sul connettore di Azure AD e selezionare Esegui...Right-click on the Azure AD Connector and select Run...
  8. Nella finestra popup Run Connector (Esegui connettore) selezionare il passaggio Esporta e fare clic su OK.In the Run Connector pop-up, select Export step and click OK.
  9. Attendere il completamento dell'esportazione in Azure AD e confermare che non siano presenti altri errori LargeObject in questo oggetto specifico.Wait for Export to Azure AD to complete and confirm there is no more LargeObject error on this specific object.

Passaggio 5.Step 5. Applicare la nuova regola di sincronizzazione agli oggetti restanti con errore LargeObjectApply the new sync rule to remaining objects with LargeObject error

Dopo aver aggiunto la regola di sincronizzazione, è necessario eseguire un passaggio di sincronizzazione completa per il connettore AD:Once the sync rule has been added, you need to run a full synchronization step on the AD Connector:

  1. Passare alla scheda Connettori in Synchronization Service Manager.Go to the Connectors tab in the Synchronization Service Manager.
  2. Fare clic con il tasto destro del mouse sul connettore AD e selezionare Esegui...Right-click on the AD Connector and select Run...
  3. Nella finestra popup Run Connector (Esegui connettore) selezionare il passaggio Sincronizzazione completa e fare clic su OK.In the Run Connector pop-up, select Full Synchronization step and click OK.
  4. Attendere il completamento del passaggio Sincronizzazione completa.Wait for the Full Synchronization step to complete.
  5. Ripetere i passaggi precedenti per i connettori AD restanti se si dispone di più connettori AD.Repeat the above steps for the remaining AD Connectors if you have more than one AD Connectors. In genere, sono necessari più connettori se si dispone di più directory locali.Usually, multiple connectors are required if you have multiple on-premises directories.

Passaggio 6.Step 6. Verificare che non siano presenti modifiche impreviste in attesa di esportazione in Azure ADVerify there are no unexpected changes waiting to be exported to Azure AD

  1. Passare alla scheda Connettori in Synchronization Service Manager.Go to the Connectors tab in the Synchronization Service Manager.
  2. Fare clic con il tasto destro del mouse sul connettore di Azure AD e selezionare Search Connector Space (Spazio connettore di ricerca).Right-click on the Azure AD Connector and select Search Connector Space.
  3. Nella finestra popup Search Connector Space (Spazio connettore di ricerca):In the Search Connector Space pop-up:
    1. Impostare Ambito su Pending Export (Esportazione in sospeso).Set Scope to Pending Export.
    2. Selezionare tutte e 3 le caselle di controllo, tra cui Aggiungi, Modifica ed Elimina.Check all 3 checkboxes, including Add, Modify and Delete.
    3. Fare clic sul pulsante Cerca per restituire tutti gli oggetti con modifiche in attesa di essere esportati in Azure AD.Click Search button to return all objects with changes waiting to be exported to Azure AD.
    4. Verificare che non siano presenti modifiche impreviste.Verify there are no unexpected changes. Per esaminare le modifiche per un determinato oggetto, fare doppio clic sull'oggetto.To examine the changes for a given object, double-click on the object.

Passaggio 7.Step 7. Esportare le modifiche in Azure ADExport the changes to Azure AD

Per esportare le modifiche in Azure AD:To export the changes to Azure AD:

  1. Passare alla scheda Connettori in Synchronization Service Manager.Go to the Connectors tab in the Synchronization Service Manager.
  2. Fare clic con il tasto destro del mouse sul connettore di Azure AD e selezionare Esegui...Right-click on the Azure AD Connector and select Run...
  3. Nella finestra popup Run Connector (Esegui connettore) selezionare il passaggio Esporta e fare clic su OK.In the Run Connector pop-up, select Export step and click OK.
  4. Attendere il completamento dell'esportazione in Azure AD e confermare che non siano presenti altri errori LargeObject.Wait for Export to Azure AD to complete and confirm there are no more LargeObject errors.

Passaggio 8.Step 8. Riattivare l'utilità di pianificazione della sincronizzazioneRe-enable sync scheduler

Dopo aver risolto il problema, abilitare nuovamente l'utilità di pianificazione della sincronizzazione predefinita:Now that the issue is resolved, re-enable the built-in sync scheduler:

  1. Avviare una sessione di PowerShell.Start PowerShell session.
  2. Riabilitare la sincronizzazione pianificata eseguendo di cmdlet: Set-ADSyncScheduler -SyncCycleEnabled $trueRe-enable scheduled synchronization by running cmdlet: Set-ADSyncScheduler -SyncCycleEnabled $true

Nota

I passaggi precedenti sono applicabili solo alle versioni più recenti (1.1.xxx.x) di Azure AD Connect con l'utilità di pianificazione integrata.The preceding steps are only applicable to newer versions (1.1.xxx.x) of Azure AD Connect with the built-in scheduler. Se si usano versioni precedenti (1.0.xxx.x) di Azure AD Connect che usano il servizio Utilità di pianificazione di Windows o se si usa l'utilità di pianificazione personalizzata, non comune, per attivare la sincronizzazione periodica, è necessario disabilitarle di conseguenza.If you are using older versions (1.0.xxx.x) of Azure AD Connect that uses Windows Task Scheduler, or you are using your own custom scheduler (not common) to trigger periodic synchronization, you need to disable them accordingly.

Passaggi successiviNext steps

Altre informazioni su Integrazione delle identità locali con Azure Active Directory.Learn more about Integrating your on-premises identities with Azure Active Directory.