TOKEN_INFORMATION_CLASS-Enumeration (winnt.h)

Die TOKEN_INFORMATION_CLASS-Enumeration enthält Werte, die den Typ der Informationen angeben, die einem Zugriffstoken zugewiesen oder aus diesem abgerufen werden.

Die GetTokenInformation-Funktion verwendet diese Werte, um den Typ der abzurufenden Tokeninformationen anzugeben.

Die SetTokenInformation-Funktion verwendet diese Werte, um die Tokeninformationen festzulegen.

Syntax

typedef enum _TOKEN_INFORMATION_CLASS {
  TokenUser = 1,
  TokenGroups,
  TokenPrivileges,
  TokenOwner,
  TokenPrimaryGroup,
  TokenDefaultDacl,
  TokenSource,
  TokenType,
  TokenImpersonationLevel,
  TokenStatistics,
  TokenRestrictedSids,
  TokenSessionId,
  TokenGroupsAndPrivileges,
  TokenSessionReference,
  TokenSandBoxInert,
  TokenAuditPolicy,
  TokenOrigin,
  TokenElevationType,
  TokenLinkedToken,
  TokenElevation,
  TokenHasRestrictions,
  TokenAccessInformation,
  TokenVirtualizationAllowed,
  TokenVirtualizationEnabled,
  TokenIntegrityLevel,
  TokenUIAccess,
  TokenMandatoryPolicy,
  TokenLogonSid,
  TokenIsAppContainer,
  TokenCapabilities,
  TokenAppContainerSid,
  TokenAppContainerNumber,
  TokenUserClaimAttributes,
  TokenDeviceClaimAttributes,
  TokenRestrictedUserClaimAttributes,
  TokenRestrictedDeviceClaimAttributes,
  TokenDeviceGroups,
  TokenRestrictedDeviceGroups,
  TokenSecurityAttributes,
  TokenIsRestricted,
  TokenProcessTrustLevel,
  TokenPrivateNameSpace,
  TokenSingletonAttributes,
  TokenBnoIsolation,
  TokenChildProcessFlags,
  TokenIsLessPrivilegedAppContainer,
  TokenIsSandboxed,
  TokenIsAppSilo,
  TokenLoggingInformation,
  MaxTokenInfoClass
} TOKEN_INFORMATION_CLASS, *PTOKEN_INFORMATION_CLASS;

Konstanten

 
TokenUser
Wert: 1
Der Puffer empfängt
TOKEN_USER Struktur, die das Benutzerkonto des Tokens enthält.
TokenGroups
Der Puffer empfängt
TOKEN_GROUPS Struktur, die die dem Token zugeordneten Gruppenkonten enthält.
TokenPrivileges
Der Puffer empfängt
TOKEN_PRIVILEGES Struktur, die die Berechtigungen des Tokens enthält.
TokenOwner
Der Puffer empfängt
TOKEN_OWNER Struktur, die die Standard-Besitzersicherheits-ID (SID) für neu erstellte Objekte enthält.
TokenPrimaryGroup
Der Puffer empfängt
TOKEN_PRIMARY_GROUP Struktur, die die Standard-SID der primären Gruppe für neu erstellte Objekte enthält.
TokenDefaultDacl
Der Puffer empfängt
TOKEN_DEFAULT_DACL Struktur, die die Standard-DACL für neu erstellte Objekte enthält.
TokenSource
Der Puffer empfängt
TOKEN_SOURCE Struktur, die die Quelle des Tokens enthält. TOKEN_QUERY_SOURCE Zugriff ist erforderlich, um diese Informationen abzurufen.
TokenType
Der Puffer empfängt
TOKEN_TYPE Wert, der angibt, ob es sich bei dem Token um ein primäres Token oder ein Identitätswechseltoken handelt.
TokenImpersonationLevel
Der Puffer empfängt
SECURITY_IMPERSONATION_LEVEL Wert, der die Identitätswechselebene des Tokens angibt. Wenn das Zugriffstoken kein Identitätswechseltoken ist, schlägt die Funktion fehl.
TokenStatistics
Der Puffer empfängt
TOKEN_STATISTICS Struktur, die verschiedene Tokenstatistiken enthält.
TokenRestrictedSids
Der Puffer empfängt
TOKEN_GROUPS Struktur, die die Liste der einschränkenden SIDs in einem
eingeschränktes Token.
TokenSessionId
Der Puffer empfängt einen DWORD-Wert , der den Terminaldienste-Sitzungsbezeichner angibt, der dem Token zugeordnet ist.

