Visão geral da segurança do Reporting Services no Modo Integrado do SharePoint

Quando você configura um servidor de relatório para ser executado no modo integrado do SharePoint, o servidor de relatório usa o provedor de autenticação e as permissões definidos no aplicativo Web do SharePoint para controlar o acesso aos itens e às operações do servidor de relatório.

A permissão para acessar itens e operações é concedida por meio das políticas de segurança do SharePoint que mapeiam uma conta de usuário ou grupo com um nível de permissão, em relação a um item. Conceitualmente, esse processo é idêntico ao uso das atribuição de função em uma implantação do servidor de relatório no modo nativo, onde uma atribuição de função mapeia uma conta de usuário ou grupo para um conjunto de tarefas permitidas em relação a um item. Como é comum na maioria dos modelos de autorização baseados em função, a segurança do SharePoint fornece uma herança de permissão para reduzir a complexidade e a sobrecarga da manutenção de um grande número de políticas.

Se você estiver implantando os tipos de conteúdo de servidor de relatório em um site de SharePoint, precisará saber o seguinte:

Antes de definir permissões, você deve configurar cada servidor para integração. Para obter mais informações, consulte Configurando o Reporting Services para integração do SharePoint 2010.

Provedores de autenticação em tecnologias do SharePoint

Um aplicativo da Web do SharePoint pode usar a Autenticação do Windows ou a autenticação de formulários. Um servidor de relatório processa solicitações de qualquer uma. Você pode configurar a autenticação com estas combinações:

  • Autenticação do Windows usando Kerberos

  • Autenticação do Windows usando Administrador de NT LAN (NTLM)

  • autenticação Formulários

ObservaçãoObservação

O Reporting Services e os produtos de tecnologias do SharePoint suportam a autenticação de formulários. A implementação é diferente para cada grupo de produtos e eles não são compatíveis. As extensões de autenticação personalizadas do Reporting Services não têm suporte para servidores de relatório executados no modo de integração do SharePoint.

Esta tabela resume os benefícios e as desvantagens de cada um dos provedores de autenticação:

Benefícios

Desvantagens

Autenticação do Windows usando Kerberos

Funciona em cenários de implantação de um único servidor ou multisservidor.

Suporta o uso de credenciais integradas do Windows para fontes de dados externas.

Não funciona com autenticação NTLM em implantações multisservidor.

Exige configuração complexa de domínio e servidor de configuração.

Autenticação do Windows usando NTLM ou formulários de autenticação

Funciona com o Kerberos e todos os cenários de autenticação não Kerberos.

Não suporta credenciais integradas do Windows para fontes de dados externas.

Autenticação de Declarações do SharePoint

Os produtos do SharePoint 2010 são compatíveis com a Autenticação Baseada em Declarações. O SQL Server 2008 R2 Reporting Services no modo integrado do SharePoint funcionará com aplicativos da Web habilitados para Declarações do SharePoint usando tokens de Usuário do SharePoint e autenticação de Conta Confiável. Para obter informações sobre como o Reporting Services dá suporte à Autenticação de Declarações, consulte Autenticação de Declarações e Reporting Services. Para obter mais informações sobre a autenticação baseada em Declarações, consulte Visão Geral da identidade baseada em declarações.

Enviando solicitações para um servidor de relatório

Todas as solicitações para um item ou operação de servidor de relatório devem ser uma solicitação autenticada válida. O provedor de autenticação que você está usando determina como a solicitação é processada.

Segurança integrada do Windows usando Kerberos

Se o aplicativo da Web do SharePoint estiver configurado para Autenticação do Windows usando Kerberos, a conexão do aplicativo da Web do SharePoint com o servidor de relatório poderá usar as credenciais representadas ou delegadas do usuário atual do Windows. Usando a segurança integrada do Windows com Kerberos e delegação de identidade, é possível eliminar o problema clássico de “salto duplo” em que as credenciais do Windows expiram após uma única conexão. Ela também expande o conjunto de opções que estão disponíveis ao configurar conexões de fonte de dados para relatórios e modelos. O diagrama a seguir mostra as conexões quando um servidor de relatório está configurado para a integração do SharePoint e o aplicativo da Web do SharePoint usa a Autenticação do Windows com o Kerberos habilitado e delegação de identidade.

