Compartilhar via


Visão geral das extensões de segurança

Uma extensão de segurança do Reporting Services permite a autenticação e autorização de usuários ou grupos; ou seja, permite que diferentes usuários façam logon em um servidor de relatório e, com base em suas identidades, executem diferentes tarefas ou operações. Por padrão, o Reporting Services usa uma extensão de autenticação baseada no Windows, que usa protocolos de conta do Windows para verificar as identidades dos 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 baseado em função do Reporting Services é semelhante aos modelos de segurança baseados em função de outras tecnologias.

Como as extensões de segurança são baseadas em uma API aberta e extensível, você pode criar novas extensões de autenticação e autorização no Reporting Services. Veja a seguir um exemplo de uma implementação de extensão de segurança típica que usa autenticação e autorização baseadas em Formulários:

de extensão de segurança do Reporting ServicesProcesso

Conforme mostrado na ilustração, a autenticação e a autorização ocorrem da seguinte maneira:

  1. Um usuário tenta acessar o Gerenciador de Relatórios usando uma URL e é redirecionado para um formulário que coleta credenciais de usuário para o aplicativo cliente.

  2. O usuário envia credenciais para o formulário.

  3. As credenciais do usuário são enviadas para o serviço Web do Reporting Services por meio do LogonUser método.

  4. O serviço Web chama a extensão de segurança fornecida pelo cliente e verifica se o nome de usuário e a senha existem 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 home page do Gerenciador de Relatórios.

  6. O serviço Web retorna o cookie para o navegador e exibe a interface do usuário apropriada no Gerenciador de Relatórios.

  7. Depois que o usuário é autenticado, o navegador faz solicitações ao Gerenciador de Relatórios ao transmitir o cookie no cabeçalho HTTP. Essas solicitações são uma resposta às ações do usuário no aplicativo Gerenciador de Relatórios.

  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 retornará o descritor de segurança e outras informações relacionadas à operação solicitada do banco de dados do servidor de relatório.

  10. Se o cookie for válido, o servidor de relatório fará uma chamada para a 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 que o usuário é autenticado, o acesso à URL ao servidor de relatório usa o mesmo cookie. O cookie é transmitido no cabeçalho HTTP.

  13. O usuário continua solicitando operações no servidor de relatório até que a sessão seja encerrada.

Quando implementar uma extensão de segurança

Recomendamos que você use a Autenticação do Windows, se possível. No entanto, a autenticação e a autorização personalizadas 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 definidos personalizados e precisa fornecer um esquema de autorização correspondente no Reporting Services.

Consulte Também

Implementando uma extensão de segurança, configure o Gerenciador de Relatórios para passar cookies de autenticação personalizados