Windows - Hitelesítési információk elérése azonosító objektumoknál

Némely alkalmazások rendelkeznek azzal a tulajdonsággal, hogy olvassák a felhasználói azonosító vagy számítógép azonosító objektum token-groups-global-and-universal (TGGAU) attribútumát az Active Directory-ban. Néhány Win32 függvény megkönnyíti ezen attribútumok elérését. Az alkalmazások nem járnak sikerrel, ha a meghívó biztonsági környezetének nincs elérése az attribútumra. Cikkünk bemutatja, hogy a különféle rendszerekben hogyan állítható be a hozzáférés.
Alapértelmezésben a TGGAU attribútumhoz való hozzáférés a jogosultság-kompatibilitási döntés határozza meg (ez akkor történik, amikor a tartomány létrejön; a dcpromo.exe folyamat hozza létre). Az alapértelmezett jogosultság-kompatibilitás az új Windows 2003 tartományok esetében nem engedélyezi a széleskörű hozzáférést a TGGAU attribútumhoz. Az attribútum olvasásához való hozzáférés szükségszerűen a Windows Authorization Access (WAA) csoportnak adható a Windows 2003 szerverben.
A TGGAU attribútum egy dinamikusan számított érték az azonosító objektumokon. Ez az attribútum felsorolja az azonosítókhoz tartozó globális és univerzális csoporttagságokat. Az alkalmazások használhatják ezt az információt, hogy a felhasználóról különféle döntéseket hozzanak, mialatt azok nincsenek belépve.
Például egy alkalmazás ennek az információnak a birtokában eldöntheti, hogy vajon egy felhasználó kaphat-e jogot valamely erőforráshoz, amelyet az alkalmazás vezérel. Az alkalmazások ezt az attribútumot direktben LDAP segítségével olvashatják. Habár a Windows 2003 szerver számos új függvényt mutat be (beleértve az AuthzInitializeContextFromSid és LsaLogonUser függvényeket), amelyek megkönnyítik ezen attribútumok olvasását, értelmezését, ezért azok az alkalmazások, amelyek ezeket a függvényeket használják, tudatlanul is a TGGAU attribútumot olvassák.
Az alkalmazások közvetlenül, vagy közvetetten olvashatják ezt az attribútumot (API használatával), a biztonsági azonosítónak olvasási joggal kell rendelkeznie ehhez. Nem várhatjuk az alkalmazástól, hogy joga legyen ehhez, amikor a működése korlátozott. Ebben az esetben a felhasználó egy hibaüzenetet kap, vagy egy naplóbejegyzést, amely jelzi, hogy a hozzáférést megtagadták, és arról is információt közöl, hogyan szerezhetünk erre jogosultságot.
Számos meglévő alkalmazásunk függ a TGGAU által szolgáltatott információtól, mivel ez alapértelmezetten elérhető Windows NT 4.0 és korábbi rendszerekben. Ezért a Windows 2000 és Windows 2003 szerver rendszerekben az olvasási hozzáférés a TGGAU attribútumhoz a Windows 2000 előtti kompatibilitási hozzáférési csoporthoz megadott.
Azoknál a tartományoknál, amelyek a meglévő alkalmazásokat használják, kezelhetjük úgy a programokat, hogy amely azonosító nevében futnak, azt az azonosítót hozzáadjuk a Windows 2000 előtti kompatibilitási hozzáférés-csoporthoz. Másként kiválaszthatjuk a "Permissions compatible with pre-Windows 2000 servers" opciót a DCPromo folyamat alatt, amikor a tartományt létrehozzuk. (Windows 2003 szerverben ez az opció a következőképpen működik: "Permissions compatible with pre-Windows 2000 server operating systems".) Ez a kiválasztás felveszi az Everyone csoportot a Pre-Windows 2000 Compatible Access csoporthoz, ezáltal olvasási joghoz juttatva mindenkit.
Amikor egy új Windows 2003 szerver tartomány létrejön, az alapértelmezett hozzáférés-kompatibilitási választás a "Permissions compatible only with Windows 2000 or Windows Server 2003 operating systems." Ez az opció azt eredményezi, hogy a Pre-Windows 2000 Compatibility Access csoport üres marad, és az olvasási jog a TGGAU attribútumhoz korlátozva lesz. Ebben az esetben, ha az alkalmazás nem tartományi rendszergazda vagy hasonlóan erős felhasználó nevében fut, akkor nem fér hozzá az attribútumokhoz.
A TGGAU attribútum olvasásának bekapcsolása az alkalmazások számára
Ahhoz, hogy az olvasási jog megadásának folyamatát leegyszerűsítsük, a Windows 2003 szerver bevezette a Windows Authorization Access (WAA) csoportot.
Az új telepítésű Windows 2003 tartományokon a WAA csoportnak olvasási joga van a TGGAU attribútumokhoz.
Windows 2000 tartományok
Ha a tartomány Windows 2000 előtti kompatibilitási módban van, akkor az Everyone csoportnak olvasási joga van a TGGAU attribútumokra. Ebben a módban az alkalmazások könnyen tudják használni a szükséges TGGAU információkat.
Ha a tartomány ennél frissebb módban van, akkor némely alkalmazás számára be kell kapcsolnunk, hogy elérjék az adott attribútumokat. Mivel a WAA csoport nem található meg Windows 2000-ben, javasolt, hogy hozzunk létre egy tartományi helyi csoportot erre az esetre, és kézzel vegyük fel tagnak azokat, akiknek hozzáférés kell a TGGAU attribútumokhoz. Ennek a csoportnak már lehet olvasási joga az előbb említett objektumokra.
Kevert módú tartományok és frissített tartományok
Amikor egy Windows 2003 szerver tartományvezérlő a Windows 2000 tartományba lép, akkor a korábban kiválasztott kompatibilitási szint nem változik. Ezért a kevert módú tartományok és Windows 2003-ra frissített tartományok, amelyek Windows 2000 előtti kompatibilitási módban voltak, továbbra is megtartják az Everyone-t a Windows 2000 előtti kompatibilis hozzáférési csoportban. Emellett az Everyone csoportnak továbbra is hozzáférése lesz a TGGAU attribútumhoz.
Ha a kevert módú tartományok nem Windows 2000 előtti kompatibilis hozzáférési módban vannak, akkor jogosultságokat adhatunk a WAA csoporthoz:
  • A WAA csoport automatikusan létrejön, amikor egy Windows 2003 szerver tartományvezérlő FSMO szerverré lép elő.
  • A WAA csoport automatikusan nem kap hozzáférést a TGGAU attribútumhoz kevert tartományi módban és frissített tartományokon.
Miután a WAA csoportnak hozzáférése lesz a TGGAU attribútumhoz, elhelyezhetjük az azonosítókat – amelyeknek hozzáférés kell – a WAA csoportba.
Új Windows 2003 szerver tartományok
Ha a tartomány Windows 2000 előtti hozzáférési módú, akkor az Everyone csoportnak olvasási joga lesz a TGGAU attribútumra a felhasználói és számítógép objektumokon. Ebben az esetben az alkalmazásoknak és a függvényeknek TGGAU hozzáférésük lesz.
Ha a tartomány nem Windows 2000 előtti kompatibilitási módú, akkor vegyük fel a WAA csoportba azokat a fiókokat, amelyeknek TGGAU olvasási elérés kell. Az új telepítésű Windows 2003 szerveren a WAA csoportnak már olvasási joga van a TGGAU attribútumokhoz.