Wenn das Token der Clientsitzung des Terminalservers zugeordnet ist, ist der Sitzungsbezeichner ungleich null.

Windows Server 2003 und Windows XP: Wenn das Token der Terminalserverkonsolensitzung zugeordnet ist, ist der Sitzungsbezeichner null.

In einer Nicht-Terminaldienste-Umgebung ist der Sitzungsbezeichner null.

Wenn TokenSessionId mit SetTokenInformation festgelegt ist, muss die Anwendung über die Berechtigung Als Teil des Betriebssystems handeln verfügen, und die Anwendung muss aktiviert sein, um die Sitzungs-ID in einem Token festzulegen.
TokenGroupsAndPrivileges
Der Puffer empfängt eine TOKEN_GROUPS_AND_PRIVILEGES Struktur, die die Benutzer-SID, die Gruppenkonten, die eingeschränkten SIDs und die dem Token zugeordnete Authentifizierungs-ID enthält.
TokenSessionReference
Reserviert.
TokenSandBoxInert
Der Puffer empfängt einen DWORD-Wert ungleich null, wenn das Token das flag SANDBOX_INERT enthält.
TokenAuditPolicy
Reserviert.
TokenOrigin
Der Puffer empfängt einen TOKEN_ORIGIN Wert.

Wenn das Token aus einer Anmeldung resultiert, die explizite Anmeldeinformationen verwendet hat, z. B. die Übergabe eines Namens, einer Domäne und eines Kennworts an die LogonUser-Funktion , enthält die TOKEN_ORIGIN-Struktur die ID der Anmeldesitzung , von der sie erstellt wurde.

