Configurar conexões TLS em um servidor de relatório no modo nativo
Aplica-se a: SQL Server 2016 (13.x) Reporting Services e posterior Power BI Report Server
No modo nativo do SQL Server Reporting Services (SSRS) é possível usar o protocolo TLS para estabelecer conexões criptografadas com um servidor de relatório. O protocolo TLS era anteriormente conhecido como protocolo SSL. Se você tiver um arquivo de certificado (.cer) instalado em um repositório de certificados local no servidor de relatório, poderá associá-lo a uma reserva de URL do SSRS para dar suporte a conexões do servidor de relatório por meio de um canal criptografado.
Dica
Para obter mais informações sobre o modo SharePoint do SSRS, consulte Servidor de Relatórios do Reporting Services (modo SharePoint).
Como o IIS (Serviços de Informações da Internet) também usa TLS, existem problemas de interoperabilidade consideráveis que você deve considerar se executa o IIS e o SSRS no mesmo computador. Para obter orientação sobre como lidar com esses problemas, revise a seção Problemas de interoperabilidade com IIS posteriormente neste artigo.
Pré-requisitos
- Um servidor de relatório configurado em modo nativo
- Um certificado do servidor instalado no computador
Instalar um certificado do servidor
Você deve instalar um certificado do servidor no servidor de relatório no repositório local. Não há suporte para certificados de cliente.
O SSRS não fornece funcionalidade de solicitação, geração, download ou instalação de um certificado. Cabe a você escolher as propriedades especificadas para o certificado e a autoridade de certificação da qual você o obtém. Você também decide sobre as ferramentas e utilitários que usa para solicitar e instalar o certificado.
Existem algumas possibilidades para a obtenção de um certificado:
O Windows Server fornece um snap-in de Certificados que pode ser usado para solicitar um certificado de uma autoridade de certificação confiável.
Se você quiser gerar um certificado localmente para fins de teste, poderá executar o script do PowerShell a seguir.
- Execute o script como um administrador.
- Substitua os espaços reservados pelos valores adequados para o seu ambiente.
# Create a self-signed certificate in the local store. $newCertificate = New-SelfSignedCertificate -CertStoreLocation cert:\LocalMachine\My -DnsName <server-name> -FriendlyName "<friendly-name>" # Convert the report server password to a secure string. $secureStringPassword = ConvertTo-SecureString "<server-password>" -AsPlainText -Force # Set up a temporary folder if one doesn't exist. $folderPath = "C:\Temp" if (-not (Test-Path -Path $folderPath)) { New-Item -Path $folderPath -ItemType Directory } # Set up a variable for the path of a certificate file. $certificateFilePath = $folderPath, "\certificate-export.pfx" -join "" # Set up a variable for the path of the certificate's store location. $certificateStoreLocation = "cert:\LocalMachine\My\", $newCertificate.Thumbprint -join "" # Export the certificate to the file. Export-PFXCertificate -Cert $certificateStoreLocation -File $certificateFilePath -Password $secureStringPassword # Import the certificate from the file to the trusted root to avoid problems with the certificate not being trusted. Import-PfxCertificate -FilePath $certificateFilePath cert:\LocalMachine\Root -Password $secureStringPassword
O certificado agora está disponível para uso no Gerenciador de Configurações do Servidor de Relatório.
Se você executar o IIS e o SSRS em conjunto no mesmo computador, poderá usar o aplicativo de console Gerenciador do IIS para solicitar e instalar um certificado:
- No Gerenciador do IIS, crie e empacote um arquivo de solicitação de certificado (.crt) para processamento posterior por uma autoridade de certificação confiável. Para obter mais informações, confira Solicitar um Certificado do Servidor.
- Depois que a autoridade de certificação enviar o arquivo de certificado (.cer), use o Gerenciamento do IIS para instalar o arquivo de certificado no repositório local. Para obter mais informações, confira Instalar um Certificado do Servidor.
Problemas de interoperabilidade com o IIS
A presença do IIS no mesmo computador que o SSRS afeta significativamente as conexões TLS com um servidor de relatório:
- Uma dependência é criada no IIS quando você configura URLs do servidor de relatório para conexões TLS. O IIS, por sua vez, tem uma dependência do Serviço de Publicação na World Wide Web. Como resultado, o Serviço de Publicação na World Wide Web deve estar em execução quando você configura URLs de servidor de relatório para conexões TLS.
- A desinstalação do IIS pode interromper o serviço temporariamente em uma URL de servidor de relatório associada por TLS. Depois de desinstalar o IIS, você deve reiniciar o computador para limpar todas as sessões TLS do cache. Alguns sistemas operacionais armazenam em cache as sessões TLS por até 10 horas. Como resultado, uma URL vinculada ao TLS pode continuar a funcionar depois que a associação TLS for removida da reserva de URL no repositório HTTP.sys. A reinicialização do computador fecha todas as conexões abertas que usam o canal.
Associar o TLS a uma reserva de URL do SSRS
As reservas da URL dos Serviços Web do Servidor de Relatórios e da URL do Portal da Web são configuradas de maneira independente.
Configurar o acesso ao serviço Web por meio de um canal criptografado por TLS
Para configurar uma URL que você pode usar para acessar o servidor de relatório, execute as seguintes etapas:
Abra o Gerenciador de Configurações do Servidor de Relatório e conecte-se ao servidor de relatório.
Na página Status do Servidor de Relatórios, selecione Parar.
Uma mensagem na janela Resultados indica que o servidor está parado.
Selecione Iniciar. Uma mensagem na janela Resultados indica que o servidor está em execução.
No painel Conectar, selecione URL do Serviço Web.
Na lista Certificado HTTPS, selecione o certificado que você instalou.
Escolha Aplicar. As mensagens na janela Resultados indicam o progresso da ferramenta de configuração.
Em URLs do Serviço Web Servidor de Relatórios, selecione a URL que você reservou. Se solicitado, as credenciais do seu servidor de relatório. Uma janela do navegador é aberta para fornecer acesso ao servidor de relatório.
Se a URL não se conectar ao servidor de relatório, verifique o banco de dados do servidor de relatório. Para que a URL funcione, primeiro você precisa criar e configurar o banco de dados.
Configurar o acesso ao portal da Web por meio de um canal criptografado por TLS
Se você também quiser configurar o acesso ao portal da Web por meio de um canal criptografado por TLS, siga as próximas etapas:
No Gerenciador de Configurações do Servidor de Relatório, no painel Conectar, selecione a URL do Portal da Web.
Selecione Avançado.
Em Múltiplas Identidades HTTPS para o recurso Reporting Services atual, selecione Adicionar.
Na lista Certificado, selecione o certificado que você instalou e selecione OK.
As mensagens na janela Resultados indicam o progresso da ferramenta de configuração.
Em Identificação do Site de Portal da Web, selecione a URL que você reservou. Se solicitado, as credenciais do seu servidor de relatório. Uma janela do navegador é aberta e exibe a home page do SSRS.
Como as associações de certificado são armazenadas
As associações de certificado são armazenadas no repositório HTTP.SYS. Uma representação das associações definidas são armazenadas na seção URLReservations do arquivo RSReportServer.config.
As configurações no arquivo de configuração são apenas uma representação dos valores reais especificados em outros lugares. Não modifique os valores diretamente no arquivo de configuração.
Os parâmetros de configuração só são exibidos no arquivo depois que você usar o Gerenciador de Configurações do Servidor de Relatório ou o provedor WMI (Instrumentação de Gerenciamento do Windows) do Servidor de Relatório para associar um certificado.
Observação
Se você configurar uma associação com um certificado TLS no SSRS e depois quiser remover o certificado do computador, remova a associação do SSRS antes de remover o certificado do computador. Caso contrário, não será possível remover a associação usando o Gerenciador de Configurações do Servidor de Relatório ou o WMI e você receberá uma mensagem "Parâmetro inválido".
Depois de remover o certificado do computador, use a ferramenta HttpCfg.exe para remover a associação do repositório HTTP.sys. Para obter mais informações, consulte HttpCfg.exe.
As associações TLS são um recurso compartilhado no Windows. Ao usar o Gerenciador de Configurações do Servidor de Relatório ou outras ferramentas como o Gerenciador do IIS para alterar as associações, essas alterações podem afetar outros aplicativos no mesmo computador.
A melhor prática é usar a mesma ferramenta para criar e editar as associações. Por exemplo, se você criar associações TLS usando o Gerenciador de Configurações do Servidor de Relatório, use o Gerenciador de Configurações do Servidor de Relatório também para gerenciar o ciclo de vida das associações. Se você usar o Gerenciador do IIS para criar associações, use o Gerenciador do IIS para gerenciar o ciclo de vida das associações.
Se você instalar o IIS no seu computador antes de instalar o SSRS, será uma prática recomendada revisar a configuração do TLS no IIS antes de configurar o SSRS.