Delen via


Beperkte tokens

Een beperkt token is een primaire of imitatie toegangstoken dat is gewijzigd door de functie CreateRestrictedToken. Een proces of imitatiethread die wordt uitgevoerd in de beveiligingscontext van een beperkt token wordt beperkt in de mogelijkheid om beveiligbare objecten te openen of bevoegde bewerkingen uit te voeren. De functie CreateRestrictedToken kan een token op de volgende manieren beperken:

  • Verwijder bevoegdheden uit het token.
  • Pas het kenmerk Alleen weigeren toe op SID's in het token, zodat ze niet kunnen worden gebruikt voor toegang tot beveiligde objecten. Zie SID-kenmerken in een Access Tokenvoor meer informatie over het kenmerk Alleen weigeren.
  • Geef een lijst op met het beperken van SID's, waarmee de toegang tot beveiligbare objecten kan worden beperkt.

Het systeem gebruikt de lijst met het beperken van SID's bij het controleren van de toegang van het token tot een beveiligbaar object. Wanneer een beperkt proces of thread toegang probeert te krijgen tot een beveiligbaar object, voert het systeem twee toegangscontroles uit: één met de ingeschakelde SID's van het token en een andere met behulp van de lijst met het beperken van SID's. Toegang wordt alleen verleend als beide toegangscontroles de aangevraagde toegangsrechten toestaan. Zie Hoe DACL's de toegang tot een objectbeheren voor meer informatie over toegangscontroles.

U kunt een beperkt primaire token gebruiken in een aanroep naar de functie CreateProcessAsUser. Normaal gesproken moet het proces dat CreateProcessAsUser aanroept, de SE_ASSIGNPRIMARYTOKEN_NAME bevoegdheid hebben, die meestal alleen wordt bewaard door systeemcode of door services die worden uitgevoerd in het LocalSystem-account. Als de CreateProcessAsUser aanroep echter een beperkte versie van het primaire token van de aanroeper opgeeft, is deze bevoegdheid niet vereist. Hierdoor kunnen gewone toepassingen beperkte processen maken.

U kunt ook een beperkt primair token of imitatietoken gebruiken in de functie ImpersonateLoggedOnUser.

Als u wilt bepalen of een token een lijst met beperkingen voor SID's heeft, roept u de functie IsTokenRestricted aan.

Notitie

Toepassingen die gebruikmaken van beperkte tokens moeten de beperkte toepassing uitvoeren op andere bureaubladen dan het standaard bureaublad. Dit is nodig om een aanval door een beperkte toepassing te voorkomen, met behulp van SendMessage of PostMessage, om onbeperkte toepassingen op het standaard bureaublad te gebruiken. Schakel indien nodig tussen bureaubladen voor uw toepassingsdoeleinden.