Přehled zabezpečení automatizace uživatelského rozhraní

Poznámka:

Tato dokumentace je určená pro vývojáře rozhraní .NET Framework, kteří chtějí používat spravované třídy model UI Automation definované v System.Windows.Automation oboru názvů. Nejnovější informace o model UI Automation najdete v tématu Rozhraní API služby Windows Automation: model UI Automation.

Tento přehled popisuje model zabezpečení pro Microsoft model UI Automation v systému Windows Vista.

řízení uživatelských účtů

Zabezpečení je hlavním cílem systému Windows Vista a mezi inovacemi je schopnost uživatelů běžet jako standardní (nesprávní) uživatelé bez nutnosti blokovat spouštění aplikací a služeb, které vyžadují vyšší oprávnění.

Ve Windows Vista je většina aplikací dodávána se standardním nebo administrativním tokenem. Pokud aplikaci nelze identifikovat jako aplikaci pro správu, spustí se ve výchozím nastavení jako standardní aplikace. Před spuštěním aplikace, která je označena jako správce, systém Windows Vista vyzve uživatele k vyjádření souhlasu se spuštěním aplikace se zvýšenými oprávněními. Výzva k vyjádření souhlasu se ve výchozím nastavení zobrazí, i když je uživatel členem místní skupiny Správa istrators, protože správci běží jako standardní uživatelé, dokud aplikace nebo systémová komponenta, která vyžaduje oprávnění ke spuštění přihlašovacích údajů správce.

Úlohy vyžadující vyšší oprávnění

Když se uživatel pokusí provést úlohu, která vyžaduje oprávnění správce, zobrazí systém Windows Vista dialogové okno s žádostí o souhlas uživatele, aby mohl pokračovat. Toto dialogové okno je chráněné před komunikací mezi procesy, takže škodlivý software nemůže simulovat vstup uživatele. Podobně přihlašovací obrazovka plochy nemůže být obvykle přístupná jinými procesy.

model UI Automation klienti musí komunikovat s jinými procesy, některé z nich možná běží na vyšší úrovni oprávnění. Klienti také můžou potřebovat přístup k systémovým dialogovým oknem, která nejsou běžně viditelná pro jiné procesy. Proto model UI Automation klienti musí být systémem důvěryhodní a musí běžet se zvláštními oprávněními.

Aby bylo možné důvěřovat komunikaci s aplikacemi běžícími na vyšší úrovni oprávnění, musí být aplikace podepsané.

Soubory manifestu

Aby bylo možné získat přístup k chráněnému systémovému uživatelskému rozhraní, musí být aplikace sestaveny se souborem manifestu uiAccess , který obsahuje atribut ve requestedExecutionLevel značce, následujícím způsobem:

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

Hodnota atributu level v tomto kódu je pouze příkladem.

uiAccess je ve výchozím nastavení "false"; to znamená, že pokud je atribut vynechán nebo pokud pro sestavení neexistuje žádný manifest, aplikace nebude moci získat přístup k chráněnému uživatelskému rozhraní.