Active Directory delegált engedélyek megtekintése vagy eltávolítása
az Active Directory (AD) delegálás számos szervezet informatikai infrastruktúrájának kritikus része. Az adminisztráció delegálásával csak a szükséges engedélyeket adhatja meg a felhasználóknak vagy csoportoknak anélkül, hogy felhasználókat adna hozzá privilegizált csoportokhoz (például Tartománygazdák, Fióküzemeltetők). A delegálás legegyszerűbb módja a Microsoft Management Console (MMC) Active Directory-felhasználók és számítógépek beépülő modul vezérlési delegálás varázslójának használata.
kapcsolódó: az Active Directory kezelése PowerShell-lel
bár a vezérlő delegálása varázsló egyszerű módot kínál az engedélyek delegálására, nincs megfelelő varázsló a delegált engedélyek eltávolításához. Valaki a Microsoftnál észrevette ezt a hiányosságot, és létrehozott egy dsrevoke nevű parancssori programot.exe, amely eltávolíthatja a vezérlő varázsló delegálása által hozzáadott engedélybejegyzéseket.
azonban a Dsrevoke.az exe programnak két fontos technikai korlátja van, amelyeket a Microsoft “amikor a dsrevoke parancssori eszközt használja a Windows Server 2003-alapú tartomány összes szervezeti egységének engedélyeinek jelentésére, előfordulhat, hogy az eszköz nem adja vissza az összes hozzáférés-vezérlési bejegyzést.”Ezek a korlátozások:
- Dsrevoke.az exe egyetlen keresés során csak 1000 ou-t talál. Ennek a korlátozásnak a javasolt megoldása az, ha a program keresését egy mélyebben beágyazott szervezeti egységben (OU) indítja el az eredmények számának csökkentése érdekében.
- Dsrevoke.az exe sikertelen, ha bármelyik ou tartalmaz egy perjelet ( / ) a nevükben. Ennek a korlátozásnak nincs más megoldása, mint a jogsértő OUs átnevezése.
amikor dolgozik Dsrevoke.exe nemrég, képes voltam megkerülni az első problémát, de aztán belefutottam a második problémába. Szervezeti okokból az ous átnevezése a perjel karakter eltávolítására nem volt lehetőség. Ezenkívül a perjel érvényes karakter egy OU névben, és Dsrevoke.az exe – nek működnie kell, függetlenül attól, hogy egy OU tartalmaz-e perjelet a nevében vagy sem. Emellett időigényes volt a környezetemben az 1000 OU-korlát körüli munka.
ezen problémák miatt úgy döntöttem, hogy megnézem, van-e beépített alternatívája a Dsrevoke-nak.exe. A Windows legújabb verzióitól kezdve a Dsacls.exe program egy módja annak, hogy távolítsa el az engedélyeket hozzá a delegálás vezérlő varázsló. Bár nem bukik el, ha egy OU perjelet tartalmaz a nevében, Dsacls.az exe nem kereshet alvállalkozókban olyan engedélyeket, mint a Dsrevoke.exe igen.
először úgy döntöttem, hogy csak egy egyszerű szkriptet írok az OUs keresésére és a Dsacl-ek hívására.exe az egyes szervezeti egységek delegált engedélyeinek eltávolításához. Amikor azonban arra gondoltam, hogyan szeretnék megtervezni egy ilyen szkriptet, eszembe jutott, hogy szeretnék látni egy listát arról is, hogy mely ou-k engedélyeit ruházták át egy adott felhasználóra vagy csoportra. Dsrevoke.exe és Dsacis.az exe képes létrehozni az engedélyek listáját, de a kimenet nagyon hosszú és technikai. Valami egyszerűbbet akartam.
a dsrevoke korlátozásai miatt.exe és Dsacis.exe, és a vágyam, hogy rövidebb kimenetet kapjak, úgy döntöttem, hogy írok egy Windows PowerShell szkriptet, hogy megkapjam a kívánt funkcionalitást. Az eredmény az Eltávolítás-DSACE. ps1. Mielőtt azonban megvitatnám ezt a szkriptet, meg kell adnom néhány háttérinformációt arról, hogy mi történik, ha a Vezérlővarázsló delegálását használja, valamint néhány alapvető Windows biztonsági koncepciót.
delegált engedélyek hozzáadása a varázslóval
mint korábban említettem, a Vezérlővarázsló delegálása egyszerű módja az engedélyek delegálásának. Tegyük fel például, hogy azt szeretné, hogy a jelszó-visszaállítási csoport tagjai visszaállíthassák a HIRDETÉSTARTOMÁNY minden felhasználó szervezeti egységében lévő felhasználók jelszavait. Ehhez a következő lépéseket kell végrehajtania:
- nyissa meg az Active Directory felhasználók és számítógépek konzolt.
- kattintson a jobb gombbal a minden felhasználó szervezeti egységre, és válassza a delegált vezérlés lehetőséget, az 1.ábrán látható módon. Kattintson a Tovább gombra, hogy továbblépjen a varázsló üdvözlő oldalán.
- a varázsló felhasználók vagy csoportok oldalán kattintson a Hozzáadás gombra.
- a Felhasználók, számítógépek vagy csoportok kiválasztása párbeszédpanelen írja be a csoport nevét (Jelszó visszaállítása), kattintson a Nevek ellenőrzése gombra, hogy megbizonyosodjon arról, hogy a csoport neve helyes-e, majd kattintson az OK gombra, a 2.ábrán látható módon.
- miután megbizonyosodott arról, hogy a csoport neve szerepel a felhasználók vagy csoportok oldalon, kattintson a Tovább gombra, a 3.ábrán látható módon.
- a feladatok delegálása lapon válassza a felhasználói jelszavak visszaállítása lehetőséget, majd a jelszó megváltoztatásának kényszerítése a következő bejelentkezéskor, majd kattintson a Tovább gombra, a 4. ábrán látható módon.
- ellenőrizze az információkat a varázsló utolsó oldalán, majd kattintson a Befejezés gombra.
amikor a Befejezés gombra kattint, a vezérlő delegálása varázsló hozzáadja a kért engedélyeket a minden felhasználó szervezeti egységhez. A delegálás hatásait úgy tekintheti meg, hogy jobb gombbal kattint a minden felhasználó szervezeti egységre, kiválasztja a tulajdonságokat, majd kiválasztja a Biztonság lapot. (Ha a Biztonság lap nem látható, engedélyezze a speciális funkciók lehetőséget az Active Directory felhasználók és számítógépek konzol Nézet menüjében.) A részletes nézet, Akkor kattintson a Speciális gombra. Az 5. ábra a megjelenő speciális Biztonsági beállítások párbeszédpanelt mutatja.
ACL—ek, Ászokés vagyonkezelők-Oh My!
a Speciális biztonsági beállítások párbeszédpanelen megadott információk megértéséhez ismernie kell a következő Windows biztonsági fogalmakat: hozzáférés-vezérlési lista (ACL), hozzáférés-vezérlési bejegyzés (ACE), megbízott és öröklés. Ezeket a fogalmakat is meg kell értenie az Remove-DSACE.ps1 használatához.
ACL. Kétféle ACL létezik: diszkrecionális ACL (Dacl) és rendszer ACL (sacl). A DACL azonosítja azokat a fiókokat, amelyeknek engedélyezett vagy megtagadott hozzáférése van egy objektumhoz. A SACL leírja, hogy az adminisztrátor hogyan akarja naplózni az objektum elérésére irányuló kísérleteket (azaz az auditálást).
ász. Az ACL Ászokból áll. Minden ász azonosítja a megbízottat, és meghatározza a megbízott hozzáférését (engedélyezés, megtagadás vagy ellenőrzés) az objektumhoz. A vezérlő delegálása varázsló ászokat ad hozzá egy hirdetési tároló DACL-jéhez. Az 5. ábra az összes felhasználó OU DACL-jét mutatja. Ezen az ábrán az engedélybejegyzés kifejezés az ACE szinonimája.
Vagyonkezelő. A megbízott az az entitás (felhasználó, biztonsági csoport vagy bejelentkezési munkamenet), amelyre az ACE vonatkozik. Minden ász egyetlen vagyonkezelőre vonatkozik. Az 5. ábrán a megbízó kifejezés a vagyonkezelő szinonimája. Az 5. ábra azt mutatja, hogy két ász van hozzárendelve a jelszó-visszaállítási csoporthoz. Más szavakkal, a jelszó-visszaállítási csoport a két ász megbízottja (megbízója).
öröklés. Az ász közvetlenül alkalmazható egy objektumra, vagy örökölhető az erőforrás szülőobjektumától. Az 5. ábrán a jelszó-visszaállítási csoportot megbízottként tartalmazó minden felhasználó szervezeti egység két Ászát nem a szülő tárolóból örökölik (azaz az örökölt oszlop nem olvasható), mert a Vezérlővarázsló delegálása közvetlenül hozzáadta őket a DACL-hez. A 6. ábra a számviteli szervezeti egység DACL-jét mutatja. A számviteli OU DACL-je két ászot tartalmaz a jelszó-visszaállítási csoport számára, de ezeket az ászokat az All Users OU-tól örökölték (azaz az örökölt oszlop így szól: OU=All Users,DC=fabrikam,DC=local).
az Remove-DSACE.ps1 bemutatása
a következő célok elérése érdekében írtam a Remove-DSACE.ps1-et (a címtárszolgáltatás ACEs eltávolítása rövidítése) :
- keresse meg a vagyonkezelőt tartalmazó nem örökölt ászokat tartalmazó ou-kat.
- rekurzió a sub-OUs-ba, ha kérik.
- távolítsa el a vagyonkezelőt tartalmazó nem örökölt ászokat.
- Tömör kimenetet eredményez.
a szkript szintaxisa a következő:
Remove-DSACE path
a-Report vagy-Remove paraméter határozza meg, hogy a parancsfájl felsorolja vagy eltávolítja-e a nem örökölt ászokat. Ha megadja-jelentés, a szkript nem örökölt ászokat talál, amelyek megbízottakat tartalmaznak, de nem távolítja el őket. Ha megadja-Eltávolítás, a szkript eltávolítja a nem örökölt ászokat. Nagyon fontos megérteni, hogy a szkript eltávolítja az összes nem örökölt ászot a megbízott számára, nem csak az ászokat, amelyeket a vezérlő varázsló delegálása adott hozzá. Ennek oka az, hogy nincs mód annak meghatározására, hogy a nem örökölt ászokat hogyan adták hozzá.
a-Report és-Remove paraméterek nem kötelezőek, de a parancsfájl alapértelmezés szerint a-Report paramétert veszi fel. A szkript hibát fog dobni, ha mindkét paramétert egyszerre adja meg.
a-Path paraméterrel AD ou-k egy vagy több megkülönböztetett nevét (DNs) adhatja meg. A-Path paraméter neve opcionális, és elfogadja a folyamat bemenetét. Bár több DNs-t is megadhat, helyettesítő karaktereket nem használhat.
a-Trustee paraméter megnevezi az Ászokban keresendő megbízottat. A szkript megvizsgálja az egyes OU-K DACL – jét a megnevezett megbízottat tartalmazó nem örökölt Ászokra. Több megbízottat is megadhat vesszővel elválasztott lista vagy tömb használatával, de helyettesítő karaktereket nem használhat. A megbízottak nevét az 1. táblázatban felsorolt névformátumok bármelyikével megadhatja.
Formátum | Példa |
---|---|
Windows NT 4.0 elnevezési formátum (NT4) | FABRIKAM \ KenDyer |
az objektum DN | CN = Ken Dyer, CN = felhasználók, DC = fabrikam, DC = com |
az objektum kanonikus neve | fabrikam.com/Users/Ken Dyer |
az objektum felhasználóneve (UPN) |
akkor adja meg a-Recurse paramétert, ha a megadott OU alatt ou-kat szeretne keresni. Ha egy adott tartományvezérlőhöz (DC) szeretne csatlakozni, megadhatja a kiszolgáló nevét a
-kiszolgálónév paraméterrel. Mind a-Recurse, mind a-ServerName paraméter opcionális.
a szkript támogatja az alternatív hitelesítő adatokat. A-Credential paraméter egy PSCredential objektumot használ, amely tartalmazza azt a felhasználónevet és jelszót, amelyet a parancsfájlnak a tartományhoz való csatlakozáshoz használnia kell.
a szkript a-Confirm paramétert is támogatja. A-Confirm paraméter csak a-Remove paraméterrel együtt értelmezhető. A-Confirm paraméter alapértelmezés szerint engedélyezve van, kivéve, ha letiltja a-Confirm:$FALSE megadásával vagy a $ConfirmPreference változó None értékre állításával. Csak akkor tiltsa le a-Confirm paramétert, ha teljesen biztos abban, hogy a megfelelő ászokat távolítja el.
a parancsfájl a 2.táblázatban felsorolt tulajdonságokat tartalmazó kimeneti objektumokat hoz létre.
ingatlan | leírás |
---|---|
útvonal | a szervezeti egység DN-je |
megbízott | a megbízott neve DOMAIN \ name formátumban |
ACEs | a nem örökölt ászok száma az OU ACL-jében |
eredmény * | az “eltávolított” szó vagy hibaüzenet |
*az eredmény tulajdonság csak a-Remove paraméter használata esetén létezik. |
a szkript csak olyan nem örökölt ászokat tartalmaz, amelyek vagyonkezelőt tartalmaznak. A vagyonkezelő örökölt Ászai nem szerepelnek a kimenetben. A 7. ábra két példát mutat be. A 7. ábra első parancsa nem eredményez kimenetet, mert a számviteli OU DACL-je nem tartalmaz nem örökölt ászokat a jelszó-visszaállítási csoporthoz. (A számviteli szervezeti egységnek két ásza van a jelszó-visszaállítási csoport számára, de ezeket az ászokat a minden felhasználó szervezeti egység örökölte, amint az a 6.ábrán látható.) A 7. ábra második parancsa kimenetet eredményez. Két nem örökölt ász van a jelszó-visszaállítási csoport számára az All Users OU-ban (az 5.ábrán látható módon).
valós példa
nézzük meg, hogyan használhatja az Remove-DSACE.ps1 fájlt a Való Világban. Tegyük fel, hogy egy adminisztrátor a fabrikamban.a helyi tartomány a vezérlő delegálás varázslót használta az engedélyek átruházására az összes felhasználó szervezeti egység titkársági munkatársainak csoportjára és az alatta lévő egyes szervezeti egységekre, de nem emlékszik, melyik szervezeti egységekre. El kell távolítania ezeket a delegált engedélyeket, hogy átruházhassa az engedélyeket más csoportokra.
először látnia kell egy listát azokról az OU-król, amelyek nem örökölt ászokkal rendelkeznek, amelyek tartalmazzák a titkársági személyzet csoportját. Ehhez használhatja a parancsot:
Remove-DSACE -Report ` -Path "OU=All Users,DC=fabrikam,DC=local" ` -Trustee "FABRIKAM\Secretarial_Staff" ` -Recurse | Format-List
ez a parancs és kimenete a 8. ábrán látható.
ebből a kimenetből látható, hogy három ou van, amelyek nem örökölt ászokkal rendelkeznek, amelyek tartalmazzák a titkársági alkalmazottak csoportját. Miután meggyőződött arról, hogy eltávolíthatja ezeket az ászokat, a-Report paramétert lecserélheti a-Remove paraméterre, és megismételheti a parancsot, a 9.ábrán látható módon. Mint már említettem, ha a titkársági személyzet csoport kapott bármilyen más engedélyek kívül a Delegation of Control Wizard, azokat el kell távolítani, valamint.
vegye át az irányítást a hirdetés delegálás
a Delegation of Control varázsló egy nagyon hasznos eszköz, de nincs egyszerű módja annak, hogy gyorsan megtekintheti vagy visszafordítani annak hatásait. Bár használhatja a Dsrevoke-t.exe és Dsacis.exe e feladatok elvégzéséhez ezeknek az eszközöknek vannak bizonyos korlátai. Ha ehelyett az Remove-DSACE.ps1 parancsfájlt használja, akkor jobban ellenőrizheti a delegált engedélyeket az AD-ben. Ezt a szkriptet az oldal tetején található Kód letöltése gombra kattintva töltheti le.
kapcsolódó videók Brian Desmond-tól (csak VIP hozzáférés esetén):
1. munkamenet: az Active Directory engedélyek delegálásának elsajátítása
2. munkamenet: az Active Directory biztonsági engedélyek delegálásának elsajátítása
Leave a Reply