Åtkomsttoken
En åtkomsttoken är ett objekt som beskriver säkerhetskontext för en process eller tråd. Informationen i en token innehåller identiteten och behörigheterna för användarkontot som är associerat med processen eller tråden. När en användare loggar in verifierar systemet användarens lösenord genom att jämföra det med information som lagras i en säkerhetsdatabas. Om lösenordet autentiserasskapar systemet en åtkomsttoken. Varje process som körs för den här användarens räkning har en kopia av den här åtkomsttoken.
Systemet använder en åtkomsttoken för att identifiera användaren när en tråd interagerar med ett skyddsbart objekt eller försöker utföra en systemuppgift som kräver behörigheter. Åtkomsttoken innehåller följande information:
- säkerhetsidentifierare (SID) för användarens konto
- SID:erna för de grupper som användaren är medlem i
- En inloggnings-SID som identifierar den aktuella inloggningssessionen
- En lista över behörigheter som innehas av användaren eller användarens grupper
- Ett ägar-SID
- SID för den primära gruppen
- Standard DACL- som systemet använder när användaren skapar ett skyddsbart objekt utan att ange en säkerhetsbeskrivning
- Källan till åtkomsttoken
- Om token är en primär eller personifiering token
- En valfri lista över begränsa sid-
- Aktuella personifieringsnivåer
- Annan statistik
Varje process har en primär token som beskriver säkerhetskontext för det användarkonto som är associerat med processen. Som standard använder systemet den primära token när en tråd i processen interagerar med ett skyddsbart objekt. Dessutom kan en tråd personifiera ett klientkonto. Med personifiering kan tråden interagera med skyddsbara objekt med hjälp av klientens säkerhetskontext. En tråd som personifierar en klient har både en primär token och en personifieringstoken.
Använd funktionen OpenProcessToken för att hämta ett handtag till den primära token för en process. Använd funktionen OpenThreadToken för att hämta ett handtag till personifieringstoken för en tråd. Mer information finns i Personifiering.
Du kan använda följande funktioner för att ändra åtkomsttoken.
Funktion | Beskrivning |
---|---|
AdjustTokenGroups | Ändrar gruppinformationen i en åtkomsttoken. |
AdjustTokenPrivileges | Aktiverar eller inaktiverar behörigheterna i en åtkomsttoken. Den beviljar inte nya privilegier eller återkallar befintliga. |
CheckTokenMembership | Avgör om ett angivet SID är aktiverat i en angiven åtkomsttoken. |
CreateRestrictedToken | Skapar en ny token som är en begränsad version av en befintlig token. Den begränsade token kan ha inaktiverat SID:er, borttagna behörigheter och en lista över begränsade SID:er. |
DuplicateToken | Skapar en ny personifieringstoken som duplicerar en befintlig token. |
DuplicateTokenEx | Skapar en ny primär token eller personifieringstoken som duplicerar en befintlig token. |
GetTokenInformation | Hämtar information om en token. |
IsTokenRestricted | Avgör om en token har en lista över begränsning av SID:er. |
OpenProcessToken | Hämtar en referens till den primära åtkomsttoken för en process. |
OpenThreadToken | Hämtar ett handtag till personifieringsåtkomsttoken för en tråd. |
SetThreadToken | Tilldelar eller tar bort en personifieringstoken för en tråd. |
SetTokenInformation | Ändrar en tokens ägare, primära grupp eller standard-DACL. |
Funktionerna för åtkomsttoken använder följande strukturer för att beskriva delarna i en åtkomsttoken.
Struktur | Beskrivning |
---|---|
TOKEN_CONTROL | Information som identifierar en åtkomsttoken. |
TOKEN_DEFAULT_DACL | Standard-DACL som systemet använder i säkerhetsbeskrivningarna för nya objekt som skapats av en tråd. |
TOKEN_GROUPS | Anger SID:erna och attributen för grupp-SID:erna i en åtkomsttoken. |
TOKEN_OWNER | Standardägar-SID för säkerhetsbeskrivningar för nya objekt. |
TOKEN_PRIMARY_GROUP | Standard-SID för primär grupp för säkerhetsbeskrivningar för nya objekt. |
TOKEN_PRIVILEGES | De behörigheter som är associerade med en åtkomsttoken. Avgör också om behörigheterna är aktiverade. |
TOKEN_SOURCE | Källan till en åtkomsttoken. |
TOKEN_STATISTICS | Statistik som är associerad med en åtkomsttoken. |
TOKEN_USER | SID för användaren som är associerad med en åtkomsttoken. |
Funktionerna för åtkomsttoken använder följande uppräkningstyper.
Uppräkningstyp | Anger |
---|---|
TOKEN_INFORMATION_CLASS | Identifierar vilken typ av information som anges eller hämtas från en åtkomsttoken. |
TOKEN_TYPE | Identifierar en åtkomsttoken som en primär token eller personifieringstoken. |