Freigeben über


Zugriffstoken

Ein Zugriffstoken ist ein Objekt, das den Sicherheitskontext eines Prozesses oder Threads beschreibt. Die Informationen in einem Token umfassen die Identität und 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 verglichen wird, die in einer Sicherheitsdatenbank gespeichert sind. Wenn das Kennwort authentifiziertist, erzeugt das System ein Zugriffstoken. Jeder Prozess, der im Auftrag 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 benutzerkontos beschreibt, das dem Prozess zugeordnet ist. 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 imitieren. Der Identitätswechsel ermöglicht dem Thread die Interaktion mit sicherungsfähigen Objekten mithilfe des Sicherheitskontexts des Clients. 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 SIDs, gelöschte Berechtigungen und eine Liste eingeschränkter SIDs deaktiviert haben.
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 eine Liste der einschränkenden SIDs enthält.
OpenProcessToken- Ruft ein Handle für das primäre Zugriffstoken für einen Prozess ab.
OpenThreadToken- Ruft ein Handle für das Identitätswechselzugriffstoken für einen Thread ab.
SetThreadToken- Weist ein Identitätswechseltoken für einen Thread 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 standardmäßige DACL, die das System in den Sicherheitsdeskriptoren 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 Standardbesitzer-SID für die Sicherheitsdeskriptoren neuer Objekte.
TOKEN_PRIMARY_GROUP Die primäre Standardgruppen-SID für die Sicherheitsdeskriptoren neuer Objekte.
TOKEN_PRIVILEGES Die Berechtigungen, die einem Zugriffstoken zugeordnet sind. Bestimmt außerdem, 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 Gibt
TOKEN_INFORMATION_CLASS Gibt den Typ der festzulegenden oder aus einem Zugriffstoken abgerufenen Informationen an.
TOKEN_TYPE Identifiziert ein Zugriffstoken als primäres oder Identitätswechseltoken.