Compartilhar via


Configurar a Autenticação Básica no Servidor de Relatório

Por padrão, o Reporting Services aceita solicitações que especificam a autenticação Negotiate e NTLM. Se sua implantação incluir aplicativos cliente ou navegadores que usam a autenticação Básica, você deverá adicionar a autenticação Básica à lista de tipos com suporte. Além disso, se você quiser usar o Construtor de Relatórios, deverá habilitar o acesso anônimo aos arquivos do Construtor de Relatórios.

Para configurar a autenticação Básica no servidor de relatório, edite elementos XML e valores no arquivo RSReportServer.config. Você pode copiar e colar os exemplos neste tópico para substituir os valores padrão.

Antes de habilitar a autenticação básica, verifique se a infraestrutura de segurança dá suporte a ela. Na autenticação básica, o serviço Web do Servidor de Relatório envia credenciais para a autoridade de segurança local. Se as credenciais especificarem uma conta de usuário local, o usuário será autenticado pela autoridade de segurança local no computador do servidor de relatório e o usuário receberá um token de segurança válido para recursos locais. As credenciais para contas de usuário de domínio são encaminhadas e autenticadas por um controlador de domínio. O bilhete resultante é válido para recursos de rede.

A criptografia de canal, como a SSL (Secure Sockets Layer), será necessária se você quiser reduzir o risco de ter credenciais interceptadas durante o trânsito para um controlador de domínio em sua rede. Por si só, a autenticação básica transmite o nome de usuário em texto claro e a senha na codificação base 64. Adicionar criptografia de canal torna o pacote ilegível. Para obter mais informações, consulte Configurar conexões SSL em um servidor de relatório de modo nativo.

Depois de habilitar a autenticação básica, lembre-se de que os usuários não podem selecionar a opção de segurança integrada do Windows ao definir propriedades de conexão para uma fonte de dados externa que fornece dados para um relatório. A opção será esmaecida nas páginas de propriedades da fonte de dados.

Observação

As instruções a seguir são destinadas a um servidor de relatório de modo nativo. Se o servidor de relatório for implantado no modo integrado do SharePoint, você deverá usar as configurações de autenticação padrão que especificam a segurança integrada do Windows. O servidor de relatório usa recursos internos na extensão de Autenticação do Windows padrão para dar suporte ao servidor de relatório no modo integrado do SharePoint.

Para configurar um servidor de relatório para usar a autenticação básica

  1. Abra RSReportServer.config em um editor de texto.

    O arquivo está localizado em <drive>:\Arquivos de Programas\Microsoft SQL Server\MSRS12. MSSQLSERVER\Reporting Services\ReportServer.

  2. Localizar <Authentication>.

  3. Copie uma das estruturas XML a seguir que melhor atenda às suas necessidades. A primeira estrutura XML fornece espaços reservados para especificar todos os elementos, que são descritos na próxima seção:

    <Authentication>  
          <AuthenticationTypes>  
                 <RSWindowsBasic>  
                       <LogonMethod>3</LogonMethod>  
                       <Realm></Realm>  
                       <DefaultDomain></DefaultDomain>  
                 </RSWindowsBasic>  
          </AuthenticationTypes>  
          <EnableAuthPersistence>true</EnableAuthPersistence>  
    </Authentication>  
    

    Se você estiver usando valores padrão, poderá copiar a estrutura mínima do elemento:

          <AuthenticationTypes>  
                 <RSWindowsBasic/>  
          </AuthenticationTypes>  
    
  4. Cole-o sobre as entradas existentes para <Authentication>.

    Se você estiver usando vários tipos de autenticação, adicione apenas o RSWindowsBasic elemento, mas não exclua as entradas para RSWindowsNegotiate, RSWindowsNTLMou RSWindowsKerberos.

    Para dar suporte ao navegador Safari, não é possível configurar o servidor de relatório para usar vários tipos de autenticação. Você deve especificar apenas RSWindowsBasic e excluir as outras entradas.

    Observe que você não pode usar Custom com outros tipos de autenticação.

  5. Substitua valores vazios para <Realm> ou <DefaultDomain> por valores válidos para seu ambiente.

  6. Salve o arquivo.

  7. Se você configurou uma implantação de expansão, repita essas etapas para outros servidores de relatório na implantação.

  8. Reinicie o servidor de relatório para terminar as sessões que estão atualmente abertas.

Guia de Referência RSWindowsBasic

Os elementos a seguir podem ser especificados ao configurar a autenticação Básica.

Elemento Obrigatório Valores válidos
MétodoDeLogin Sim

Se você não especificar um valor, 3 será usado.
2 = Logon de rede, destinado a servidores de alto desempenho para autenticar senhas de texto sem formatação.

3 = Logon cleartext, que preserva as credenciais de logon no pacote de autenticação que é enviado com cada solicitação HTTP, permitindo que o servidor represente o usuário ao se conectar a outros servidores na rede. (Padrão)

Observação: os valores 0 (para logon interativo) e 1 (para logon em lote) não têm suporte no SSRS (SQL Server 2014 Reporting Services).
Reino Opcional Especifica uma partição de recursos que inclui recursos de autorização e autenticação usados para controlar o acesso aos recursos protegidos em sua organização.
DefaultDomain Opcional Especifica o domínio usado pelo servidor para autenticar o usuário. Esse valor é opcional, mas se você omiti-lo, o servidor de relatório usará o nome do computador como o domínio. Se o computador for um membro do domínio, esse domínio será o domínio padrão. Se você instalou o servidor de relatório em um controlador de domínio, o domínio usado será o que é controlado pelo computador.