Wenn das Token aus der Netzwerkauthentifizierung resultiert, z. B. ein Aufruf von AcceptSecurityContext oder ein Aufruf von LogonUser , bei dem dwLogonType auf LOGON32_LOGON_NETWORK oder LOGON32_LOGON_NETWORK_CLEARTEXT festgelegt ist, ist dieser Wert null.
TokenElevationType
Der Puffer empfängt einen TOKEN_ELEVATION_TYPE Wert, der die Erhöhungsebene des Tokens angibt.
TokenLinkedToken
Der Puffer empfängt eine TOKEN_LINKED_TOKEN-Struktur , die ein Handle für ein anderes Token enthält, das mit diesem Token verknüpft ist.
TokenElevation
Der Puffer empfängt eine TOKEN_ELEVATION-Struktur , die angibt, ob das Token mit erhöhten Rechten versehen ist.
TokenHasRestrictions
Der Puffer empfängt einen DWORD-Wert ungleich null, wenn das Token jemals gefiltert wurde.
TokenAccessInformation
Der Puffer empfängt eine TOKEN_ACCESS_INFORMATION-Struktur , die im Token enthaltene Sicherheitsinformationen angibt.
TokenVirtualizationAllowed
Der Puffer empfängt einen DWORD-Wert ungleich null, wenn die Virtualisierung für das Token zulässig ist.
TokenVirtualizationEnabled
Der Puffer empfängt einen DWORD-Wert ungleich null, wenn die Virtualisierung für das Token aktiviert ist.
TokenIntegrityLevel
Der Puffer empfängt eine TOKEN_MANDATORY_LABEL-Struktur , die die Integritätsebene des Tokens angibt.
TokenUIAccess
Der Puffer empfängt einen DWORD-Wert ungleich null, wenn für das Token das UIAccess-Flag festgelegt ist.
TokenMandatoryPolicy
Der Puffer empfängt eine TOKEN_MANDATORY_POLICY-Struktur , die die obligatorische Integritätsrichtlinie des Tokens angibt.
TokenLogonSid
Der Puffer empfängt eine TOKEN_GROUPS-Struktur , die die Anmelde-SID des Tokens angibt.
TokenIsAppContainer
Der Puffer empfängt einen DWORD-Wert ungleich null, wenn das Token ein App-Containertoken ist. Alle Aufrufer, die den TokenIsAppContainer überprüfen und 0 zurückgeben lassen, sollten auch überprüfen, ob das Aufrufertoken kein Identitätswechseltoken ist. Wenn das aktuelle Token kein App-Container, sondern ein Token auf Identitätsebene ist, sollten Sie AccessDenied zurückgeben.
TokenCapabilities
Der Puffer empfängt eine TOKEN_GROUPS-Struktur , die die funktionen enthält, die dem Token zugeordnet sind.
TokenAppContainerSid
Der Puffer empfängt eine TOKEN_APPCONTAINER_INFORMATION-Struktur , die die dem Token zugeordnete AppContainerSid enthält. Wenn das Token nicht einem App-Container zugeordnet ist, zeigt das TokenAppContainer-Element der TOKEN_APPCONTAINER_INFORMATION-Struktur auf NULL.
TokenAppContainerNumber
Der Puffer empfängt einen DWORD-Wert , der die App-Containernummer für das Token enthält. Für Token, bei denen es sich nicht um App-Containertoken handelt, ist dieser Wert null.
TokenUserClaimAttributes
Der Puffer empfängt eine CLAIM_SECURITY_ATTRIBUTES_INFORMATION Struktur, die die dem Token zugeordneten Benutzeransprüche enthält.
TokenDeviceClaimAttributes
Der Puffer empfängt eine CLAIM_SECURITY_ATTRIBUTES_INFORMATION-Struktur , die die dem Token zugeordneten Geräteansprüche enthält.
TokenRestrictedUserClaimAttributes
Dieser Wert ist reserviert.
TokenRestrictedDeviceClaimAttributes
Dieser Wert ist reserviert.
TokenDeviceGroups
Der Puffer empfängt eine TOKEN_GROUPS-Struktur , die die Gerätegruppen enthält, die dem Token zugeordnet sind.
TokenRestrictedDeviceGroups
Der Puffer empfängt eine TOKEN_GROUPS Struktur, die die eingeschränkten Gerätegruppen enthält, die dem Token zugeordnet sind.
TokenSecurityAttributes
Dieser Wert ist reserviert.
TokenIsRestricted
Dieser Wert ist reserviert.
TokenProcessTrustLevel
TokenPrivateNameSpace
TokenSingletonAttributes
TokenBnoIsolation
TokenChildProcessFlags
TokenIsLessPrivilegedAppContainer
Bezieht sich auf einen AppContainer (Least Privileged AppContainer, LPAC). Ein LPAC ist im Grunde ein AppContainer, der von der ALL_APPLICATION_PACKAGES SID ignoriert wird. Informationen dazu, was ein AppContainer ist, finden Sie unter AppContainer für Legacy-Apps.

Viele Ressourcen in Windows sind ACL'd mit ALL_APPLICATION_PACKAGES, wie unter DoNotAddAllApplicationPackagesToRestrictions beschrieben. In Szenarien, in denen ein Prozess ohne Rechte auf Ressourcen ausgeführt werden soll, außer dem, was Sie explizit gewähren (z. B. ein Webbrowser, der einen untergeordneten Arbeitsprozess sandt), hat ein AppContaoiner aufgrund von ALL_APPLICATION_PACKAGES zu viel Zugriff auf das System. Hier kommt ein LPAC ins Ziel. Sie können eine LPAC nur zwingend über APIs erstellen. nicht deklarativ über appxmanifest.xml.
MaxTokenInfoClass
Der Höchstwert für diese Enumeration.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Kopfzeile winnt.h (windows.h einschließen)

Weitere Informationen

Zugriffssteuerung

Autorisierungsaufzählungen

GetTokenInformation

SECURITY_IMPERSONATION_LEVEL

SetTokenInformation

TOKEN_CONTROL

TOKEN_DEFAULT_DACL

TOKEN_DEVICE_CLAIMS

TOKEN_GROUPS

TOKEN_GROUPS_AND_PRIVILEGES

TOKEN_ORIGIN

TOKEN_OWNER

TOKEN_PRIMARY_GROUP

TOKEN_PRIVILEGES

TOKEN_SOURCE

TOKEN_STATISTICS

TOKEN_TYPE

TOKEN_USER

TOKEN_USER_CLAIMS