Conexões no modo integrado do SharePoint

  • Conexão 1
    Um usuário acessa um site do SharePoint com o token de usuário criado quando efetuou logon na rede. Contém a identidade de usuário e a associação de grupo. O aplicativo da Web do SharePoint autentica o usuário. O usuário solicita um item ou operação de servidor de relatório.

  • Conexão 2
    O aplicativo da Web do SharePoint envia o token e a solicitação para o servidor de relatório. A solicitação de conexão é enviada com a identidade do Windows delegada do usuário. O servidor de relatório autentica o usuário para ver se ele tem permissão de acessar o servidor de relatório.

  • Conexão 3
    Se a autenticação for bem-sucedida, o servidor de relatório usará a conta do usuário da instância do Reporting Services para fazer uma conexão com os bancos de dados de conteúdo do SharePoint para verificar se o usuário tem acesso autorizado ao item ou operação. Se a autorização for bem-sucedida, o servidor de relatórios faz a solicitação.

  • Conexão 4
    Se o usuário estiver exibindo o relatório, o servidor de relatório poderá delegar a identidade do Windows do usuário durante o processamento do relatório para recuperar dados de fontes de dados externas. Isso significa que, ao definir propriedades de fonte de dados em um relatório, é possível selecionar a opção Segurança integrada do Windows para a conexão de fonte de dados. Para obter mais informações, consulte Especificando informações de credencial e conexão para fontes de dados do relatório e Como criar e gerenciar fontes de dados compartilhadas (Reporting Services no modo integrado do SharePoint) nos Manuais Online do SQL Server.

Autenticação do Windows ou de formulários e contas confiáveis

Se o aplicativo da Web do SharePoint estiver configurado para autenticação de formulários ou para a Autenticação do Windows usando NTLM, a conexão com o servidor de relatório será enviada pela rede por meio de uma conta confiável que tem permissão para representar um usuário do SharePoint no servidor de relatório. O diagrama a seguir mostra as conexões quando as contas confiáveis e as identidades de usuário do SharePoint são usadas.

Diagrama de conexão para a conexão confiável

  • Conexão 1
    Um usuário efetua logon em um site do SharePoint. O aplicativo da Web do SharePoint autentica o usuário. O aplicativo da Web do SharePoint converte a identidade de usuário em uma identidade de usuário do SharePoint (SPUser). Um novo token de usuário é criado para esse usuário no contexto de SPUser. Contém a identidade de usuário e a associação de grupo. O usuário solicita um item ou operação de servidor de relatório.

  • Conexão 2
    O Aplicativo Web do SharePoint se conecta ao servidor de relatório usando uma conta confiável, que é a identidade de processo do aplicativo Web do SharePoint. O aplicativo da Web do SharePoint Web então representa a identidade de usuário do SharePoint na solicitação para um item ou operação.

    O servidor de relatório autentica que a solicitação de conexão é de uma conta confiável comparando-a com as informações da conta que o servidor de relatório recuperou dos bancos de dados de configuração do SharePoint quando foi iniciado. Em um servidor de relatório, a conta confiável é um usuário do Windows com permissão para representar o aplicativo Web do SharePoint. Ela também é usada para representar o SPUser, mas não tem permissão para acessar itens e operações de servidor de relatório.

  • Conexão 3
    Se a autenticação for bem-sucedida, o servidor de relatório usará a conta do usuário da instância do Reporting Services para fazer uma conexão com os bancos de dados de conteúdo do SharePoint para verificar se o SPUser tem acesso autorizado ao item ou operação. Se a autorização for bem-sucedida, o servidor de relatórios faz a solicitação.

  • Conexão 4
    Se o usuário estiver exibindo o relatório, o servidor de relatório não poderá usar o SPUser para recuperar dados de fontes de dados externas devido ao problema de "salto duplo". Isso significa que, ao definir propriedades de fonte de dados em um relatório, não será possível selecionar a opção Segurança integrada do Windows para a conexão de fonte de dados. Você poderá, no entanto, configurar o relatório para usar outras opções de conexão, como credenciais armazenadas ou credenciais solicitadas. Para obter mais informações, consulte Especificando informações de credencial e conexão para fontes de dados do relatório e Como criar e gerenciar fontes de dados compartilhadas (Reporting Services no modo integrado do SharePoint) nos Manuais Online do SQL Server.

