Biztonsági azonosítók
A biztonsági azonosító (SID) a megbízhatóságiazonosítására használt változóhosszúságú egyedi érték. Minden fiók rendelkezik egy szolgáltató által kiadott egyedi SID-sel, például Windows-tartományvezérlővel, és egy biztonsági adatbázisban tárolva. Minden alkalommal, amikor egy felhasználó bejelentkezik, a rendszer lekéri a felhasználó sid-ét az adatbázisból, és elhelyezi az adott felhasználó hozzáférési jogkivonatában. A rendszer a hozzáférési jogkivonatban lévő SID használatával azonosítja a felhasználót a Windows biztonságával való minden későbbi interakció során. Ha egy felhasználó vagy csoport egyedi azonosítójaként egy SID-et használnak, soha többé nem használható egy másik felhasználó vagy csoport azonosítására.
A Windows biztonsága az alábbi biztonsági elemekben használ SID-ket:
- Az biztonsági leírókban azonosítani egy objektum és egy elsődleges csoport tulajdonosát
- hozzáférés-vezérlési bejegyzésekben, hogy azonosítsa azt a megbízhatót, aki számára a hozzáférés engedélyezett, megtagadva vagy naplózásra kerül
- A hozzáférési jogkivonatok, hogy azonosítsák a felhasználót és azokat a csoportokat, amelyekhez a felhasználó tartozik
Az egyedileg létrehozott, adott felhasználókhoz és csoportokhoz rendelt tartományspecifikus SID-k mellett jól ismert SID-k, amelyek általános csoportokat és általános felhasználókat azonosítnak. A jól ismert SID-k, a Mindenki és a Világ például azonosítják az összes felhasználót tartalmazó csoportot.
A legtöbb alkalmazásnak soha nem kell SID-kkel dolgoznia. Mivel jól ismert SID-k neve eltérő lehet, a függvényekkel előre definiált állandókból kell létrehoznia a SID-t a jól ismert SID neve helyett. A Windows operációs rendszer amerikai angol nyelvű verziója például rendelkezik egy jól ismert, "BUILTIN\Rendszergazdák" nevű SID-sel, amely a rendszer nemzetközi verzióiban eltérő néven szerepelhet. Egy jól ismert SID-et összeállító példa: Sid keresése hozzáférési jogkivonatban c++.
Ha sID-kkel kell dolgoznia, ne manipulálja őket közvetlenül. Ehelyett használja az alábbi függvényeket.
Funkció | Leírás |
---|---|
AllocateAndInitializeSid | Lefoglal és inicializál egy SID-et a megadott számú alauthoritással. |
ConvertSidToStringSid | A SID-et sztringformátummá alakítja, amely alkalmas megjelenítésre, tárolásra vagy átvitelre. |
ConvertStringSidToSid | A sztringformátumú SID-et érvényes, működőképes SID-vé alakítja át. |
CopySid | Másolja a forrás SID-et egy pufferbe. |
EqualPrefixSid | Két SID-előtag-értéket tesztel az egyenlőség érdekében. A SID-előtag a teljes SID, kivéve az utolsó alauthoritási értéket. |
EqualSid | Két SID-t tesztel az egyenlőség érdekében. Pontosan egyezniük kell, hogy egyenlőnek tekinthetők legyenek. |
FreeSid | Felszabadít egy korábban lefoglalt SID-et a AllocateAndInitializeSid függvénnyel. |
GetLengthSid | Lekéri a SID hosszát. |
GetSidIdentifierAuthority | Egy sid azonosító szolgáltatójához mutató mutatót kér le. |
GetSidLengthRequired | Lekéri annak a puffernek a méretét, amely egy adott számú alauthoriitást tartalmazó SID tárolásához szükséges. |
GetSidSubAuthority | Egy adott alauthoritásra mutató mutatót kér le egy SID-ben. |
GetSidSubAuthorityCount | Lekéri a SID-ben lévő alauthorialitások számát. |
InitializeSid | Inicializál egy SID- struktúrát. |
IsValidSid | A SID érvényességét úgy ellenőrzi, hogy a változatszám egy ismert tartományon belül van-e, és hogy az alhitelesítések száma kisebb-e a maximális értéknél. |
LookupAccountName | Lekéri a megadott fióknévnek megfelelő SID-et. |
LookupAccountSid | Lekéri a megadott SID-nek megfelelő fióknevet. |