Delen via


Toegangstokens

Een toegangstoken is een object dat de beveiligingscontext beschrijft van een proces of thread. De informatie in een token bevat de identiteit en bevoegdheden van het gebruikersaccount dat is gekoppeld aan het proces of de thread. Wanneer een gebruiker zich aanmeldt, verifieert het systeem het wachtwoord van de gebruiker door het te vergelijken met gegevens die zijn opgeslagen in een beveiligingsdatabase. Als het wachtwoord is geverifieerd, produceert het systeem een toegangstoken. Elk proces dat namens deze gebruiker wordt uitgevoerd, heeft een kopie van dit toegangstoken.

Het systeem gebruikt een toegangstoken om de gebruiker te identificeren wanneer een thread communiceert met een beveiligbaar object of probeert een systeemtaak uit te voeren waarvoor bevoegdheden zijn vereist. Toegangstokens bevatten de volgende informatie:

Elk proces heeft een primaire token dat de beveiligingscontext beschrijft van het gebruikersaccount dat is gekoppeld aan het proces. Het systeem gebruikt standaard het primaire token wanneer een thread van het proces communiceert met een beveiligbaar object. Bovendien kan een thread een clientaccount imiteren. Met imitatie kan de thread communiceren met beveiligbare objecten met behulp van de beveiligingscontext van de client. Een thread die een client imiteert, heeft zowel een primair token als een imitatietoken.

Gebruik de functie OpenProcessToken om een ingang op te halen naar het primaire token van een proces. Gebruik de functie OpenThreadToken om een ingang op te halen voor het imitatietoken van een thread. Zie imitatievoor meer informatie.

U kunt de volgende functies gebruiken om toegangstokens te bewerken.

Functie Beschrijving
AdjustTokenGroups Hiermee wijzigt u de groepsgegevens in een toegangstoken.
AdjustTokenPrivileges Hiermee schakelt u de bevoegdheden in of uit in een toegangstoken. Er worden geen nieuwe bevoegdheden verleend of bestaande bevoegdheden ingetrokken.
CheckTokenMembership- Bepaalt of een opgegeven SID is ingeschakeld in een opgegeven toegangstoken.
CreateRestrictedToken- Hiermee maakt u een nieuw token dat een beperkte versie van een bestaand token is. Het beperkte token kan uitgeschakelde SID's, verwijderde bevoegdheden en een lijst met beperkte SID's hebben.
DuplicateToken- Hiermee maakt u een nieuw imitatietoken waarmee een bestaand token wordt gedupliceerd.
DuplicateTokenEx- Hiermee maakt u een nieuw primair token of imitatietoken waarmee een bestaand token wordt gedupliceerd.
GetTokenInformation- Haalt informatie over een token op.
IsTokenRestricted- Bepaalt of een token een lijst heeft met het beperken van SID's.
OpenProcessToken- Hiermee wordt een ingang opgehaald naar het primaire toegangstoken voor een proces.
OpenThreadToken Hiermee wordt een ingang opgehaald naar het toegangstoken voor imitatie voor een thread.
SetThreadToken- Hiermee wordt een imitatietoken voor een thread toegewezen of verwijderd.
SetTokenInformation- Hiermee wijzigt u de eigenaar, primaire groep of standaard-DACL van een token.

 

De toegangstokenfuncties gebruiken de volgende structuren om de onderdelen van een toegangstoken te beschrijven.

Structuur Beschrijving
TOKEN_CONTROL Informatie die een toegangstoken identificeert.
TOKEN_DEFAULT_DACL De standaard-DACL die door het systeem wordt gebruikt in de beveiligingsdescriptors van nieuwe objecten die zijn gemaakt door een thread.
TOKEN_GROUPS Hiermee geeft u de SID's en kenmerken van de groeps-SID's in een toegangstoken.
TOKEN_OWNER De standaard-eigenaar-SID voor de beveiligingsdescriptors van nieuwe objecten.
TOKEN_PRIMARY_GROUP De standaard primaire groeps-SID voor de beveiligingsdescriptors van nieuwe objecten.
TOKEN_PRIVILEGES De bevoegdheden die zijn gekoppeld aan een toegangstoken. Bepaalt ook of de bevoegdheden zijn ingeschakeld.
TOKEN_SOURCE De bron van een toegangstoken.
TOKEN_STATISTICS Statistieken die zijn gekoppeld aan een toegangstoken.
TOKEN_USER De SID van de gebruiker die is gekoppeld aan een toegangstoken.

 

De toegangstokenfuncties gebruiken de volgende opsommingstypen.

Opsommingstype Hiermee geeft u
TOKEN_INFORMATION_CLASS Identificeert het type informatie dat wordt ingesteld of opgehaald uit een toegangstoken.
TOKEN_TYPE Identificeert een toegangstoken als een primair of imitatietoken.