O usuário interativo é o usuário que está conectado no momento ao computador em que o servidor COM está sendo executado. Se a identidade estiver definida como o usuário interativo, todos os clientes usarão a mesma instância do servidor se o servidor registrar sua fábrica de classes como multiuso. Se nenhum usuário estiver conectado, o servidor não será executado. Se o servidor tiver uma interface gráfica do usuário (GUI) que o cliente precisa ver, você deve usar o usuário interativo para a identidade do servidor. No entanto, escolher essa identidade traz alguns riscos de segurança porque o servidor é executado sob a identidade do usuário conectado sem o conhecimento ou consentimento do usuário conectado. Além disso, um aplicativo de serviço não pode exibir uma interface do usuário. Para obter mais informações, consulte Serviços interativos.
Se um servidor COM estiver configurado para ser executado como o usuário interativo, em um ambiente de serviços de terminal, o servidor será iniciado na sessão interativa que corresponde à identidade do usuário do cliente. No entanto, o aplicativo cliente pode usar o moniker de sessão para fazer referência a um objeto fornecido pelo servidor em uma sessão que não corresponde à identidade do cliente. Quando isso é usado, o aplicativo cliente pode especificar qualquer sessão, caso em que o servidor será executado como o usuário proprietário da sessão, não o usuário de inicialização. As permissões de acesso padrão nesse cenário não permitem que o usuário de inicialização chame métodos no servidor. No entanto, os seguintes riscos de segurança permanecem:
Se o servidor COM expor interfaces que não são controladas por COM, como portas TCP, pipes nomeados, portas LPC, seções de memória compartilhada e assim por diante, elas poderão ser usadas pelo usuário de inicialização para influenciar o servidor. Os objetos COM configurados para serem executados como o usuário interativo devem reduzir ao máximo essa superfície de ataque.
Os objetos COM são livres para definir suas próprias permissões de acesso. Se o objeto definir permissões de acesso, em seu registro AppID ou chamando CoInitializeSecurity, para permitir o acesso do usuário de inicialização, o usuário poderá iniciar o servidor para ser executado como outro usuário e, em seguida, acessar o objeto.
Demonstrar os recursos do Microsoft Entra ID para modernizar as soluções de identidade, implementar soluções híbridas e implementar a governança de identidade.