Sdílet prostřednictvím


Přístupové tokeny

Přístupový token je objekt, který popisuje kontext zabezpečeníprocesu nebo vlákna. Informace v tokenu zahrnují identitu a oprávnění uživatelského účtu přidruženého k procesu nebo vláknu. Když se uživatel přihlásí, systém ověří heslo uživatele tím, že ho porovná s informacemi uloženými v databázi zabezpečení. Pokud je heslo ověřeno, vytvoří systém přístupový token. Každý proces spuštěný jménem tohoto uživatele má kopii tohoto přístupového tokenu.

Obsah přístupového tokenu

Systém používá přístupový token k identifikaci uživatele, když vlákno komunikuje s zabezpečitelným objektem nebo se pokusí provést systémovou úlohu, která vyžaduje oprávnění. Přístupové tokeny obsahují následující informace:

Každý proces má primární token , který popisuje kontext zabezpečení uživatelského účtu přidruženého k procesu. Ve výchozím nastavení systém používá primární token, když vlákno procesu komunikuje se zabezpečitelným objektem. Vlákno navíc může zosobnit klientský účet. Zosobnění umožňuje vláknu pracovat se zabezpečitelnými objekty pomocí kontextu zabezpečení klienta. Vlákno, které zosobňuje klienta, má jak primární token, tak i token zosobnění.

Pomocí funkce OpenProcessToken můžete získat popisovač k primárnímu tokenu procesu. Pomocí funkce OpenThreadToken načtěte popisovač zosobňovacího tokenu vlákna. Další informace najdete v tématu zosobnění.

Rozhraní API pro přístupové tokeny

K manipulaci s přístupovými tokeny můžete použít následující funkce.

Funkce Popis
AdjustTokenGroups Změní informace o skupině v přístupovém tokenu.
AdjustTokenPrivileges Povolí nebo zakáže oprávnění v přístupovém tokenu. Neuděluje nová oprávnění ani neodvolá stávající oprávnění.
CheckTokenMembership Určuje, jestli je v zadaném přístupovém tokenu povolená zadaná identifikátor SID.
CreateRestrictedToken Vytvoří nový token, který je omezená verze existujícího tokenu. Omezený token může obsahovat zakázané IDENTIFIKÁTORy SID, odstraněná oprávnění a seznam omezených identifikátorů SID.
DuplicateToken Vytvoří nový token zosobnění, který duplikuje existující token.
DuplicateTokenEx Vytvoří nový primární token nebo token zosobnění, který duplikuje existující token.
GetTokenInformation Načte informace o tokenu.
IsTokenRestricted Určuje, jestli má token seznam omezení identifikátorů SID.
OpenProcessToken Načte popisovač primárního přístupového tokenu procesu.
OpenThreadToken Načte popisovač přístupového tokenu zosobnění pro vlákno.
SetThreadToken Přiřadí nebo odebere token zosobnění pro vlákno.
SetTokenInformation Změní vlastníka tokenu, primární skupinu nebo výchozí seznam DACL.

Funkce přístupového tokenu používají následující struktury k popisu částí přístupového tokenu.

Struktura Popis
TOKEN_CONTROL Informace, které identifikují přístupový token
TOKEN_DEFAULT_DACL Výchozí seznam DACL, který systém používá v popisovačích zabezpečení nových objektů vytvořených vláknem.
TOKEN_GROUPS Určuje identifikátory SID a atributy identifikátorů SID skupin v přístupovém tokenu.
TOKEN_OWNER Výchozí identifikátor SID vlastníka pro popisovače zabezpečení nových objektů.
TOKEN_PRIMARY_GROUP Výchozí identifikátor SID primární skupiny pro popisovače zabezpečení nových objektů.
TOKEN_PRIVILEGES Oprávnění přidružená k přístupovém tokenu. Určuje také, jestli jsou oprávnění povolená.
TOKEN_SOURCE Zdroj přístupového tokenu.
TOKEN_STATISTICS Statistiky přidružené k přístupovým tokenům
TOKEN_USER Identifikátor SID uživatele přidruženého k přístupovém tokenu.

Funkce přístupového tokenu používají následující typy výčtu.

Typ výčtu Specifikuje
TOKEN_INFORMATION_CLASS Určuje typ informací, které se nastavují nebo načítají z přístupového tokenu.
TOKEN_TYPE Identifikuje přístupový token jako primární token nebo token zosobnění.

Seznamy řízení přístupu (seznamy ACL)