Condividi tramite


Panoramica della sicurezza dell'automazione dell'interfaccia utente

Annotazioni

Questa documentazione è destinata agli sviluppatori .NET Framework che vogliono usare le classi di automazione interfaccia utente gestite definite nello spazio dei nomi System.Windows.Automation. Per le informazioni più recenti sull'automazione interfaccia utente, vedere API di automazione di Windows: Automazione interfaccia utente.

Questa panoramica descrive il modello di sicurezza per Automazione interfaccia utente Microsoft in Windows Vista.

Controllo dell'account utente

La sicurezza è un obiettivo importante di Windows Vista e tra le innovazioni è la possibilità per gli utenti di eseguire come utenti standard (non amministratori) senza dover necessariamente eseguire applicazioni e servizi che richiedono privilegi più elevati.

In Windows Vista la maggior parte delle applicazioni viene fornita con un token standard o amministrativo. Se un'applicazione non può essere identificata come applicazione amministrativa, viene avviata come applicazione standard per impostazione predefinita. Prima che un'applicazione identificata come amministrativa possa essere avviata, Windows Vista chiede all'utente di fornire il consenso per eseguire l'applicazione con privilegi elevati. La richiesta di consenso viene visualizzata per impostazione predefinita, anche se l'utente è membro del gruppo Administrators locale, perché gli amministratori vengono eseguiti come utenti standard fino a quando un'applicazione o un componente di sistema che richiede credenziali amministrative richiede l'autorizzazione per l'esecuzione.

Attività che richiedono privilegi più elevati

Quando un utente tenta di eseguire un'attività che richiede privilegi amministrativi, Windows Vista visualizza una finestra di dialogo in cui viene chiesto all'utente di fornire il consenso per continuare. Questa finestra di dialogo è protetta dalla comunicazione tra processi, in modo che il software dannoso non possa simulare l'input dell'utente. Analogamente, la schermata di accesso desktop non può normalmente essere accessibile da altri processi.

I client di automazione interfaccia utente devono comunicare con altri processi, alcuni di essi possono essere eseguiti a un livello di privilegi più elevato. I client potrebbero anche dover accedere alle finestre di dialogo di sistema che normalmente non sono visibili ad altri processi. Pertanto, i client di automazione interfaccia utente devono essere considerati attendibili dal sistema e devono essere eseguiti con privilegi speciali.

Per essere attendibili per comunicare con le applicazioni in esecuzione a un livello di privilegi superiore, le applicazioni devono essere firmate.

File di manifest

Per ottenere l'accesso all'interfaccia utente del sistema protetto, le applicazioni devono essere compilate con un file manifesto che include l'attributo uiAccess nel requestedExecutionLevel tag, come indicato di seguito:

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

Il valore dell'attributo level in questo codice è solo un esempio.

uiAccess è "false" per impostazione predefinita; ovvero, se l'attributo viene omesso o se non è presente alcun manifesto per l'assembly, l'applicazione non sarà in grado di ottenere l'accesso all'interfaccia utente protetta.