Identifikátory zabezpečení
Identifikátor zabezpečení (SID) je jedinečná hodnota proměnné délky, která slouží k identifikaci správce. Každý účet má jedinečný identifikátor SID vydaný autoritou, například řadičem domény Windows, a je uložený v databázi zabezpečení. Pokaždé, když se uživatel přihlásí, systém načte identifikátor SID pro daného uživatele z databáze a umístí ho do přístupového tokenu daného uživatele. Systém používá identifikátor SID v přístupovém tokenu k identifikaci uživatele ve všech následných interakcích se zabezpečením Windows. Pokud byl identifikátor SID použit jako jedinečný identifikátor uživatele nebo skupiny, nelze jej nikdy použít k identifikaci jiného uživatele nebo skupiny.
Zabezpečení systému Windows používá identifikátory SID v následujících prvcích zabezpečení:
- V popisovače zabezpečení identifikovat vlastníka objektu a primární skupiny.
- V položky řízení přístupu, identifikovat správce, pro kterého je přístup povolen, odepřen nebo auditován
- V přístupových tokenůidentifikujte uživatele a skupiny, do kterých uživatel patří.
Kromě jedinečných identifikátorů SID specifických pro doménu přiřazených konkrétním uživatelům a skupinám jsou dobře známé identifikátory SID, které identifikují obecné skupiny a obecné uživatele. Například dobře známé IDENTIFIKÁTORy SID, Všichni a Svět identifikují skupinu, která zahrnuje všechny uživatele.
Většina aplikací nikdy nemusí pracovat se identifikátory SID. Vzhledem k tomu, že se názvy známých identifikátorů SID mohou lišit, měli byste použít funkce k sestavení identifikátoru SID z předdefinovaných konstant, a ne k použití názvu dobře známého identifikátoru SID. Například anglická verze operačního systému Windows má dobře známý identifikátor SID s názvem BUILTIN\Administrators, který může mít jiný název v mezinárodních verzích systému. Příklad, který vytváří dobře známý identifikátor SID, viz Hledání identifikátoru SID v přístupovém tokenu v jazyce C++.
Pokud potřebujete pracovat se identifikátory SID, nepracujte s nimi přímo. Místo toho použijte následující funkce.
Funkce | Popis |
---|---|
PřidělitAndInitializeSid | Přidělí a inicializuje identifikátor SID se zadaným počtem dílčích ověření. |
ConvertSidToStringSid | Převede identifikátor SID na formát řetězce vhodný pro zobrazení, úložiště nebo přenos. |
ConvertStringSidToSid | Převede identifikátor SID ve formátu řetězce na platný funkční identifikátor SID. |
copySid | Zkopíruje zdrojový identifikátor SID do vyrovnávací paměti. |
EqualPrefixSid | Testuje dvě hodnoty předpony SID pro rovnost. Předpona SID je celý identifikátor SID s výjimkou poslední hodnoty dílčího ověřování. |
EqualSid | Testuje dvě identifikátory SID pro rovnost. Musí přesně odpovídat, aby se považovaly za stejné. |
FreeSid | Uvolní dříve přidělený identifikátor SID pomocí funkce AllocateAndInitializeSid. |
GetLengthSid | Načte délku identifikátoru SID. |
GetSidIdentifierAuthority | Načte ukazatel na autoritu identifikátoru identifikátoru SID. |
GetSidLengthRequired | Načte velikost vyrovnávací paměti potřebné k uložení identifikátoru SID se zadaným počtem dílčích ověření. |
GetSidSubAuthority | Načte ukazatel na zadanou dílčí autoritu v identifikátoru SID. |
GetSidSubAuthorityCount | Načte početdílčích |
InitializeSid | Inicializuje strukturuidentifikátoru SID. |
IsValidSid | Otestuje platnost identifikátoru SID ověřením, že číslo revize spadá do známého rozsahu a že počet dílčích ověření je menší než maximum. |
LookupAccountName | Načte identifikátor SID, který odpovídá zadanému názvu účtu. |
LookupAccountSid | Načte název účtu odpovídající zadanému identifikátoru SID. |