Zugriffstoken

Ein Zugriffstoken ist ein Objekt, das den Sicherheitskontext eines Prozesses oder Threads beschreibt. Die Informationen in einem Token enthalten 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 es mit den in einer Sicherheitsdatenbank gespeicherten Informationen vergleicht. Wenn das Kennwort authentifiziert ist,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ähigem 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ähigem Objekt interagiert. Darüber hinaus kann ein Thread die Identität eines Clientkontos imitieren. Der Identitätswechsel ermöglicht dem Thread die Interaktion mit sicherungsbaren Objekten unter Verwendung des Sicherheitskontexts des Clients. Ein Thread, der die Identität eines Clients anpersoniert, 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 werden keine neuen Berechtigungen gewährt oder vorhandene widerrufen.
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 eingeschränkter 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 mit einschränkenden 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
_TOKENSTEUERUNG 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 werden.
_TOKENGRUPPEN Gibt die SIDs und Attribute der Gruppen-SIDs in einem Zugriffstoken an.
_TOKENBESITZER Die Standardbesitzer-SID für die Sicherheitsbeschreibungen neuer Objekte.
PRIMÄRE _ _ TOKENGRUPPE Die standardmäßige primäre Gruppen-SID für die Sicherheitsbeschreibungen neuer Objekte.
_TOKENBERECHTIGUNGEN Die einem Zugriffstoken zugeordneten Berechtigungen. Bestimmt auch, ob die Berechtigungen aktiviert sind.
_TOKENQUELLE Die Quelle eines Zugriffstokens.
_TOKENSTATISTIKEN Statistiken, die einem Zugriffstoken zugeordnet sind.
_TOKENBENUTZER Die SID des Benutzers, der einem Zugriffstoken zugeordnet ist.

Die Zugriffstokenfunktionen verwenden die folgenden Enumerationstypen.

Enumerationstyp Bedeutung
TOKEN _ _ INFORMATION-KLASSE Identifiziert den Typ der Informationen, die festgelegt oder aus einem Zugriffstoken abgerufen werden.
_TOKENTYP Identifiziert ein Zugriffstoken als primäres Token oder Identitätswechseltoken.