Partilhar via


Configurar Kerberos para usar relatórios do Power BI

Saiba como configurar seu servidor de relatório para autenticação Kerberos em fontes de dados usadas em seus relatórios do Power BI para um ambiente distribuído.

Nota

Este vídeo pode usar versões anteriores do Servidor de Relatório do Power BI.

O Servidor de Relatórios do Power BI inclui a capacidade de hospedar relatórios do Power BI. Muitas fontes de dados são suportadas pelo servidor de relatório. Embora este artigo se concentre especificamente no SQL Server Analysis Services, você pode usar os conceitos e aplicá-los a outras fontes de dados, como o SQL Server.

Você pode instalar o Servidor de Relatório do Power BI, o SQL Server e o Analysis Services em uma única máquina e tudo deve funcionar sem configuração adicional. Isso é ótimo para um ambiente de teste. Você pode cometer erros se tiver esses serviços instalados em máquinas separadas, o que é chamado de ambiente distribuído. Nesse ambiente, é necessário usar a autenticação Kerberos. Há uma configuração necessária para implementar isso.

Especificamente, você precisará configurar a delegação restrita. Você pode ter o Kerberos configurado em seu ambiente, mas ele pode não estar configurado para delegação restrita.

Relatório de erro ao executar

Se o servidor de relatório não estiver configurado corretamente, você poderá receber o seguinte erro.

Something went wrong.

We couldn't run the report because we couldn't connect to its data source. The report or data source might not be configured correctly. 

Em Detalhes técnicos, você verá a seguinte mensagem.

We couldn't connect to the Analysis Services server. The server forcibly closed the connection. To connect as the user viewing the report, your organization must have configured Kerberos constrained delegation.

Screenshot of Power B I Reports showing error message related to issues connecting with Analysis Services server.

Configurando a delegação restrita de Kerberos

Há vários itens que precisam ser configurados para que a delegação restrita de Kerberos funcione. Isso inclui SPN (Nomes da Entidade de Serviço) e configurações de delegação em contas de serviço.

Nota

Para definir SPNs e configurações de delegação, você precisa ser um administrador de domínio.

Precisaremos configurar, ou validar, o seguinte.

  1. Tipo de autenticação na configuração do Servidor de Relatório.
  2. SPNs para a conta de serviço do servidor de relatório.
  3. SPNs para o serviço Analysis Services.
  4. SPNs para o serviço Navegador SQL na máquina do Analysis Services. Isso é apenas para instâncias nomeadas.
  5. Configurações de delegação na conta de serviço do servidor de relatório.

Tipo de autenticação na configuração do Servidor de Relatório

Precisamos configurar o tipo de autenticação para o servidor de relatório para permitir a delegação restrita de Kerberos. Isso é feito dentro do arquivo rsreportserver.config . O local padrão para este arquivo é C:\Program Files\Microsoft Power BI Report Server\PBIRS\ReportServer.

Dentro do arquivo rsreportserver.config, você desejará multar a seção Authentication/AuthenticationTypes .

Queremos ter certeza de que RSWindowsNegotiate está listado e é o primeiro na lista de tipos de autenticação. Deve ter um aspeto semelhante ao seguinte.

<AuthenticationTypes>
    <RSWindowsNegotiate/>
    <RSWindowsNTLM/>
</AuthenticationTypes>

Se você tiver que alterar o arquivo de configuração, convém parar e iniciar o servidor de relatório para garantir que as alterações entrem em vigor.

Para obter mais informações, consulte Configurar a autenticação do Windows no servidor de relatório.

SPNs para a conta de serviço do servidor de relatório

Em seguida, precisamos verificar se o servidor de relatório tem SPNs válidos disponíveis. Isso se baseia na conta de serviço configurada para o servidor de relatório.

Conta de Serviço Virtual ou Serviço de Rede

Se o servidor de relatório estiver configurado para a Conta de Serviço Virtual ou a conta de Serviço de Rede, não será necessário fazer nada. Estes estão no contexto da conta da máquina. A conta da máquina terá SPNs HOST por padrão. Eles cobrirão o serviço HTTP e serão usados pelo servidor de relatório.

Se você estiver usando um nome de servidor virtual, que não seja o mesmo que a conta da máquina, as entradas HOST não cobrirão você e você precisará adicionar manualmente os SPNs para o nome do host do servidor virtual.

Conta de utilizador de domínio

Se o servidor de relatório estiver configurado para usar uma conta de usuário de domínio, será necessário criar manualmente SPNs HTTP nessa conta. Isso pode ser feito usando a ferramenta setspn que vem com o Windows.

Nota

Você precisará de direitos de administrador de domínio para criar o SPN.