Habilitando o acesso anônimo aos arquivos de aplicativo do Construtor de Relatórios

O Construtor de Relatórios usa a tecnologia ClickOnce para baixar e instalar arquivos de aplicativo no computador cliente. Quando ele for iniciado no computador cliente, o inicializador de aplicativos ClickOnce fará uma solicitação para arquivos de aplicativo adicionais no computador do servidor de relatório. Se o servidor de relatório estiver configurado para autenticação Básica, o inicializador de aplicativos ClickOnce falhará na verificação de autenticação porque ele não dá suporte à autenticação Básica.

Para contornar esse problema, você pode configurar o acesso anônimo aos arquivos do programa Construtor de Relatórios. Isso permite que o ClickOnce ignore a verificação de autenticação ao recuperar seus arquivos. Habilite o acesso anônimo fazendo o seguinte:

  • Verifique se o servidor de relatório está configurado para autenticação básica.

  • Crie uma pasta bin em ReportBuilder e copie quatro assemblies para a pasta.

  • Adicione o IsReportBuilderAnonymousAccessEnabled elemento ao RSReportServer.config e defina-o como True. Depois de salvar o arquivo, o servidor de relatório criará um novo ponto de extremidade para o Construtor de Relatórios. O ponto de extremidade é usado internamente para acessar arquivos de programa e não tem uma interface programática que você pode usar no código. Ter um endpoint separado permite que o Construtor de Relatórios seja executado em seu próprio domínio de aplicativo dentro do limite de processo do serviço do Servidor de Relatório.

  • Opcionalmente, você pode especificar uma conta de privilégio mínimo para processar solicitações em um contexto de segurança diferente do servidor de relatório. Essa conta se torna a conta anônima para acessar arquivos do Construtor de Relatórios em um servidor de relatório. A conta define a identidade do thread no processo de trabalho ASP.NET. As solicitações executadas nesse thread são passadas para o servidor de relatório sem uma verificação de autenticação. Essa conta é equivalente à conta IUSR_<machine> no IIS (Serviços de Informações da Internet), que é usada para definir o contexto de segurança para processos de trabalho do ASP.NET quando o acesso anônimo e a representação estão permitidos. Para especificar a conta, adicione-a a um arquivo Web.config do Construtor de Relatórios.

O servidor de relatório deve ser configurado para autenticação básica se você quiser habilitar o acesso anônimo aos arquivos de programa do Construtor de Relatórios. Se o servidor de relatório não estiver configurado para autenticação básica, você receberá um erro ao tentar habilitar o acesso anônimo.

Para obter mais informações sobre problemas de autenticação e Construtor de Relatórios, consulte Configurar o Acesso do Construtor de Relatórios.

Para configurar o acesso do Construtor de Relatórios em um servidor de relatório configurado para autenticação básica

  1. Verifique se o servidor de relatório está configurado para autenticação básica verificando as configurações de autenticação no arquivo RSReportServer.config.

  2. Crie uma pasta BIN na pasta ReportBuilder. Por padrão, essa pasta está localizada em \Arquivos de Programas\Microsoft SQL Server\MSRS12. MSSQLSERVER\Reporting Services\ReportServer\ReportBuilder.

  3. Copie os seguintes assemblies da pasta ReportServer\BIN para a pasta ReportBuilder\BIN:

    Microsoft.ReportingServices.Diagnostics.dll

    Microsoft.ReportingServices.Interfaces.dll

    ReportingServicesAppDomainManager.dll

    RSHttpRuntime.dll

  4. Opcionalmente, crie um arquivo Web.config para processar solicitações do Construtor de Relatórios em uma conta anônima:

    <?xml version="1.0" encoding="utf-8" ?>  
    <configuration>  
    <system.web>  
    <authentication mode="Windows" />    
    <identity impersonate="true " userName="username" password="password"/>  
    </system.web>  
    </configuration>  
    

    O modo de autenticação deve ser definido como Windows se você incluir um arquivo Web.config.

    Identity impersonate pode ser True ou False.

    • Defina-o como False se você não quiser que o ASP.NET leia o token de segurança. A solicitação será executada no contexto de segurança do serviço servidor de relatório.

    • Defina-o para True se você quiser ASP.NET ler o token de segurança da camada de host. Se você configurá-lo como True, você também deve especificar userName e password para designar uma conta anônima. As credenciais especificadas determinarão o contexto de segurança no qual a solicitação é emitida.

  5. Salve o arquivo Web.config na pasta ReportBuilder\bin.

  6. Abra o arquivo RSReportServer.config, na seção Serviços, localize IsReportManagerEnabled e adicione a configuração abaixo.

    <IsReportBuilderAnonymousAccessEnabled>True</IsReportBuilderAnonymousAccessEnabled>  
    
  7. Salve RSReportServer.config e feche o arquivo.

  8. Reinicie o servidor de relatório.

Consulte Também

Domínios de aplicativo para aplicativos de servidor de relatório
Segurança e proteção do Reporting Services