Felsöka fel med otillräcklig åtkomstbehörighet
Problem
Inkommande användaretablering till Active Directory fungerar som förväntat för de flesta användare. Men för vissa användare visar etableringsloggarna följande fel:
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.
Etableringsloggarna visar felkoden: HybridSynchronizationActiveDirectoryInsufficientAccessRights
.
Orsak
GMSA-kontot provAgentgMSA$
för etableringsagenten har som standard läs-/skrivbehörighet till alla användarobjekt i domänen. Det finns två möjliga orsaker som kan leda till felet ovan.
- Orsak-1: Användarobjektet är en del av en organisationsenhet som inte ärver behörigheter på domännivå.
- Orsak-2: Användarobjektet tillhör en skyddad Active Directory-grupp. Avsiktligt styrs användarobjekt av behörigheter som är associerade med en särskild container med namnet
AdminSDHolder
. Detta förklarar varförprovAgentgMSA$
kontot inte kan uppdatera dessa konton som tillhör skyddade Active Directory-grupper. Du kan försöka åsidosätta och uttryckligenprovAgentgMSA$
ge kontot skrivåtkomst till användarkonton, men det fungerar inte. För att skydda privilegierade användarkonton från missbruk av delegerade behörigheter finns det en bakgrundsprocess som kallas SDProp som körs var 60:e minut och ser till att användare som tillhör en skyddad grupp alltid hanteras av behörigheter som definierats i containernAdminSDHolder
. Inte ens metoden att lägga tillprovAgentgMSA$
kontot i gruppen Domänadministratör fungerar.
Åtgärd
Bekräfta först vad som orsakar problemet. Så här kontrollerar du om orsak 1 är orsaken till problemet:
- Öppna Active Directory - användare och datorer-hanteringskonsolen.
- Välj den organisationsenhet som är associerad med användaren.
- Högerklicka och navigera till Egenskaper –> Säkerhet –> Avancerat. Om knappen Aktivera arv visas bekräftar den att Orsak-1 är orsaken till problemet.
- Klicka på Aktivera arv så att behörigheter på domännivå gäller för den här organisationsenheten.
Kommentar
Kom ihåg att kontrollera hela hierarkin från domännivå ned till den organisationsenhet som innehåller de berörda kontona. Alla överordnade organisationsenheter/containrar måste ha arv aktiverat så att de behörigheter som tillämpas på domännivå kan kaskad ned till det slutliga objektet.
Om Orsak-1 inte är orsaken till problemet är potentiellt Orsak-2 orsaken till problemet. Det finns två möjliga lösningsalternativ.
Alternativ 1: Ta bort berörd användare från skyddad AD-grupp För att hitta listan över användare som styrs av den här AdminSDHolder
behörigheten kan Cx anropa följande kommando:
Get-AdObject -filter {AdminCount -gt 0}
Referensartiklar:
- Här är ett exempel på ett PowerShell-skript som kan användas för att rensa administratörskontoflaggan och återaktivera arv för berörda användare.
- Använd stegen som beskrivs i den här artikeln – Hitta överblivna konton för att hitta överblivna konton (konton som inte ingår i en skyddad grupp, men som fortfarande har flaggan AdminCount inställd på 1)
Alternativ 1 kanske inte alltid fungerar
Det finns en process som kallas SDPROP-processen (Security Descriptor Propagation) som körs varje timme på domänkontrollanten som innehar PDC-emulatorns FSMO-roll. Det är den här processen som anger attributet AdminCount
till 1. Huvudfunktionen i SDPROP är att skydda högprivilegierade Active Directory-konton, se till att de inte kan tas bort eller få rättigheter ändrade, oavsiktligt eller avsiktligt, av användare eller processer med mindre behörighet.
Det finns en process som kallas SDPROP-processen (Security Descriptor Propagation) som körs varje timme på domänkontrollanten som innehar PDC-emulatorns FSMO-roll. Det är den här processen som anger attributet AdminCount
till 1. Huvudfunktionen i SDPROP är att skydda active directory-konton med hög behörighet. SDPROP-processen säkerställer att konton inte kan tas bort eller har rättigheter som oavsiktligt eller avsiktligt ändras av användare eller processer med mindre behörighet.
Referensartiklar som förklarar orsaken i detalj:
Alternativ 2: Ändra standardbehörigheterna för containern AdminSDHolder
Om alternativ 1 inte är genomförbart och inte fungerar som förväntat ber du Cx att kontakta ad-administratören och säkerhetsadministratörerna om de får ändra standardbehörigheterna för containern AdminSDHolder
. Den här artikeln förklarar containerns AdminSDHolder
betydelse. När Cx får internt godkännande för att uppdatera AdminSDHolder
containerbehörigheterna finns det två sätt att uppdatera behörigheterna.
- Använd
ADSIEdit
enligt beskrivningen i den här artikeln. - Använda
DSACLS
kommandoradsskript. Här är ett exempelskript som kan användas som utgångspunkt och Cx kan justera det enligt deras krav.
$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
Om Cx behöver mer hjälp med att felsöka lokala AD-behörigheter kan du kontakta Windows Server-supportteamet. Den här artikeln om AdminSDHolder-problem med Microsoft Entra Anslut innehåller fler exempel på DSACLS-användning.
Alternativ 3: Tilldela fullständig kontroll till provAgentgMSA-kontot
Tilldela fullständig behörighet till provAgentGMSA
kontot. Vi rekommenderar det här steget om det finns problem med att flytta ett användarobjekt från en container-OU till en annan när användarobjektet inte tillhör en skyddad användargrupp.
I det här scenariot ber du Cx att utföra följande steg och testa flyttåtgärden igen.
- Logga in på AD-domänkontrollanten som administratör.
- Öppna PowerShell-kommandoraden med
run
som administratör. - I PowerShell-prompten kör du följande DSACLS-kommando som beviljar allmän all/fullständig kontroll till etableringsagentens GMSA-konto.
dsacls "dc=contoso,dc=com" /I:T /G "CN=provAgentgMSA,CN=Managed Service Accounts,DC=contoso,DC=com:GA"
Ersätt med rotnoden dc=contoso,dc=com
eller lämplig OU-container. Om du använder en anpassad GMSA uppdaterar du DN-värdet för provAgentgMSA
.
Alternativ 4: Hoppa över GMSA-kontot och använd manuellt skapat tjänstkonto Det här alternativet bör endast användas som en tillfällig lösning för att avblockera tills GMSA-behörighetsproblemet har undersökts och lösts. Vår rekommendation är att använda GMSA-kontot. Du kan ange registeralternativet för att hoppa över GMSA-konfigurationen och konfigurera om Microsoft Entra-Anslut etableringsagenten för att använda ett manuellt skapat tjänstkonto med rätt behörigheter.