Recomenda-se a criação de dois SPNs. Um com o nome NetBIOS e outro com o nome de domínio totalmente qualificado (FQDN). O SPN terá o seguinte formato.

<Service>/<Host>:<port>

O Servidor de Relatório do Power BI usará um Serviço de HTTP. Para SPNs HTTP, você não listará uma porta. O serviço que nos interessa aqui é HTTP. O host do SPN será o nome que você usa em uma URL. Normalmente, este é o nome da máquina. Se você estiver atrás de um balanceador de carga, esse pode ser um nome virtual.

Nota

Você pode verificar a URL observando o que você insere na barra de endereço do navegador ou pode procurar no Gerenciador de Configuração do Servidor de Relatório na guia URL do Portal da Web.

Se o nome da sua máquina for ContosoRS, seus SPNs serão os seguintes.

Tipo SPN SPN
Nome de Domínio Completamente Qualificado (FQDN) HTTP/ContosoRS.contoso.com
NetBIOS HTTP/ContosoRS

Localização do SPN

Então, onde você coloca o SPN? O SPN será colocado no que você estiver usando para sua conta de serviço. Se estiver a utilizar a Conta de Serviço Virtual ou o Serviço de Rede, esta será a conta da máquina. Embora tenhamos mencionado antes, você só precisa fazer isso para uma URL virtual. Se você estiver usando um usuário de domínio para a conta de serviço do servidor de relatório, colocará o SPN nessa conta de usuário de domínio.

Por exemplo, se estivermos usando a conta do Serviço de Rede e nosso nome de máquina for ContosoRS, colocaremos o SPN em ContosoRS.

Se estivermos usando uma conta de usuário de domínio de RSService, colocaremos o SPN em RSService.

Usando SetSPN para adicionar o SPN

Podemos usar a ferramenta SetSPN para adicionar o SPN. Seguiremos o mesmo exemplo acima com a conta de máquina e a conta de usuário de domínio.

Colocar o SPN em uma conta de máquina, tanto para o FQDN quanto para o SPN NetBIOS, seria semelhante ao seguinte se estivéssemos usando uma URL virtual de contosoreports.

Setspn -a HTTP/contosoreports.contoso.com ContosoRS
Setspn -a HTTP/contosoreports ContosoRS

Colocar o SPN em uma conta de usuário de domínio, tanto para o FQDN quanto para o SPN NetBIOS, seria semelhante ao seguinte se você estivesse usando o nome da máquina para o host do SPN.

Setspn -S HTTP/ContosoRS.contoso.com RSService
Setspn -S HTTP/ContosoRS RSService

SPNs para o serviço Analysis Services

Os SPNs do Analysis Services são semelhantes ao que fizemos com o Servidor de Relatório do Power BI. O formato do SPN é um pouco diferente se você tiver uma instância nomeada.

Para o Analysis Services, usamos um Serviço do MSOLAPSvc.3. Especificaremos o nome da instância para o local da porta no SPN. A parte do host do SPN será o nome da máquina ou o nome virtual do cluster.

Um exemplo de um SPN do Analysis Services seria semelhante ao seguinte.

Type Formato
Instância predefinida MSOLAPSvc.3/ContosoAS.contoso.com
MSOLAPSvc.3/ContosoAS
Instância com nome MSOLAPSvc.3/ContosoAS.contoso.com:INSTANCENAME
MSOLAPSvc.3/ContosoAS:INSTANCENAME

O posicionamento do SPN também é semelhante ao que foi mencionado com o Servidor de Relatório do Power BI. Baseia-se na conta de serviço. Se você estiver usando o Sistema Local ou o Serviço de Rede, estará no contexto da conta da máquina. Se você estiver usando uma conta de usuário de domínio para a instância do Analysis Services, colocará o SPN na conta de usuário do domínio.

Usando SetSPN para adicionar o SPN

Podemos usar a ferramenta SetSPN para adicionar o SPN. Neste exemplo, o nome da máquina será ContosoAS.

Colocar o SPN em uma conta de máquina, tanto para o FQDN quanto para o NetBIOS SPN, seria semelhante ao seguinte.

Setspn -S MSOLAPSvc.3/ContosoAS.contoso.com ContosoAS
Setspn -S MSOLAPSvc.3/ContosoAS ContosoAS

Colocar o SPN em uma conta de usuário de domínio, tanto para o FQDN quanto para o NetBIOS SPN, seria semelhante ao seguinte.

Setspn -S MSOLAPSvc.3/ContosoAS.contoso.com OLAPService
Setspn -S MSOLAPSvc.3/ContosoAS OLAPService

SPNs para o serviço Navegador SQL

