Delen via


Overzicht van UI Automation-beveiliging

Notitie

Deze documentatie is bedoeld voor .NET Framework-ontwikkelaars die de beheerde UI Automation-klassen willen gebruiken die zijn gedefinieerd in de System.Windows.Automation naamruimte. Zie Windows Automation-API: UI Automation voor de meest recente informatie over UI Automation.

In dit overzicht wordt het beveiligingsmodel voor Microsoft UI Automation in Windows Vista beschreven.

Gebruikersaccountbeheer

Beveiliging is een belangrijke focus op Windows Vista en onder de innovaties is de mogelijkheid voor gebruikers om te worden uitgevoerd als standaardgebruikers (niet-beheerders) zonder dat ze noodzakelijkerwijs worden geblokkeerd voor het uitvoeren van toepassingen en services waarvoor hogere bevoegdheden zijn vereist.

In Windows Vista worden de meeste toepassingen geleverd met een standaard of een beheertoken. Als een toepassing niet kan worden geïdentificeerd als een beheertoepassing, wordt deze standaard gestart als een standaardtoepassing. Voordat een toepassing die is geïdentificeerd als beheerder kan worden gestart, vraagt Windows Vista de gebruiker om toestemming om de toepassing uit te voeren als verhoogde bevoegdheden. De toestemmingsprompt wordt standaard weergegeven, zelfs als de gebruiker lid is van de lokale groep Beheer istrators, omdat beheerders als standaardgebruikers worden uitgevoerd totdat een toepassing of systeemonderdeel waarvoor beheerdersreferenties zijn vereist, toestemming wordt gevraagd om uit te voeren.

Taken waarvoor hogere bevoegdheden zijn vereist

Wanneer een gebruiker probeert een taak uit te voeren waarvoor beheerdersbevoegdheden zijn vereist, wordt in Windows Vista een dialoogvenster weergegeven waarin de gebruiker wordt gevraagd om toestemming te geven om door te gaan. Dit dialoogvenster is beveiligd tegen communicatie tussen processen, zodat schadelijke software geen gebruikersinvoer kan simuleren. Op dezelfde manier kan het aanmeldingsscherm van het bureaublad normaal gesproken niet worden geopend door andere processen.

UI Automation-clients moeten communiceren met andere processen, waarvan sommige mogelijk worden uitgevoerd op een hoger bevoegdheidsniveau. Clients hebben mogelijk ook toegang nodig tot de systeemdialoogvensters die normaal gesproken niet zichtbaar zijn voor andere processen. Daarom moeten UI Automation-clients worden vertrouwd door het systeem en moeten worden uitgevoerd met speciale bevoegdheden.

Om te kunnen communiceren met toepassingen die op een hoger bevoegdheidsniveau worden uitgevoerd, moeten toepassingen worden ondertekend.

Manifestbestanden

Als u toegang wilt krijgen tot de gebruikersinterface van het beveiligde systeem, moeten toepassingen als volgt worden gebouwd met een manifestbestand dat het uiAccess kenmerk in de requestedExecutionLevel tag bevat:

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
  <security>
    <requestedPrivileges>
      <requestedExecutionLevel
        level="highestAvailable"
        uiAccess="true" />
    </requestedPrivileges>
  </security>
</trustInfo>

De waarde van het level kenmerk in deze code is alleen een voorbeeld.

uiAccess is standaard 'onwaar'; als het kenmerk wordt weggelaten of als er geen manifest is voor de assembly, kan de toepassing geen toegang krijgen tot beveiligde gebruikersinterface.