Übersicht über die Benutzeroberflächenautomatisierungs-SicherheitUI Automation Security Overview

Hinweis

Diese Dokumentation ist für .NET Framework-Entwickler vorgesehen, die die verwalteten BenutzeroberflächenautomatisierungUI Automation-Klassen verwenden möchten, die im System.Windows.Automation-Namespace definiert sind.This documentation is intended for .NET Framework developers who want to use the managed BenutzeroberflächenautomatisierungUI Automation classes defined in the System.Windows.Automation namespace. Die neuesten Informationen zu BenutzeroberflächenautomatisierungUI Automationfinden Sie unter Windows Automation-API: Automatisierungder Benutzeroberfläche.For the latest information about BenutzeroberflächenautomatisierungUI Automation, see Windows Automation API: UI Automation.

In dieser Übersicht wird das Sicherheitsmodell für Microsoft-UI-AutomatisierungMicrosoft UI Automation in Windows VistaWindows Vistabeschrieben.This overview describes the security model for Microsoft-UI-AutomatisierungMicrosoft UI Automation in Windows VistaWindows Vista.

BenutzerkontensteuerungUser Account Control

Sicherheit stellt einen zentralen Schwerpunkt von Windows VistaWindows Vista dar, und zu den Neuerungen zählt die Möglichkeit für Benutzer, mit einer Anmeldung als Standardbenutzer (ohne Administratorberechtigungen) zu arbeiten, ohne grundsätzlich von der Ausführung von Anwendungen und Diensten ausgeschlossen zu sein, für die erhöhte Rechte erforderlich sind.Security is a major focus of Windows VistaWindows Vista and among the innovations is the ability for users to run as standard (non-administrator) users without necessarily being blocked from running applications and services that require higher privileges.

In Windows VistaWindows Vistawerden die meisten Anwendungen entweder mit einem Standard- oder einem Administratortoken bereitgestellt.In Windows VistaWindows Vista, most applications are supplied with either a standard or an administrative token. Wenn eine Anwendung nicht als Administratoranwendung identifiziert werden kann, wird sie standardmäßig als Standardanwendung gestartet.If an application cannot be identified as an administrative application, it is launched as a standard application by default. Vor dem Starten einer Anwendung, die als Administratoranwendung identifiziert wurde, bittet Windows VistaWindows Vista den Benutzer um seine Zustimmung zur Ausführung der Anwendung mit erhöhten Rechten.Before an application identified as administrative can be launched, Windows VistaWindows Vista prompts the user for consent to run the application as elevated. Die Aufforderung zur Zustimmung wird standardmäßig angezeigt, auch wenn der Benutzer ein Mitglied der lokalen Administratorgruppe ist, da auch Administratoren mit den Rechten von Standardbenutzern agieren, bis eine Anwendung oder Systemkomponente, für die Administratorberechtigungen erforderlich sind, die Ausführungserlaubnis anfordert.The consent prompt is displayed by default, even if the user is a member of the local Administrators group, because administrators run as standard users until an application or system component that requires administrative credentials requests permission to run.

Aufgaben, für die erhöhte Rechte erforderlich sindTasks Requiring Higher Privileges

Wenn ein Benutzer versucht, eine Aufgabe auszuführen, für die Administratorberechtigungen erforderlich sind, zeigt Windows VistaWindows Vista ein Dialogfeld an, das den Benutzer um seine Zustimmung zur weiteren Ausführung bittet.When a user attempts to perform a task that requires administrative privileges, Windows VistaWindows Vista presents a dialog box asking the user for consent to continue. Dieses Dialogfeld ist gegen prozessübergreifenden Datenaustausch geschützt, sodass Schadsoftware keine Benutzereingaben simulieren kann.This dialog box is protected from cross-process communication, so that malicious software cannot simulate user input. Analog dazu kann auch auf den Anmeldebildschirm auf dem Desktop nicht durch andere Prozesse zugegriffen werden.Similarly, the desktop logon screen cannot normally be accessed by other processes.

Benutzeroberflächenautomatisierungs-Clients müssen mit anderen Prozessen kommunizieren, von denen einige möglicherweise mit erhöhten Rechten ausgeführt werden.UI Automation clients must communicate with other processes, some of them perhaps running at a higher privilege level. Darüber hinaus benötigen Clients möglicherweise Zugriff auf die Systemdialogfelder, die für andere Prozesse normalerweise nicht sichtbar sind.Clients also might need access to the system dialog boxes that are not normally visible to other processes. Daher müssen BenutzeroberflächenautomatisierungUI Automation -Clients aus Sicht des Systems als vertrauenswürdig eingestuft sein und mit besonderen Berechtigungen ausgeführt werden.Therefore, BenutzeroberflächenautomatisierungUI Automation clients must be trusted by the system, and must run with special privileges.

Damit sie für den Datenaustausch mit Anwendungen, die mit höheren Berechtigungsstufen ausgeführt werden, als vertrauenswürdig angesehen werden, müssen Anwendungen signiert sein.To be trusted to communicate with applications running at a higher privilege level, applications must be signed.

ManifestdateienManifest Files

Für den Zugriff auf die Benutzeroberfläche des geschützten Systems müssen Anwendungen wie folgt mit einer Manifest-Datei erstellt uiAccess werden, die requestedExecutionLevel das-Attribut im-Tag enthält:To gain access to the protected system UI, applications must be built with a manifest file that includes the uiAccess attribute in the requestedExecutionLevel tag, as follows:

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

Der Wert des level -Attributs in diesem Code stellt nur ein Beispiel dar.The value of the level attribute in this code is an example only.

uiAccessist standardmäßig "false"; Das heißt, wenn das Attribut ausgelassen wird oder kein Manifest für die Assembly vorhanden ist, kann die Anwendung keinen Zugriff auf die geschützte Benutzeroberfläche erhalten.uiAccess is "false" by default; that is, if the attribute is omitted, or if there is no manifest for the assembly, the application will not be able to gain access to protected UI.