Se você tiver uma instância nomeada do Analysis Services, também precisará certificar-se de que tem um SPN para o serviço de navegador. Isso é exclusivo do Analysis Services.

Os SPNs para o Navegador SQL são semelhantes ao que fizemos com o Servidor de Relatório do Power BI.

Para o Navegador SQL, usamos um Serviço de MSOLAPDisco.3. Especificaremos o nome da instância para o local da porta no SPN. A parte do host do SPN será o nome da máquina ou o nome virtual do cluster. Não é necessário especificar nada para o nome da instância ou porta.

Um exemplo de um SPN do Analysis Services seria semelhante ao seguinte.

MSOLAPDisco.3/ContosoAS.contoso.com
MSOLAPDisco.3/ContosoAS

O posicionamento do SPN também é semelhante ao que foi mencionado com o Servidor de Relatório do Power BI. A diferença aqui é que o Navegador SQL sempre é executado na conta Sistema Local. Isso significa que os SPNs sempre irão para a conta da máquina.

Usando SetSPN para adicionar o SPN

Podemos usar a ferramenta SetSPN para adicionar o SPN. Neste exemplo, o nome da máquina será ContosoAS.

Colocar o SPN na conta da máquina, tanto para o FQDN quanto para o NetBIOS SPN, seria semelhante ao seguinte.

Setspn -S MSOLAPDisco.3/ContosoAS.contoso.com ContosoAS
Setspn -S MSOLAPDisco.3/ContosoAS ContosoAS

Para obter mais informações, consulte É necessário um SPN para o serviço Navegador do SQL Server.

Configurações de delegação na conta de serviço do servidor de relatório

A última parte que precisamos configurar são as configurações de delegação na conta de serviço do servidor de relatório. Há diferentes ferramentas que você pode usar para executar essas etapas. Para os fins deste documento, ficaremos com Usuários e Computadores do Ative Directory.

Você precisará começar indo para as propriedades da conta de serviço do servidor de relatório em Usuários e Computadores do Ative Directory. Esta será a conta da máquina, se você usou a Conta de Serviço Virtual ou Serviço de Rede, ou será uma conta de usuário de domínio.

Desejaremos configurar a delegação restrita com o protocolo de trânsito. Com a delegação restrita, você precisa ser explícito com quais serviços queremos delegar. Adicionaremos o SPN de serviço do Analysis Services e o SPN do Navegador SQL à lista à qual o Servidor de Relatório do Power BI pode delegar.

  1. Clique com o botão direito do mouse na conta de serviço do servidor de relatório e selecione Propriedades.

  2. Selecione a guia Delegação .

  3. Selecione Confiar neste computador para delegação apenas a serviços especificados.

  4. Selecione Usar qualquer protocolo de autenticação.

  5. Em Serviços aos quais esta conta pode apresentar credenciais delegadas: selecione Adicionar.

  6. Na nova caixa de diálogo, selecione Usuários ou Computadores.

  7. Insira a conta de serviço para o serviço Analysis Services e selecione Ok.

  8. Selecione o SPN que você criou. Começará com MSOLAPSvc.3. Se você adicionou o FQDN e o SPN NetBIOS, ele selecionará ambos. Você só pode ver um.

  9. Selecione OK. Você deve ver o SPN na lista agora.

  10. Opcionalmente, você pode selecionar Expandido para mostrar o FQDN e o SPN NetBIOS na lista.

  11. Selecione Adicionar novamente. Vamos adicionar o SPN do navegador SQL agora.

  12. Na nova caixa de diálogo, selecione Usuários ou Computadores.

  13. Digite o nome da máquina para a máquina em que o serviço Navegador SQL está e selecione Ok.

  14. Selecione o SPN que você criou. Começará com MSOLAPDisco.3. Se você adicionou o FQDN e o SPN NetBIOS, ele selecionará ambos. Você só pode ver um.

  15. Selecione OK. A caixa de diálogo deve ser semelhante à seguinte se você marcou Expandido.

    Screenshot of Power B I Reports showing Delegation tab of Properties window.

  16. Selecione OK.

  17. Reinicialize o Servidor de Relatório do Power BI.

Executando um relatório do Power BI

Depois que toda a configuração acima estiver em vigor, seu relatório deverá ser exibido corretamente.

Screenshot of Power B I Reports showing sample Dashboard view.

Embora essa configuração deva funcionar na maioria dos casos, com Kerberos, pode haver configurações diferentes dependendo do seu ambiente. Se o relatório ainda não for carregado, entre em contato com o administrador do domínio para investigar mais ou entre em contato com o suporte.

Tem dúvidas? Tente perguntar à Comunidade do Power BI