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:

Screenshot of the Reporting Services security extension process.

Conforme mostrado na ilustração, a autenticação e a autorização ocorrem desta forma:

  1. 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.

  2. O usuário submete credenciais ao formulário.

  3. As credenciais de usuário são submetidas ao serviço Web do Reporting Services através do método LogonUser.

  4. 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.

  5. 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.

  6. O serviço Web retorna o cookie ao navegador e exibe a interface do usuário apropriada no portal da Web.

  7. 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.

  8. O cookie é transmitido no cabeçalho HTTP para o serviço Web junto com a operação de usuário solicitada.

  9. 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.

  10. 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.

  11. Se o usuário estiver autorizado, o servidor de relatório executará a operação solicitada e retornará o controle ao chamador.

  12. 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.

  13. 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.