Risolvere l'errore relativo ai diritti di accesso insufficienti
Problema
Il provisioning utenti in ingresso in Active Directory funziona come previsto per la maggior parte degli utenti. Tuttavia, per alcuni utenti, i log di provisioning visualizzano l'errore seguente:
ERROR: InsufficientAccessRights-SecErr: The user has insufficient access rights.. Access is denied. \nError Details: Problem 4003 - INSUFF_ACCESS_RIGHTS.
OR
ERROR:
"Message":"The user has insufficient access rights.",
"ResponseResultCode":"InsufficientAccessRights",
"ResponseErrorMessage":"00002098: SecErr: DSID-03150F94, problem 4003 (INSUFF_ACCESS_RIGHTS), data 0",
The user has insufficient access rights.
I log di provisioning visualizzano il codice di errore: HybridSynchronizationActiveDirectoryInsufficientAccessRights
.
Causa
Per impostazione predefinita, l'account GMSA dell'agente provAgentgMSA$
di provisioning dispone dell'autorizzazione di lettura/scrittura per tutti gli oggetti utente nel dominio. Esistono due possibili cause che potrebbero causare l'errore precedente.
- Causa-1: l'oggetto utente fa parte di un'unità organizzativa che non eredita le autorizzazioni a livello di dominio.
- Causa 2: l'oggetto utente appartiene a un gruppo di Active Directory protetto. Per impostazione predefinita, gli oggetti utente sono regolati dalle autorizzazioni associate a un contenitore speciale denominato
AdminSDHolder
. Questo spiega perché l'accountprovAgentgMSA$
non è in grado di aggiornare questi account appartenenti ai gruppi di Active Directory protetti. È possibile provare a eseguire l'override e fornire in modo esplicito all'account l'accessoprovAgentgMSA$
in scrittura agli account utente, ma questo non funzionerà. Per proteggere gli account utente con privilegi da un uso improprio delle autorizzazioni delegate, esiste un processo in background denominato SDProp che viene eseguito ogni 60 minuti e garantisce che gli utenti appartenenti a un gruppo protetto siano sempre gestiti dalle autorizzazioni definite nelAdminSDHolder
contenitore. Anche l'approccio di aggiunta dell'accountprovAgentgMSA$
al gruppo domain Amministrazione non funzionerà.
Risoluzione
Verificare prima di tutto ciò che causa il problema. Per verificare se Cause-1 è l'origine del problema:
- Aprire Utenti e computer di Active Directory Management Console.
- Selezionare l'unità organizzativa associata all'utente.
- Fare clic con il pulsante destro del mouse e passare a Proprietà -> Sicurezza -> Avanzate. Se viene visualizzato il pulsante Abilita ereditarietà , conferma che Cause-1 è l'origine del problema.
- Fare clic su Abilita ereditarietà in modo che le autorizzazioni a livello di dominio siano applicabili a questa unità organizzativa.
Nota
Ricordarsi di verificare l'intera gerarchia dal livello di dominio fino all'unità organizzativa che contiene gli account interessati. Per tutte le unità organizzative/contenitori padre deve essere abilitata l'ereditarietà, in modo che le autorizzazioni applicate a livello di dominio vengano propagate all'oggetto finale.
Se Cause-1 non è l'origine del problema, potenzialmente Cause-2 è l'origine del problema. Esistono due possibili opzioni di risoluzione.
Opzione 1: Rimuovere l'utente interessato dal gruppo di Active Directory protetto Per trovare l'elenco di utenti regolati da questa AdminSDHolder
autorizzazione, Cx può richiamare il comando seguente:
Get-AdObject -filter {AdminCount -gt 0}
Articoli di riferimento:
- Ecco un esempio di script di PowerShell che può essere usato per cancellare il flag Amministrazione Count e riabilitare l'ereditarietà sugli utenti interessati.
- Usare i passaggi descritti in questo articolo - Trovare account orfani per trovare account orfani (account che non fanno parte di un gruppo protetto, ma hanno ancora il flag Amministrazione Count impostato su 1)
L'opzione 1 potrebbe non funzionare sempre
Esiste un processo denominato Processo di propagazione del descrittore di sicurezza (SDPROP) eseguito ogni ora nel controller di dominio che contiene il ruolo FSMO dell'emulatore PDC. Si tratta di questo processo che imposta l'attributo AdminCount
su 1. La funzione principale di SDPROP consiste nel proteggere gli account Active Directory con privilegi elevati, assicurandosi che non possano essere eliminati o avere diritti modificati, accidentalmente o intenzionalmente, da utenti o processi con privilegi inferiori.
Esiste un processo denominato Processo di propagazione del descrittore di sicurezza (SDPROP) eseguito ogni ora nel controller di dominio che contiene il ruolo FSMO dell'emulatore PDC. Si tratta di questo processo che imposta l'attributo AdminCount
su 1. La funzione principale di SDPROP consiste nel proteggere gli account Active Directory con privilegi elevati. Il processo SDPROP garantisce che gli account non possano essere eliminati o avere diritti accidentalmente o modificati intenzionalmente da utenti o processi con privilegi inferiori.
Articoli di riferimento che illustrano in dettaglio il motivo:
- Cinque domande comuni su Amministrazione Holder e SDProp
- Informazioni sull'oggetto Holder Amministrazione SD
Opzione 2: Modificare le autorizzazioni predefinite del contenitore Amministrazione SDHolder
Se l'opzione 1 non è fattibile e non funziona come previsto, chiedere a Cx di rivolgersi agli amministratori di Active Directory e agli amministratori della sicurezza, se sono autorizzati a modificare le autorizzazioni predefinite del AdminSDHolder
contenitore. Questo articolo illustra l'importanza del AdminSDHolder
contenitore. Dopo che Cx ottiene l'approvazione interna per aggiornare le autorizzazioni del AdminSDHolder
contenitore, esistono due modi per aggiornare le autorizzazioni.
- Uso
ADSIEdit
di come descritto in questo articolo. - Uso dello
DSACLS
script della riga di comando. Di seguito è riportato uno script di esempio che può essere usato come punto di partenza e Cx può modificarlo in base ai requisiti.
$dcFQDN = "<FQDN Of The Nearest RWDC Of Domain>"
$domainDN = "<Domain Distinguished Name>"
$domainNBT = "<Domain NetBIOS Name>"
$dsaclsCMD = "DSACLS '\\$dcFQDN\CN=AdminSDHolder,CN=System,$domainDN' /G '$domainNBT\provAgentgMSA$:RPWP;<Attribute To Write To>'"
Invoke-
Expression $dsaclsCMD | Out-Null
Se Cx necessita di assistenza per la risoluzione dei problemi relativi alle autorizzazioni di Active Directory locali, contattare il team di supporto di Windows Server. Questo articolo sui problemi di Amministrazione SDHolder con Microsoft Entra Connessione include altri esempi sull'utilizzo di DSACLS.
Opzione 3: Assegnare il controllo completo all'account provAgentgMSA
Assegnare autorizzazioni controllo completo all'account provAgentGMSA
. È consigliabile eseguire questo passaggio se si verificano problemi con lo spostamento di un oggetto utente da un'unità organizzativa contenitore a un'altra quando l'oggetto utente non appartiene a un gruppo di utenti protetto.
In questo scenario, chiedere a Cx di completare i passaggi seguenti e ripetere l'operazione di spostamento.
- Accedere al controller di dominio di Active Directory come amministratore.
- Aprire la riga di comando di PowerShell con
run
come amministratore. - Al prompt di PowerShell eseguire il comando DSACLS seguente che concede Generic All/Full Control all'account GMSA dell'agente di provisioning.
dsacls "dc=contoso,dc=com" /I:T /G "CN=provAgentgMSA,CN=Managed Service Accounts,DC=contoso,DC=com:GA"
Sostituire con il nodo radice o il contenitore dell'unità dc=contoso,dc=com
organizzativa appropriato. Se si usa un GMSA personalizzato, aggiornare il valore DN per provAgentgMSA
.
Opzione 4: Ignorare l'account GMSA e usare l'account del servizio creato manualmente Questa opzione deve essere usata solo come soluzione alternativa temporanea per sbloccare fino a quando non viene esaminato e risolto il problema di autorizzazione GMSA. È consigliabile usare l'account GMSA. È possibile impostare l'opzione del Registro di sistema per ignorare la configurazione GMSA e riconfigurare l'agente di provisioning di Microsoft Entra Connessione per usare un account del servizio creato manualmente con le autorizzazioni appropriate.