Expiração da conta e processamento de assinaturas

Ao criar uma assinatura em um relatório, o servidor de relatório armazena as informações da conta de SPUser de modo que possa confirmar que o usuário tem permissão para exibir o relatório no momento da entrega. Se a conta de SPUser tiver expirado, a assinatura falhará e retornará um erro rsSharePointError. Uma propriedade de nível de farm chamada TokenTimeout determina por quanto tempo SPUser é válido.

Configurar as contas administrativas e de serviço para usar contas de usuário de domínio exclusivo

Uma implantação de produto ou tecnologia do SharePoint usa várias contas para executar serviços e acessar servidores front-end e back-end. Quando for especificar contas de domínio em sua implantação, procure seguir as práticas recomendadas e especificar contas que sejam usadas exclusivamente pelo aplicativo Web do SharePoint. Não configure uma conta de serviço para ser executada sob a conta de usuário de domínio de uma pessoa real que acessará o site do SharePoint. Se acessar um site do SharePoint por meio de credenciais de serviço, talvez você encontre erros.

Práticas recomendadas para a configuração de provedores de autenticação em uma implantação em expansão

Se você tiver uma implantação em expansão do Reporting Services e um produto SharePoint, e tiver configurado provedores de autenticação diferentes para o ambiente, talvez tenha problemas com a autenticação de usuários. Por exemplo, se o ambiente de relatório usar autenticação de Formulários para conexões da Internet e Autenticação do Windows para conexões de intranet, talvez a solicitação seja encaminhada para um computador front-end da Web com um provedor de autenticação que não corresponda ao tipo de autenticação da solicitação. Isso poderia fazer com que o Reporting Services negasse acesso à solicitação ou a solicitação poderia ser executada sob a identidade do pool de aplicativos, em vez do usuário que fez a solicitação.

Como prática recomendada, os usuários devem utilizar URLs diferentes para acessar o conteúdo da Internet e da intranet. Ou você pode configurar o arquivo de hosts nos computadores front-end da Web para substituir a pesquisa de DNS mapeando o endereço IP do site voltado para a Internet para a URL da Internet, de modo que as solicitações para a URL da Internet não sejam roteadas para a URL da intranet pelo DNS.

Como o servidor de relatório acessa bancos de dados de conteúdo do SharePoint

O aplicativo da Web do SharePoint e o servidor de relatório estabelecem uma conexão com seus respectivos bancos de dados para armazenar o estado do aplicativo e outros dados, mas o servidor de relatório também deve se conectar com os bancos de dados do SharePoint para armazenar e recuperar itens, propriedades e configurações. O diagrama a seguir mostra as conexões de servidor com os vários bancos de dados.

Diagrama de conexões

Um aplicativo da Web do SharePoint pode usar um banco de dados local ou remoto para armazenamento interno. Se os bancos de dados do SharePoint estiverem em computadores remotos, uma conta de domínio deve ser usada para a conexão.

Um servidor de relatório pode usar um banco de dados local ou remoto para armazenamento interno. Em qualquer situação, a conexão de banco de dados pode ser feita por uma conta de domínio, um logon do SQL Server ou uma conta interna como Network Service ou Local System.

Conexão do servidor de relatório com os bancos de dados do SharePoint

No Reporting Services, o serviço Web e o serviço Windows precisam acessar os bancos de dados do SharePoint. As contas de serviço de ambos são executadas como usuários confiáveis em um aplicativo da Web do SharePoint e obtêm automaticamente permissão para acessar os bancos de dados do SharePoint.

A conexão é gerenciada internamente; é configurada quando você usa a Administração Central do SharePoint para apontar um aplicativo da Web do SharePoint para um servidor de relatório e definir as contas confiáveis. Em contraste com a conexão do servidor de relatório com seus próprios bancos de dados, que pode ser definida ou modificada com a ferramenta Configuração do Reporting Services, não é possível configurar ou gerenciar explicitamente a conexão do servidor de relatório com os bancos de dados do SharePoint.

