Zugriffstoken

Ein Zugriffstoken ist ein Objekt, das den Sicherheitskontext eines Prozesses oder Threads beschreibt. Die Informationen in einem Token umfassen die Identität und die Berechtigungen des Benutzerkontos, das dem Prozess oder Thread zugeordnet ist. Wenn sich ein Benutzer anmeldet, überprüft das System das Kennwort des Benutzers, indem es mit informationen vergleicht, die in einer Sicherheitsdatenbank gespeichert sind. Wenn das Kennwort authentifiziert ist, erzeugt das System ein Zugriffstoken. Jeder Prozess, der im Namen dieses Benutzers ausgeführt wird, verfügt über eine Kopie dieses Zugriffstokens.

Das System verwendet ein Zugriffstoken, um den Benutzer zu identifizieren, wenn ein Thread mit einem sicherungsfähigen Objekt interagiert oder versucht, eine Systemaufgabe auszuführen, die Berechtigungen erfordert. Zugriffstoken enthalten die folgenden Informationen:

Jeder Prozess verfügt über ein primäres Token , das den Sicherheitskontext des dem Prozess zugeordneten Benutzerkontos beschreibt. Standardmäßig verwendet das System das primäre Token, wenn ein Thread des Prozesses mit einem sicherungsfähigen Objekt interagiert. Darüber hinaus kann ein Thread die Identität eines Clientkontos annehmen. Der Identitätswechsel ermöglicht es dem Thread, mithilfe des Sicherheitskontexts des Clients mit sicherungsfähigen Objekten zu interagieren. Ein Thread, der die Identität eines Clients angibt, verfügt sowohl über ein primäres Token als auch über ein Identitätswechseltoken.

Verwenden Sie die OpenProcessToken-Funktion , um ein Handle für das primäre Token eines Prozesses abzurufen. Verwenden Sie die OpenThreadToken-Funktion , um ein Handle für das Identitätswechseltoken eines Threads abzurufen. Weitere Informationen finden Sie unter Identitätswechsel.

Sie können die folgenden Funktionen verwenden, um Zugriffstoken zu bearbeiten.

Funktion BESCHREIBUNG
AdjustTokenGroups Ändert die Gruppeninformationen in einem Zugriffstoken.
AdjustTokenPrivileges Aktiviert oder deaktiviert die Berechtigungen in einem Zugriffstoken. Es gewährt keine neuen Berechtigungen oder widerruft vorhandene Berechtigungen.
CheckTokenMembership Bestimmt, ob eine angegebene SID in einem angegebenen Zugriffstoken aktiviert ist.
CreateRestrictedToken Erstellt ein neues Token, das eine eingeschränkte Version eines vorhandenen Tokens ist. Das eingeschränkte Token kann über deaktivierte SIDs, gelöschte Berechtigungen und eine Liste mit eingeschränkten SIDs verfügen.
DuplicateToken Erstellt ein neues Identitätswechseltoken, das ein vorhandenes Token dupliziert.
DuplicateTokenEx Erstellt ein neues primäres Token oder Identitätswechseltoken, das ein vorhandenes Token dupliziert.
GetTokenInformation Ruft Informationen zu einem Token ab.
IsTokenRestricted Bestimmt, ob ein Token über eine Liste einschränkender SIDs verfügt.
OpenProcessToken Ruft ein Handle für das primäre Zugriffstoken für einen Prozess ab.
OpenThreadToken Ruft ein Handle für das Identitätswechsel-Zugriffstoken für einen Thread ab.
SetThreadToken Weist einem Thread ein Identitätswechseltoken zu oder entfernt es.
SetTokenInformation Ändert den Besitzer, die primäre Gruppe oder die Standard-DACL eines Tokens.

 

Die Zugriffstokenfunktionen verwenden die folgenden Strukturen, um die Teile eines Zugriffstokens zu beschreiben.

Struktur BESCHREIBUNG
TOKEN_CONTROL Informationen, die ein Zugriffstoken identifizieren.
TOKEN_DEFAULT_DACL Die Standard-DACL, die das System in den Sicherheitsbeschreibungen neuer Objekte verwendet, die von einem Thread erstellt wurden.
TOKEN_GROUPS Gibt die SIDs und Attribute der Gruppen-SIDs in einem Zugriffstoken an.
TOKEN_OWNER Die Standard-Besitzer-SID für die Sicherheitsbeschreibungen neuer Objekte.
TOKEN_PRIMARY_GROUP Die standardmäßige primäre Gruppen-SID für die Sicherheitsbeschreibungen neuer Objekte.
TOKEN_PRIVILEGES Die Berechtigungen, die einem Zugriffstoken zugeordnet sind. Bestimmt auch, ob die Berechtigungen aktiviert sind.
TOKEN_SOURCE Die Quelle eines Zugriffstokens.
TOKEN_STATISTICS Statistiken, die einem Zugriffstoken zugeordnet sind.
TOKEN_USER Die SID des Benutzers, der einem Zugriffstoken zugeordnet ist.

 

Die Zugriffstokenfunktionen verwenden die folgenden Enumerationstypen.

Enumerationstyp Bedeutung
TOKEN_INFORMATION_CLASS Gibt den Typ der Informationen an, die festgelegt oder aus einem Zugriffstoken abgerufen werden.
TOKEN_TYPE Identifiziert ein Zugriffstoken als primäres Token oder Identitätswechseltoken.