Configuração da segurança para aplicativos de biblioteca
Há considerações especiais na configuração de segurança e autenticação baseadas em função para aplicativos de biblioteca.
Habilitando ou desabilitando a autenticação
Um dos fatores a serem considerados é se os chamadores do aplicativo de biblioteca devem estar sujeitos às verificações de segurança em nível de processo do processo de hospedagem, ou seja, se devem habilitar ou desabilitar a autenticação.
Por exemplo, se o aplicativo de biblioteca for hospedado por um navegador, talvez seja necessário receber retornos de chamada não autenticados. Para atender a essa necessidade, você pode desabilitar a autenticação para que o processo de hospedagem não execute verificações de segurança para chamadores do aplicativo de biblioteca. Quando você desabilita a autenticação, o aplicativo de biblioteca efetivamente não é autenticado — todas as chamadas para ele serão bem-sucedidas. Os chamadores do aplicativo de biblioteca não estão sujeitos às verificações de segurança do processo de hospedagem. Basicamente, o aplicativo de biblioteca é marcado como "não autenticado" e as verificações de segurança são omitidas para chamadas para o aplicativo de biblioteca.
Para obter informações sobre como habilitar ou desabilitar a autenticação, consulte Habilitando a autenticação para um aplicativo de biblioteca.
Impondo verificações de função
Outra decisão a ser tomada é se o aplicativo de biblioteca deve usar segurança baseada em função. Se a segurança baseada em função for usada, você deverá usar a segurança em nível de componente para que todas as verificações de acesso sejam realizadas. As funções atribuídas ao aplicativo de biblioteca não são refletidas no descritor de segurança do processo. A única autorização que o aplicativo de biblioteca pode controlar é no nível do componente. Para obter mais informações sobre segurança em nível de componente, consulte Limites de segurança.
Para ver como definir a segurança em nível de componente, consulte Definindo um nível de segurança para verificações de acesso.
Cenários de configuração
Para entender melhor as implicações de decidir se o aplicativo de biblioteca deve usar segurança baseada em função e se o aplicativo de biblioteca deve ser não autenticado, considere os seguintes cenários:
A autenticação está habilitada e a segurança baseada em função é usada. Nesse cenário, as verificações de segurança são feitas pelo processo de hospedagem e alguns chamadores têm o acesso negado no nível do processo. Além disso, a verificação de função é feita no nível do aplicativo de biblioteca para que alguns chamadores que passam pela verificação de segurança em nível de processo tenham acesso negado ao aplicativo de biblioteca quando a associação à função é verificada. Esse é o cenário usual para um aplicativo de biblioteca COM+ que usa segurança baseada em função.
A ilustração a seguir mostra o cenário em que a autenticação está habilitada e a verificação de função é usada.
A autenticação está habilitada e a segurança baseada em função não é usada. Nesse cenário, as verificações de segurança são feitas no nível do processo, mas a associação à função não é verificada no nível do aplicativo da biblioteca. Portanto, qualquer chamador do aplicativo de biblioteca que passar pela verificação de segurança em nível de processo terá acesso ao aplicativo de biblioteca porque a associação de função não está sendo verificada. Essa situação existiria quando um aplicativo COM que não usa segurança baseada em função é migrado para um aplicativo de biblioteca COM+.
A ilustração a seguir mostra o cenário em que a autenticação está habilitada e a verificação de função não está sendo usada.
A autenticação é desabilitada e a segurança baseada em função é usada. Nesse cenário, as verificações de segurança estão sendo feitas no nível do processo, mas os chamadores para o aplicativo de biblioteca não são autenticados. Na verdade, os chamadores do aplicativo de biblioteca estão isentos da verificação de segurança em nível de processo. Como a verificação de função está habilitada, a associação de função por si só determina a quem é dado acesso ao aplicativo de biblioteca. Esse cenário pode ser apropriado quando a verificação de segurança que seria feita pelo processo de hospedagem é muito restritiva, mas você precisa ter alguma restrição de acesso no aplicativo de biblioteca ou em interfaces ou métodos específicos. Esse cenário permite que você desative efetivamente a segurança do processo e ainda tenha uma verificação de acesso de nível apropriada usando a segurança baseada em função.
O cenário em que a autenticação está desabilitada e a verificação de função está sendo usada é mostrado na ilustração a seguir.
A autenticação está desabilitada e a segurança baseada em função não é usada. Nesse cenário, as verificações de segurança ainda são feitas no nível do processo, mas, como no cenário anterior, os chamadores do aplicativo de biblioteca sempre passam por essa verificação de segurança. Como a verificação de função também está desabilitada, a associação de função não é verificada no nível do aplicativo de biblioteca. Essencialmente, qualquer pessoa pode chamar o aplicativo de biblioteca. Esse cenário deve ser escolhido quando o objeto COM precisar receber retornos de chamada não autenticados, como pode ser o caso de um controle ActiveX hospedado pelo Internet Explorer e com um snap-in do Console de Gerenciamento Microsoft. Naturalmente, esse objeto COM deve ser confiável para se comportar adequadamente ao receber chamadas não autenticadas. Por exemplo, ele não deve acessar arquivos arbitrários em nome de seus chamadores.
O cenário em que a autenticação está desabilitada e a verificação de função não está sendo usada é mostrado na ilustração a seguir.
Depois de decidir se deseja habilitar ou desabilitar a autenticação para seu aplicativo de biblioteca COM+, consulte Habilitando a autenticação para um aplicativo de biblioteca para obter um procedimento passo a passo que explica como desabilitar (ou habilitar) a autenticação usando a ferramenta administrativa Serviços de Componentes. Se seu aplicativo de biblioteca usar segurança baseada em função, consulte Configurando a segurança baseada em função.
Tópicos relacionados