A execução de um servidor de relatório no modo integrado do SharePoint impõe restrições no modo de configuração de contas de serviço no Reporting Services. Use estas diretrizes ao configurar contas de serviço:

  • Escolha contas que tenham permissões de logon de rede se for necessário conectar as contas de serviço Servidor de Relatório com os bancos de dados do SharePoint em um computador remoto.

  • Não use contas internas (como Sistema Local ou Serviço de Rede) se o servidor de relatório e os bancos de dados do SharePoint estiverem em um computador e o aplicativo da Web do SharePoint estiver em um computador remoto. Quando os bancos de dados do SharePoint são executados em um computador remoto, o aplicativo da Web do SharePoint nega explicitamente o acesso a contas internas definidas nesse computador remoto. Isso significa que, se o servidor de relatório estiver sendo executado em uma conta interna, ele não poderá conectar-se a bancos de dados do SharePoint porque estará sendo executado no mesmo computador que os bancos de dados do SharePoint.

  • Para todas as outras topologias que colocam os servidores e bancos de dados no mesmo computador ou em computadores diferentes, as contas de serviço do Reporting Services podem ser configuradas como contas de domínio ou contas internas.

Erros durante a conexão com bancos de dados do SharePoint

Se o servidor de relatório não conseguir acessar os bancos de dados do SharePoint e houver um erro de configuração (por exemplo, se as contas de serviço ou senhas não forem válidas ou se uma instância local do modelo de objeto do Windows SharePoint não estiver instalada), um erro rsServerConfigurationError ocorrerá. Para todos os outros erros de conexão, o erro rsSharePointError é retornado, junto com informações adicionais sobre o erro da instância local do SharePoint.

Topologias de autenticação em tecnologias do SharePoint e do SSRS

A tabela a seguir lista combinações com suporte de métodos de autenticação do SharePoint e do SSRS e o uso.

SharePoint e SSRS no mesmo computador

Autenticação do SharePoint

Modo de integração do SSRS

Autenticação do SSRS

Conta que acessa o SSRS

Credenciais da fonte de dados

Sim

Kerberos

Integrated

Negotiate

O usuário pode delegar o contexto de segurança do usuário

Integrated, Stored, Prompt

Sim

Kerberos

Integrated

NTLM

Não há suporte

Sim

Kerberos

Confiável

Negotiate ou NTLM

Conta de serviço do site

Stored, Prompt, Integrated (+)

Sim

NTLM

Integrated

Negotiate

Não há suporte

Sim

NTLM

Integrated

NTLM

O usuário NÃO pode delegar o contexto de segurança do usuário

Stored, Prompt, Integrated, Local

Sim

NTLM

Confiável

Negotiate ou NTLM

Conta de serviço do site

Stored, Prompt, Integrated (+)

Sim

Formulários

Integrated

IUSR

Não há suporte

Sim

Formulários

Confiável

Negotiate ou NTLM

Conta de serviço do site

Stored, Prompt, Integrated (+)

Não

Kerberos

Integrated

Negotiate

Delegável pelo usuário

Integrated, Stored, Prompt

Não

Kerberos

Integrated

NTLM

Não há suporte

Não

Kerberos

Confiável (*)

Negotiate

Conta de serviço do site

Stored, Prompt, Integrated (+)

Não

Kerberos

Confiável (*)

Negotiate

Conta de serviço do site

Stored, Prompt, Integrate, somente se for local para o SSRS

Não

NTLM

Integrated

Anônima

Não há suporte

Não

NTLM

Confiável (*)

Negotiate

Conta de serviço do site

Store, Prompt, Integrated (+)

Não

NTLM

Confiável (*)

NTLM

Conta de serviço do site

Stored, Prompt, Integrated, somente se for local

Não

Formulários

Integrated

Anônima

Não há suporte

Não

Formulários

Confiável (*)

Negotiate

Conta de serviço do site

Stored, Prompt, Integrated (+)

Não

Formulários

Confiável

NTLM

Conta de serviço do site

Stored, Prompt, Integrated, somente se for local

(+) se a conta de serviço do site do SharePoint for uma conta local, a fonte de dados deverá ser local para o computador do Servidor de Relatório. Se a conta de serviço do site for uma conta de domínio, a fonte de dados poderá estar em outro computador.

(*) A conta de serviço do site do SharePoint deve ser uma conta de domínio.

Histórico de alterações

Conteúdo atualizado

Adicionadas tabelas de topologias de autenticação.