Cenários básicos para proteger dados em aplicativos de várias camadas
Este tópico apresenta alguns cenários de bloco de construção, ilustrando os critérios discutidos em Decidindo onde impor a segurança.
Cenário de servidor confiável
- O banco de dados confia totalmente no aplicativo COM+ para autenticar e autorizar os usuários finais a acessar dados no banco de dados.
- De preferência, o banco de dados é protegido contra qualquer acesso, exceto através do aplicativo.
- O aplicativo COM+ usa segurança baseada em função para autorizar usuários.
- As conexões são abertas sob a identidade do aplicativo COM+ e podem ser totalmente agrupadas.
- A auditoria e o registro em log podem ser feitos pelo aplicativo COM+ ou essas informações podem ser passadas para o banco de dados pelo aplicativo.
Esse cenário funciona melhor para dados que podem ser acessados por categorias previsíveis de usuários que podem ser encapsulados em funções. Por exemplo, apenas "Gerentes", "Caixas" e "Contadores" têm permissão para acessar contas. A lógica de negócios do que exatamente cada um está habilitado a fazer é imposta na camada intermediária.
Cenário de representação
- O banco de dados faz sua própria autenticação e autorização de usuários finais para ajudar a limitar o acesso aos dados no banco de dados.
- O aplicativo COM+ representa clientes sempre que está acessando o banco de dados.
- As conexões são feitas por chamada e não podem ser reutilizadas.
Esse cenário funciona melhor para dados que estão intimamente ligados a classes muito pequenas de usuários. Por exemplo, cada funcionário pode acessar apenas seu próprio arquivo de pessoal, e cada gerente pode acessar apenas os arquivos de pessoal de seus relatórios.
Cenário híbrido
Uma combinação dos dois cenários anteriores, em que a representação é usada somente quando é necessária.
Esse cenário funciona melhor em situações em que você tem relacionamentos híbridos de dados do usuário. Por exemplo, você tem "Gerentes", "Caixas", "Contadores" e milhares de clientes Web individuais que podem acessar apenas suas próprias contas. Você pode separar caminhos lógicos por meio do aplicativo, potencialmente com componentes separados, para lidar com a última classe de usuários, particularmente quando as suposições de desempenho para esses usuários são diferentes.
Cenário confiável usando funções do Microsoft SQL Server
- O Microsoft SQL Server 7.0 e posterior pode autorizar o acesso a linhas específicas usando funções, mas confia no aplicativo COM+ para autenticar e autorizar usuários e mapeá-los para as funções corretas no banco de dados.
- O aplicativo COM+ autoriza os usuários usando segurança baseada em função, e as funções do aplicativo correspondem bem às funções de banco de dados.
- Podem ser abertas conexões específicas para uma função de banco de dados específica. Essas conexões podem ser reutilizadas se forem mantidas por objetos em pool nos aplicativos COM+. Para obter detalhes sobre como fazer isso, consulte Pool de objetos COM+.
- A auditoria e o registro em log podem ser feitos pelo aplicativo COM+ ou essas informações podem ser passadas para o banco de dados pelo aplicativo.
Esse cenário funciona melhor para geralmente os mesmos tipos de usuários e dados do primeiro cenário de servidor confiável porque o aplicativo COM+ ainda está sendo amplamente confiável para manipular a autorização corretamente. No entanto, ele ajuda a proteger o banco de dados contra acesso não autorizado, permitindo o acesso potencialmente de várias fontes fora do aplicativo COM+, sem incorrer nas penalidades de dimensionamento e desempenho presentes com o cenário de representação.
Tópicos relacionados