for helt at låse op for dette afsnit skal du logge ind
Active Directory (AD) delegation er kritisk del af mange organisationers it-infrastruktur. Ved at uddelegere administration kan du kun tildele brugere eller grupper de tilladelser, de har brug for, uden at tilføje brugere til privilegerede grupper (f.eks. domæneadministratorer, kontooperatører). Den enkleste måde at udføre delegering er ved hjælp af guiden delegering af kontrol i Microsoft Management Console (MMC) Active Directory-brugere og computere snap-in.
selvom guiden delegering af kontrol giver en nem måde at delegere tilladelser på, er der ingen tilsvarende guide til fjernelse af delegerede tilladelser. Nogen hos Microsoft må have bemærket denne mangel og oprettet et kommandolinjeprogram ved navn Dsrevoke.kan fjerne de tilladelsesposter, der er tilføjet af guiden delegering af kontrol.
dog Dsrevoke.programmet har to vigtige tekniske begrænsninger, som er dokumenteret i Microsoft-artiklen ” når du bruger kommandolinjeværktøjet dsrevoke til at rapportere tilladelser for alle organisationsenheder i et domæne baseret på Server 2003, returnerer værktøjet muligvis ikke alle adgangskontrolposter.”Disse begrænsninger er:
- Dsrevoke.op til 1.000 Ou ‘ er i en enkelt søgning. Den foreslåede løsning for denne begrænsning er at starte programmets søgning i en mere dybt indlejret organisatorisk enhed (OU) for at reducere antallet af resultater.
- Dsrevoke.hvis nogen Ou ‘ er indeholder et fremad skråstreg ( / ) tegn i deres navne. Der er ingen løsning på denne begrænsning andet end at omdøbe de fornærmende Ou ‘ er.
af organisatoriske årsager er omdøbning af ou ‘ erne for at fjerne skråstreg-tegnet normalt ikke en mulighed. Desuden er skråstregen et gyldigt tegn i et ou-navn og Dsrevoke.eks skal fungere, uanset om en OU indeholder en skråstreg i sit navn eller ej. Det var også tidskrævende at arbejde omkring 1.000 OU-grænsen i mit miljø.
starter i de seneste versioner af vinduer, Dsacls.programmet giver mulighed for at fjerne de tilladelser, der er tilføjet af guiden delegering af kontrol. Selvom det ikke mislykkes, hvis en OU indeholder en skråstreg i sit navn, Dsacls.vi kan ikke søge i undercontainere efter tilladelser som Dsrevoke.eks gør.
Dsrevoke.dsacls og dsacls.vi kan producere en liste over tilladelser, men output er meget lang og teknisk.
vi er nødt til at have nogle baggrundsoplysninger om, hvad der sker, når vi bruger guiden delegering af kontrol samt dække nogle grundlæggende vinduer sikkerhedskoncepter.
Hvorfor Delegeret?
Forestil dig, at du er leder af et stort firma med flere afdelinger: økonomi, HR, salg, øverste ledelse.
hvis hver bruger, der glemte deres adgangskode, skulle ringe til IT-helpdesk, ville du blive oversvømmet med opkald.
i stedet kan du delegere tilladelser til lederen af hver afdeling, så han eller hun kan nulstille sit eget teams adgangskoder.
en anden klassisk brugssag til delegation er muligheden for, at personalet kan sende e-mails som hinanden, enten en delt postkasse eller en PA, der sender e-mail på vegne af sin chef.
Giv alle domæneadministrator?
du har måske troet, lad os give hver afdelingsleder domæne Admin tilladelser, så kan de nulstille adgangskoder, når det kræves.
selvom dette er teknisk sandt, ville de så kunne gøre alt, hvad du kan gøre, herunder adgang til brugerdata.
så vær forsigtig med at give domæneadministrator rolle til ikke-IT-brugere for at sænke administrationsopgaver: denne tilgang kan føre til flere problemer.
for at forstå de oplysninger, der gives i dialogboksen Avancerede sikkerhedsindstillinger, skal du vide om følgende vinduer sikkerhedskoncepter: adgangskontrolliste (ACL), adgangskontrol (ACE), administrator og arv. Du skal også forstå disse begreber for at bruge Remove-dsace.ps1.
ACL: der er to slags ACL ‘er: diskretionære ACL’ er (Dacl ‘er) og System ACL’ er (SACL ‘ er). En DACL identificerer de konti, der er tilladt eller nægtet adgang til et objekt. En SACL beskriver, hvordan en administrator ønsker at logge forsøg på at få adgang til et objekt (dvs.revision).
ACE: en ACL er sammensat af esser. Hvert es identificerer en administrator og angiver administratorens adgang (Tillad, Afvis eller revision) for objektet. Guiden delegering af kontrol tilføjer esser til en ANNONCECONTAINERS DACL. Den foregående figur viser DACL for alle brugere OU. I denne figur er udtrykket tilladelsesindtastning synonymt med ACE.
Administrator: en administrator er den enhed (en bruger, sikkerhedsgruppe eller logonsession), som et es gælder for. Hvert es gælder for en enkelt administrator. I figur 5 er udtrykket hovedstol synonymt med administrator. Figur 5 viser, at der er to esser tildelt gruppen til nulstilling af adgangskode. Med andre ord er gruppen til nulstilling af adgangskode administrator (rektor) for disse to esser.
arv: Et es kan anvendes direkte på et objekt, eller det kan arves fra ressourcens overordnede objekt. I den foregående figur er de to esser for OU ‘ En alle brugere, der indeholder gruppen til nulstilling af adgangskode som administrator, ikke arvet fra den overordnede container (dvs.kolonnen arvet fra Læser Ingen), fordi guiden delegering af kontrol tilføjede dem direkte til DACL.
tilføjelse af delegerede tilladelser med guiden
guiden delegering af kontrol giver en nem måde at delegere tilladelser på. Antag f.eks., at du vil have medlemmer af gruppen nulstilling af adgangskode til at kunne nulstille adgangskoder til brugere i OU ‘ En alle brugere i dit ANNONCEDOMÆNE. For at gøre dette skal du udføre disse trin:
Åbn Active Directory brugere og computere konsol og højreklik derefter på alle brugere OU (eller hvad OU) og vælg delegeret kontrol, som vist i Figur 1. Klik på knappen Næste for at gå videre forbi guidens velkomstside.
klik på knappen Tilføj på siden Brugere eller grupper i guiden.
i dialogboksen Vælg brugere, computere eller grupper skal du indtaste gruppens navn (nulstilling af adgangskode), klikke på knappen Kontroller navne for at sikre, at gruppens navn er korrekt, og klikke på OK, som vist i følgende figur:
når du har sørget for, at gruppens navn er angivet på siden Brugere eller grupper, skal du klikke på Næste, som vist i følgende figur:
på siden opgaver, der skal delegeres, skal du vælge Nulstil brugeradgangskoder og tvinge adgangskodeændring ved næste logon og klikke på Næste, som vist i følgende figur:
når du klikker på knappen Udfør, tilføjer guiden delegering af kontrol de ønskede tilladelser til OU ‘ en alle brugere. Du kan se virkningerne af delegationen ved at højreklikke på OU ‘ en alle brugere, vælge Egenskaber og vælge fanen Sikkerhed. (Hvis fanen Sikkerhed ikke er synlig, skal du aktivere indstillingen Avancerede funktioner i menuen Vis på Active Directory-brugere og Computerkonsollen.)
for en detaljeret visning kan du klikke på knappen Avanceret. Følgende figur viser dialogboksen Avancerede sikkerhedsindstillinger, der vises.
nu hvor vi har opdaget delegation, undrer du dig måske over, om der er nogen delegationer, som du ikke kender til, hverken fra tidligere medarbejdere eller ondsindede administratorer.
vi har sammensat et kort Strømshell-script, der vil søge i hver delegerbar objekttype og liste de to fælles tilladelsesdelegationer, nulstille adgangskode og send-as (fra udveksling).
her er en prøvekørsel fra et domæne:
her er scriptkoden:
###### Search common delegation targets$filter = "(|(objectClass=domain)(objectClass=organizationalUnit)(objectClass=group)(sAMAccountType=805306368)(objectCategory=Computer))" ###### Search just OUs and Groups#$filter = "(|(objectClass=organizationalUnit)(objectClass=group))"###### More filters can be found here: http://www.ldapexplorer.com/en/manual/109050000-famous-filters.htm###### Connect to DOMAINCONTROLLER using LDAP path, with USERNAME and PASSWORD#$bSearch = New-Object System.DirectoryServices.DirectoryEntry("LDAP://DOMAINCONTROLLER/LDAP"), "USERNAME", "PASSWORD") ###### Connect to DOMAINCONTROLLER using LDAP path$bSearch = New-Object System.DirectoryServices.DirectoryEntry("LDAP://DOMAINCONTROLLER/LDAP") $dSearch = New-Object System.DirectoryServices.DirectorySearcher($bSearch)$dSearch.SearchRoot = $bSearch$dSearch.PageSize = 1000$dSearch.Filter = $filter #comment out to look at all object types$dSearch.SearchScope = "Subtree"####### List of extended permissions available here: https://technet.microsoft.com/en-us/library/ff405676.aspx$extPerms = '00299570-246d-11d0-a768-00aa006e0529', 'ab721a54-1e2f-11d0-9819-00aa0040529b', '0'$results = @()foreach ($objResult in $dSearch.FindAll()){ $obj = $objResult.GetDirectoryEntry() Write-Host "Searching... " $obj.distinguishedName $permissions = $obj.PsBase.ObjectSecurity.GetAccessRules($true,$false,) $results += $permissions | Where-Object { $_.AccessControlType -eq 'Allow' -and ($_.ObjectType -in $extPerms) -and $_.IdentityReference -notin ('NT AUTHORITY\SELF', 'NT AUTHORITY\SYSTEM', 'S-1-5-32-548') } | Select-Object ` @{n='Object'; e={$obj.distinguishedName}}, @{n='Account'; e={$_.IdentityReference}}, @{n='Permission'; e={$_.ActiveDirectoryRights}}}$results | Out-GridView
Sådan bruger du dette script på dit eget domæne:
- Åbn Active Directory-brugere og-computere, og naviger til det domæne (eller den organisatoriske enhed), du undersøger.
- Højreklik på den og vælg Egenskaber.
- i fanen Attributeditor skal du kigge efter egenskaben distinguishedName.
- Vælg den, og tryk på Vis, og kopier derefter LDAP-stien. Du får brug for dette senere.
- Rediger linje 6 ($bSearch = …), erstatter DOMAINCONTROLLER med navnet på et af dit domænes DCs.
- Rediger linje 6, erstatter LDAP med den sti, du kopierede tidligere.
- Gem scriptet og tryk på Kør.
- lad scriptet søge gennem din Active Directory; fremskridt rapporteres i konsollen, og når det er afsluttet, vil du modtage en popup, der beskriver objekter, der har tilladelser delegeret til dem.