Visão geral da segurança de automação da interface do usuário
Nota
Esta documentação destina-se a desenvolvedores do .NET Framework que desejam usar as classes de automação da interface do usuário gerenciadas definidas no System.Windows.Automation namespace. Para obter as informações mais recentes sobre a automação da interface do usuário, consulte API de automação do Windows: automação da interface do usuário.
Esta visão geral descreve o modelo de segurança para a automação da interface do usuário da Microsoft no Windows Vista.
Controlo de Conta de Utilizador
A segurança é um dos principais focos do Windows Vista e entre as inovações está a capacidade de os usuários executarem como usuários padrão (não administradores) sem necessariamente serem impedidos de executar aplicativos e serviços que exigem privilégios mais altos.
No Windows Vista, a maioria dos aplicativos é fornecida com um token padrão ou administrativo. Se um aplicativo não puder ser identificado como um aplicativo administrativo, ele será iniciado como um aplicativo padrão por padrão. Antes que um aplicativo identificado como administrativo possa ser iniciado, o Windows Vista solicita ao usuário consentimento para executar o aplicativo como elevado. O prompt de consentimento é exibido por padrão, mesmo que o usuário seja membro do grupo Administradores local, porque os administradores são executados como usuários padrão até que um aplicativo ou componente do sistema que exija credenciais administrativas solicite permissão para ser executado.
Tarefas que exigem privilégios mais altos
Quando um usuário tenta executar uma tarefa que requer privilégios administrativos, o Windows Vista apresenta uma caixa de diálogo solicitando o consentimento do usuário para continuar. Essa caixa de diálogo é protegida contra comunicação entre processos, de modo que o software mal-intencionado não possa simular a entrada do usuário. Da mesma forma, a tela de logon da área de trabalho normalmente não pode ser acessada por outros processos.
Os clientes de automação da interface do usuário devem se comunicar com outros processos, alguns deles talvez executados em um nível de privilégio mais alto. Os clientes também podem precisar de acesso às caixas de diálogo do sistema que normalmente não são visíveis para outros processos. Portanto, os clientes de automação da interface do usuário devem ser confiáveis pelo sistema e devem ser executados com privilégios especiais.
Para serem confiáveis para se comunicar com aplicativos executados em um nível de privilégio mais alto, os aplicativos devem ser assinados.
Arquivos de manifesto
Para obter acesso à interface do usuário do sistema protegido, os aplicativos devem ser criados com um arquivo de manifesto que inclua o uiAccess
atributo na tag , da requestedExecutionLevel
seguinte maneira:
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="highestAvailable"
uiAccess="true" />
</requestedPrivileges>
</security>
</trustInfo>
O valor do level
atributo neste código é apenas um exemplo.
uiAccess
é "falso" por defeito; ou seja, se o atributo for omitido, ou se não houver nenhum manifesto para o assembly, o aplicativo não poderá obter acesso à interface do usuário protegida.