Visão geral das extensões de segurança - Reporting Services (SSRS)
Uma extensão de segurança do Reporting Services permite a autenticação e a autorização de usuários ou grupos; ou seja, ele permite que diferentes usuários entrem em um servidor de relatório e, com base em suas identidades, executem tarefas ou operações diferentes. Por padrão, o Reporting Services usa uma extensão de autenticação baseada no Windows, que usa protocolos de contas do Windows para verificar as identidades de usuários que afirmam ter contas no sistema. O Reporting Services usa um sistema de segurança baseado em função para autorizar usuários. O modelo de segurança baseada em função do Reporting Services é semelhante aos modelos de segurança baseada em função de outras tecnologias.
Como extensões de segurança se baseiam em uma API aberta e extensível, você pode criar autenticação nova e extensões de autorização no Reporting Services. O exemplo a seguir mostra uma implementação de extensão de segurança típica que usa autenticação e autorização baseadas em formulários:
Conforme mostrado na ilustração, a autenticação e a autorização ocorrem desta forma:
Um usuário tenta acessar o portal da Web usando uma URL e é redirecionado para um formulário que coleta credenciais de usuário para o aplicativo cliente.
O usuário submete credenciais ao formulário.
As credenciais de usuário são submetidas ao serviço Web do Reporting Services através do método LogonUser.
O serviço Web chama a extensão de segurança fornecida pelo cliente e verifica se há nome e senha do usuário na autoridade de segurança personalizada.
Após a autenticação, o serviço Web cria um tíquete de autenticação (conhecido como "cookie"), gerencia o tíquete e verifica a função do usuário para a Página inicial do portal da Web.
O serviço Web retorna o cookie ao navegador e exibe a interface do usuário apropriada no portal da Web.
Depois da autenticação do usuário, o navegador fará solicitações ao portal da Web enquanto transmitirá o cookie no cabeçalho HTTP. Essas solicitações são uma resposta a ações do usuário dentro do portal da Web.
O cookie é transmitido no cabeçalho HTTP para o serviço Web junto com a operação de usuário solicitada.
O cookie é validado e, se for válido, o servidor de relatório retorna o descritor de segurança e outras informações relacionadas à operação solicitada do banco de dados do servidor de relatório.
Quando o cookie é válido, o servidor de relatório faz uma chamada à extensão de segurança para verificar se o usuário está autorizado a executar a operação específica.
Se o usuário estiver autorizado, o servidor de relatório executará a operação solicitada e retornará o controle ao chamador.
Depois da autenticação do usuário, o acesso de URL ao servidor de relatório usa o mesmo cookie. O cookie é transmitido no cabeçalho HTTP.
O usuário continua a solicitar operações no servidor de relatório até que a sessão termine.
Quando implementar uma extensão de segurança
É recomendável usar a Autenticação do Windows quando isso é possível. No entanto, a autenticação personalizada e a autorização para o Reporting Services podem ser apropriadas nos dois casos a seguir:
Você tem um aplicativo de Internet ou extranet que não pode usar contas do Windows.
Você tem usuários e funções com definição personalizada e precisa fornecer um esquema de autorização compatível no Reporting Services.