Cenni preliminari sulla sicurezza di automazione interfaccia utente

Nota

Questa documentazione è destinata agli sviluppatori .NET Framework che desiderano utilizzare le classi di Automazione interfaccia utente gestite definite nello spazio dei nomi System.Windows.Automation. Per informazioni aggiornate su 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 fondamentale di Windows Vista e una delle novità è la possibilità per gli utenti di operare come utenti standard (non amministratori) senza che venga bloccata l'esecuzione di applicazioni e servizi che richiedono privilegi più elevati.

In Windows Vista, la maggior parte delle applicazioni viene fornita con un token standard o amministrativo. Per impostazione predefinita, se un'applicazione non può essere identificata come applicazione amministrativa, viene avviata come applicazione standard. Prima che un'applicazione identificata come amministrativa possa essere avviata, Windows Vista chiede all'utente il consenso per eseguire l'applicazione come utente con privilegi elevati. La richiesta di consenso viene visualizzata per impostazione predefinita, anche se l'utente è membro del gruppo Administrators locale, perché gli amministratori operano come utenti standard finché un'applicazione o un componente di sistema, per cui sono necessarie credenziali amministrative, non 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 che chiede all'utente il consenso per continuare. Questa finestra di dialogo è protetta dalla comunicazione tra processi, in modo che un software dannoso non possa simulare l'input utente. Analogamente, la schermata di accesso al desktop in genere non è accessibile ad altri processi.

I client di automazione interfaccia utente devono comunicare con altri processi, alcuni dei quali potrebbero essere in esecuzione con un livello di privilegi più elevato. I client potrebbero anche aver bisogno di accedere alle finestre di dialogo di sistema che non sono in genere visibili ad altri processi. Di conseguenza, i client di Automazione interfaccia utente devono essere considerati attendibili dal sistema e devono essere eseguiti con privilegi speciali.

Per essere considerate attendibili e comunicare con applicazioni in esecuzione con un livello di privilegi più elevato, le applicazioni devono essere firmate.

File manifesto

Per accedere all'interfaccia utente di sistema protetta, le applicazioni devono essere compilate con l’attributo uiAccess nel tag requestedExecutionLevel, come 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 esiste alcun manifesto per l'assembly, l'applicazione non sarà in grado di accedere all'interfaccia utente protetta.