Configurar o SSO baseado em Kerberos do serviço do Power BI para fontes de dados locais

A habilitação do SSO facilita a atualização de dados de fontes locais em relatórios e dashboards do Power BI, respeitando as permissões no nível de usuário configuradas nessas fontes. Use a delegação restrita de Kerberos para habilitar a conectividade ininterrupta de SSO.

Este artigo descreve as etapas necessárias para configurar o SSO baseado em Kerberos de serviço do Power BI para fontes de dados locais.

Pré-requisitos

Vários itens devem ser configurados para que a delegação restrita de Kerberos funcione corretamente, incluindo os SPNs (nomes das entidades de serviço) e as configurações de delegação nas contas de serviço.

Observação

Não há suporte para o uso de alias de DNS com SSO.

Estrutura de tópicos de configuração

As etapas necessárias para configurar o logon único do gateway são descritas abaixo.

  1. Conclua todas as etapas na Seção 1: Configuração básica.

  2. Dependendo do ambiente do Active Directory e das fontes de dados usadas, talvez seja necessário concluir algumas ou todas as configurações descritas na Seção 2: configuração específica do ambiente.

    Cenários possíveis que podem exigir configuração adicional estão listados abaixo:

    Cenário Ir para
    Seu ambiente do Active Directory é protegido pela segurança. Adicionar uma conta de serviço do gateway ao Grupo de Acesso e Autorização do Windows
    A conta de serviço do gateway e as contas de usuário que o gateway representará estiverem em domínios ou florestas separados. Adicionar uma conta de serviço do gateway ao Grupo de Acesso e Autorização do Windows
    Você não tem o Microsoft Entra Connect com a sincronização de conta de usuário configurada e o UPN usado no Power BI para usuários não corresponde ao UPN em seu ambiente local do Active Directory. Definir parâmetros de configuração do mapeamento de usuário no computador do gateway
    Você planeja usar uma fonte de dados do SAP HANA com SSO. Concluir as etapas de configuração específicas da fonte de dados
    Você planeja usar uma fonte de dados do SAP BW com SSO. Concluir as etapas de configuração específicas da fonte de dados
    Você planeja usar uma fonte de dados de Teradata com SSO. Concluir as etapas de configuração específicas da fonte de dados
  3. Valide sua configuração conforme descrito na Seção 3: Validar a configuração para garantir que o SSO esteja configurado corretamente.

Seção 1: Configuração básica

Etapa 1: Instalar e configurar o gateway de dados local da Microsoft

O gateway de dados local é compatível com atualização in-loco e com o controle das configurações de gateway existentes.

Etapa 2: Ter direitos de administrador de domínio para definir configurações de SPNs (SetSPN) e da delegação restrita do Kerberos

Para definir configurações de SPNs e delegação de Kerberos, o administrador do domínio precisa evitar conceder direitos a pessoas que não têm direitos de administrador de domínio. Na seção a seguir, abordaremos as etapas de configuração recomendadas mais detalhadamente.

Etapa 3: Configurar a conta de serviço do Gateway

A opção A abaixo é a configuração necessária, a menos que você tenha o Microsoft Entra Connect configurado e as contas de usuário estejam sincronizadas. Nesse caso, a opção B é recomendada.

Opção A: Executar o serviço Windows do gateway como uma conta de domínio com SPN

Em uma instalação padrão, o gateway é executado como uma conta de serviço local do computador, NT Service\PBIEgwService.

Conta de serviço local do computador

Para habilitar a delegação restrita de Kerberos, o gateway precisa ser executado como uma conta de domínio, a menos que a instância do Microsoft Entra já esteja sincronizada com a instância do Active Directory local (usando o Microsoft Entra DirSync/Connect). Para alternar para uma conta de domínio, confira Mudar a conta de serviço de gateway.

Configurar um SPN para a conta de serviço do gateway

Primeiro, determine se um SPN já foi criado para a conta de domínio usada como a conta de serviço do gateway:

  1. Como administrador do domínio, inicie o snap-in Usuários e Computadores do Active Directory do MMC (Console de Gerenciamento Microsoft).

  2. No painel esquerdo, clique com o botão direito do mouse no nome de domínio, selecione Localizar e insira o nome da conta de serviço do gateway.

  3. No resultado da pesquisa, clique com o botão direito do mouse na conta de serviço do gateway e selecione Propriedades.

  4. Se a guia Delegação estiver visível na caixa de diálogo Propriedades, isso indica que já foi criado um SPN e é possível pular para Configurar o Kerberos a ser usado.

  5. Se não houver uma guia Delegação na caixa de diálogo Propriedades, crie manualmente um SPN na conta para habilitá-la. Use a ferramenta setspn fornecida com o Windows (é necessário ter direitos de administrador de domínio para criar o SPN).

    Por exemplo, imagine que a conta de serviço do gateway é Contoso\GatewaySvc e que o serviço de gateway está em execução em um computador chamado MyGatewayMachine. Para definir o SPN da conta de serviço do gateway, execute o seguinte comando:

    setspn -S gateway/MyGatewayMachine Contoso\GatewaySvc

    Também é possível definir o SPN usando o snap-in Usuários e Computadores do Active Directory do MMC.

Opção B: Configurar o computador para Microsoft Entra Connect

Se o Microsoft Entra Connect está configurado e as contas de usuário estão sincronizadas, o serviço do gateway não precisa executar pesquisas no Microsoft Entra local no runtime. Em vez disso, basta usar o SID do serviço local para que o serviço de gateway conclua toda a configuração necessária no Microsoft Entra ID. As etapas de configuração da delegação restrita de Kerberos descritas neste artigo são as mesmas exigidas no contexto do Microsoft Entra. Elas são aplicadas ao objeto de computador do gateway (conforme identificado pelo SID do serviço local) no Microsoft Entra ID em vez da conta de domínio. O SID de serviço local para NT SERVICE/PBIEgwService é o seguinte:

S-1-5-80-1835761534-3291552707-3889884660-1303793167-3990676079

Para criar o SPN para esse SID no computador Power BI Gateway, você precisaria executar o comando a seguir em um prompt de comando administrativo (substitua <COMPUTERNAME> pelo nome do computador do Gateway do Power BI):

SetSPN -s HTTP/S-1-5-80-1835761534-3291552707-3889884660-1303793167-3990676079 <COMPUTERNAME>

Observação

Dependendo das configurações de segurança locais, talvez seja necessário adicionar a conta do serviço de gateway, NT SERVICE\PBIEgwService, ao grupo de Administradores locais no computador do gateway e, em seguida, reiniciar o serviço de gateway no aplicativo de gateway. Essa opção não tem suporte para cenários que têm vários gateways, pois o Active Directory impõe SPNs exclusivos em toda uma floresta. Para esses cenários, use a opção A.

Etapa 4: Configurar delegação restrita do Kerberos

É possível definir as configurações de delegação para a delegação restrita de Kerberos padrão ou baseada em recursos. Para saber mais sobre as diferenças entre as duas abordagens de delegação, confira Visão geral da delegação restrita de Kerberos.

As seguintes contas de serviço são necessárias:

  • Conta de serviço de gateway: usuário de serviço que representa o gateway no Active Directory, com um SPN configurado na Etapa 3.
  • Conta de serviço da fonte de dados: usuário de serviço que representa a fonte de dados no Active Directory, com um SPN mapeado para a fonte de dados.

Observação

As contas de serviço de fonte de dados e de gateway precisam ser separadas. A mesma conta de serviço não pode ser usada para representar o gateway e a fonte de dados.

De acordo com a abordagem que você quer usar, acesse uma das seguintes seções. Não conclua ambas as seções:

Opção A: Delegação restrita do Kerberos Padrão

Agora, defina as configurações de delegação para a conta de serviço do gateway. Há diversas ferramentas que podem ser usadas para realizar essas etapas. Aqui, usaremos Usuários e Computadores do Active Directory, que é um snap-in do MMC para administrar e publicar informações no diretório. Ele está disponível nos controladores de domínio por padrão, mas também pode ser habilitado pela configuração de recursos do Windows.

Precisamos configurar a delegação restrita de Kerberos com a transição de protocolos. Com a delegação restrita, é preciso ser explícito sobre para quais serviços você permite que o gateway apresente credenciais delegadas. Por exemplo, somente o SQL Server ou o servidor SAP HANA aceita chamadas de delegação da conta de serviço do gateway.

Esta seção pressupõe que você já tenha configurado SPNs para as fontes de dados subjacentes (como SQL Server, SAP HANA, SAP BW, Teradata ou Spark). Para saber como configurar esses SPNs do servidor de fonte de dados, consulte a documentação técnica do respectivo servidor de banco de dados e confira a seção Qual é o SPN do seu aplicativo? na postagem no blog Minha lista de verificação do Kerberos.

Nas etapas a seguir, suponhamos que haja um ambiente local com dois computadores no mesmo domínio: um computador do gateway e um servidor de banco de dados que executa o SQL Server já configurado para SSO baseado em Kerberos. As etapas podem ser adotadas para uma das demais fontes de dados compatíveis, desde que a fonte de dados já tenha sido configurada para logon único baseado em Kerberos. Neste exemplo, vamos usar as seguintes configurações:

  • Domínio do Active Directory (Netbios): Contoso
  • Nome do computador de gateway: MyGatewayMachine
  • Conta de serviço do gateway: Contoso\GatewaySvc
  • Nome do computador da fonte de dados do SQL Server: TestSQLServer
  • Conta de serviço da fonte de dados do SQL Server: Contoso\SQLService

Defina as configurações de delegação da seguinte maneira:

  1. Com direitos de administrador de domínio, abra o snap-in do MMC Usuários e Computadores do Active Directory.

  2. Clique com o botão direito do mouse na conta de serviço do gateway (Contoso\GatewaySvc) e escolha Propriedades.

  3. Selecione a guia Delegação.

  4. Selecione Confiar neste computador para delegação apenas a serviços especificados>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 da fonte de dados e selecione OK.

    Por exemplo, uma fonte de dados do SQL Server pode ter uma conta de serviço como Contoso\SQLService. Um SPN apropriado para a fonte de dados já deve ter sido definido nessa conta.

  8. Selecione o SPN que você criou para o servidor de banco de dados.

    Em nosso exemplo, o SPN começa com MSSQLSvc. Se você tiver adicionado o SPN NetBIOS e o FQDN para o serviço de banco de dados, selecione ambos. Talvez você veja somente um.

  9. Selecione OK.

    Agora você deverá ver o SPN na lista de serviços para os quais a conta de serviço do gateway pode apresentar credenciais delegadas.

    Caixa de diálogo

  10. Para continuar o processo de configuração, vá para Conceder direitos de política local da conta de serviço do gateway no computador do gateway.

Opção B: Delegação restrita do Kerberos baseado em recursos

Use a delegação restrita de Kerberos baseada em recursos para habilitar a conectividade de logon único no Windows Server 2012 e versões posteriores. Assim, você permite que os serviços de front-end e back-end estejam em domínios diferentes. Para que isso funcione, o domínio de serviço de back-end precisa confiar no domínio do serviço de front-end.

Nas etapas a seguir, suponhamos que haja um ambiente local com dois computadores em diferentes domínios: um gateway e um servidor de banco de dados que executa o SQL Server que já estava configurado para logon único baseado em Kerberos. As etapas podem ser adotadas para uma das demais fontes de dados compatíveis, desde que a fonte de dados já tenha sido configurada para logon único baseado em Kerberos. Neste exemplo, vamos usar as seguintes configurações:

  • Domínio de front-end do Active Directory (NetBIOS): ContosoFrontEnd
  • Domínio de back-end do Active Directory (NetBIOS): ContosoBackEnd
  • Nome do computador de gateway: MyGatewayMachine
  • Conta de serviço do gateway: ContosoFrontEnd\GatewaySvc
  • Nome do computador da fonte de dados do SQL Server: TestSQLServer
  • Conta de serviço da fonte de dados do SQL Server: ContosoBackEnd\SQLService

Conclua as seguintes etapas de configuração:

  1. Use o snap-in do MMC Usuários e Computadores do Active Directory no controlador do domínio ContosoFrontEnd e verifique se não há configurações de delegação aplicadas à conta de serviço do gateway.

    Propriedades do conector de gateway

  2. Use Usuários e Computadores do Active Directory no controlador do domínio ContosoBackEnd e verifique se não há configurações de delegação aplicadas à conta de serviço do back-end.

    Propriedades do serviço do SQL

  3. Na guia Editor de Atributos das propriedades da conta, verifique se o atributo msDS-AllowedToActOnBehalfOfOtherIdentity não está definido.

    Atributos do serviço SQL

  4. Em Usuários e Computadores do Active Directory, crie um grupo no controlador do domínio ContosoBackEnd. Adicione a conta de serviço do gateway GatewaySvc ao grupo ResourceDelGroup.

    Para adicionar usuários de um domínio confiável, esse grupo deve ter um escopo de domínio local. Propriedades do grupo

  5. Abra um prompt de comando e execute os seguintes comandos no controlador do domínio ContosoBackEnd para atualizar o atributo msDS-AllowedToActOnBehalfOfOtherIdentity da conta de serviço do back-end:

    $c = Get-ADGroup ResourceDelGroup
    Set-ADUser SQLService -PrincipalsAllowedToDelegateToAccount $c
    
  6. Em Usuários e Computadores do Active Directory, verifique se a atualização será refletida na guia Editor de Atributos nas propriedades da conta de serviço de back-end.

Etapa 5: Habilitar a criptografia AES em contas de serviço

Aplique as seguintes configurações à conta de serviço do gateway e a cada conta de serviço de fonte de dados à qual o gateway pode delegar:

Observação

Se houver enctypes existentes definidos nas contas de serviço, consulte o administrador do Active Directory, pois seguir as etapas abaixo substituirá os valores de enctypes existentes e poderá interromper os clientes.

  1. Com direitos de administrador de domínio, abra o snap-in do MMC Usuários e Computadores do Active Directory.

  2. Clique com o botão direito do mouse na conta de serviço de fonte de dados/gateway e selecione Propriedades.

  3. Selecione a guia Conta.

  4. Em Opções de Conta, habilite pelo menos uma (ou ambas) das opções a seguir. Observe que as mesmas opções precisam ser habilitadas para todas as contas de serviço.

    • Essa conta oferece suporte à criptografia Kerberos AES de 128 bits
    • Essa conta oferece suporte à criptografia Kerberos AES de 256 bits

Observação

Se você não tiver certeza de qual esquema de criptografia usar, consulte o Administrador do Active Directory.

Etapa 6: Conceder direitos de política local da conta de serviço do gateway no computador do gateway

Por fim, no computador que executa o serviço do gateway (MyGatewayMachine em nosso exemplo), conceda à conta de serviço do gateway as políticas locais Representar um cliente após autenticação e Atuar como parte do sistema operacional (SeTcbPrivilege). Execute essa configuração com o Editor de Política de Grupo Local (gpedit.msc).

  1. No computador do gateway, execute: gpedit.msc.

  2. Acesse a Política de Computador Local>Configuração do Computador>Configurações do Windows>Configurações de Segurança>Políticas Locais>Atribuição de Direitos de Usuário.

    Estrutura de pastas da Política do Computador Local

  3. Em Atribuição de Direitos de Usuário, na lista de políticas, selecione Representar um cliente após a autenticação.

    Representar uma política de cliente

  4. Clique com o botão direito do mouse na política, abra Propriedades e exiba a lista de contas.

    A lista precisa incluir a conta de serviço do gateway (Contoso\GatewaySvc ou ContosoFrontEnd\GatewaySvc, dependendo do tipo de delegação restrita).

  5. Em Atribuição de Direitos de Usuário, selecione Atuar como parte do sistema operacional (SeTcbPrivilege) na lista de políticas. Verifique se a conta de serviço do gateway está incluída na lista de contas.

  6. Reinicie o processo do serviço do gateway de dados local.

Etapa 7: a conta do Windows pode acessar o computador do gateway

O SSO usa a Autenticação do Windows, portanto verifique se a conta do Windows pode acessar o computador do gateway. Se não tiver certeza, adicione NT-AUTHORITY\Usuários Autenticados (S-1-5-11) ao grupo "Usuários" do computador local.

Seção 2: Configuração específica do ambiente

Adicione uma conta de serviço do gateway ao Grupo de Acesso e Autorização do Windows

Conclua esta seção se qualquer uma das seguintes situações se aplicar:

  • Seu ambiente do Active Directory é protegido pela segurança.
  • Quando a conta de serviço do gateway e as contas de usuário que o gateway representará estiverem em domínios ou florestas separados.

Apesar de não ser obrigatório, também é possível adicionar a conta de serviço do gateway ao Grupo de Acesso e Autorização do Windows em situações em que o domínio/floresta não tiver sido protegido.

Confira mais informações em Grupo de Acesso e Autorização do Windows.

Para concluir esta etapa da configuração, para todo domínio que contiver usuários do Active Directory que você desejar que a conta de serviço do gateway possa representar:

  1. Conecte-se a um computador no domínio e inicie o snap-in do MMC chamado Usuários e Computadores do Active Directory.
  2. Localize o grupo Grupo de Acesso e Autorização do Windows, geralmente localizado no contêiner Builtin.
  3. Clique duas vezes no grupo e clique na guia Membros.
  4. Clique em Adicionar e altere o local do domínio para o domínio em que a conta de serviço do gateway reside.
  5. Digite o nome da conta de serviço do gateway e clique em Verificar Nomes para verificar se a conta de serviço de gateway está acessível.
  6. Clique em OK.
  7. Clique em Aplicar.
  8. Reinicie o serviço do gateway.

Definir parâmetros de configuração do mapeamento de usuário no computador do gateway

Conclua esta seção devagar se:

  • Você não tem o Microsoft Entra Connect com sincronização de conta de usuário configurada E
  • O UPN usado no Power BI para usuários não corresponde ao UPN em seu ambiente local do Active Directory.

Cada usuário do Active Directory mapeado dessa maneira precisa ter permissões de logon único para sua fonte de dados.

  1. Abra o arquivo de configuração do gateway principal, Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll. Por padrão, esse arquivo é armazenado em C:\Program Files\On-premises data gateway.

  2. Defina ADUserNameLookupProperty como um atributo do Active Directory não utilizado. Use o msDS-cloudExtensionAttribute1 nas etapas a seguir. Esse atributo só está disponível no Windows Server 2012 e versões posteriores.

  3. Defina ADUserNameReplacementProperty como SAMAccountName e, em seguida, salve o arquivo de configuração.

    Observação

    Em cenários de vários domínios, pode ser necessário definir o ADUserNameReplacementProperty para userPrincipalName para preservar as informações de domínio do usuário.

  4. Na guia Serviços do Gerenciador de Tarefas, clique com o botão direito do mouse no serviço do gateway e selecione Reiniciar.

    Captura de tela da guia Serviços do Gerenciador de Tarefas

  5. Para cada usuário do serviço do Power BI em que você deseja habilitar o SSO de Kerberos, defina a propriedade msDS-cloudExtensionAttribute1 de um usuário local do Active Directory (com permissão de SSO na fonte de dados) como o nome de usuário completo (UPN) do usuário do serviço do Power BI. Por exemplo, se você entrar no serviço do Power BI como test@contoso.com e deseja mapear esse usuário para um usuário local do Active Directory com permissões de SSO, como test@LOCALDOMAIN.COM, defina o atributo msDS-cloudExtensionAttribute1 desse usuário como test@contoso.com.

    Defina a propriedade msDS-cloudExtensionAttribute1 com o snap-in do MMC "Usuários e Computadores do Active Directory":

    1. Como administrador de domínio, inicialize Usuários e Computadores do Active Directory.

    2. Clique com o botão direito do mouse no nome de domínio, selecione Localizar e digite o nome da conta do usuário local do Active Directory que você deseja mapear.

    3. Selecione a guia Editor de Atributo.

      Localize a propriedade msDS-cloudExtensionAttribute1 e clique duas vezes nela. Defina o valor como o nome de usuário completo (UPN) do usuário que você usou para entrar no serviço do Power BI.

    4. Selecione OK.

      Janela do Editor de Atributo de Cadeia de Caracteres

    5. Escolha Aplicar. Verifique se o valor correto foi definido na coluna Valor.

Concluir as etapas de configuração específicas da fonte de dados

Para fontes de dados SAP HANA, SAP BW e Teradata, é necessária uma configuração adicional para usar com o SSO do gateway:

Observação

Embora outras bibliotecas SNC também possam funcionar no SSO do BW, mas não têm mais suporte oficial da Microsoft.

Seção 3: Validar configuração

Etapa 1: Configurar fontes de dados no Power BI

Depois de concluir todas as etapas de configuração, use a página Gerenciar Gateway no Power BI para configurar a fonte de dados que será usada para SSO. Se há vários gateways, escolha o gateway configurado para o SSO do Kerberos. Em seguida, em Configurações para a fonte de dados, confira se a opção Usar SSO via Kerberos para consultas do DirectQuery ou Usar SSO via Kerberos para consultas do DirectQuery e de Importação está marcada para relatórios baseados em DirectQuery e se Usar SSO via Kerberos para consultas do DirectQuery e de Importação está marcada para relatórios baseados em Importação.

 Captura de pela de adição de configurações para logon único.

As configurações Usar SSO via Kerberos para consultas do DirectQuery e Usar SSO via Kerberos para consultas do DirectQuery e de Importação fornecem um comportamento diferente para relatórios baseados em DirectQuery e relatórios baseados em Importação.

Usar SSO via Kerberos para consultas do DirectQuery:

  • Para o relatório baseado em DirectQuery, as credenciais de SSO do usuário são usadas.
  • Para o relatório baseado em Importação, as credenciais de SSO não são usadas, mas as credenciais inseridas na página de fonte de dados são utilizadas.

Usar SSO via Kerberos para consultas do DirectQuery e de Importação:

  • Para o relatório baseado em DirectQuery, as credenciais de SSO do usuário são usadas.
  • No caso do relatório baseado em importação, as credenciais de SSO do proprietário do modelo semântico são usadas, seja qual for o usuário que esteja disparando a importação.

Etapa 2: Testar logon único

Vá para Testar a configuração de SSO (logon único) para validar rapidamente que sua configuração está definida corretamente e solucionar problemas comuns.

Etapa 3: Executar um relatório do Power BI

Ao publicar, escolha o gateway configurado para SSO caso haja vários gateways.

Para saber mais sobre o gateway de dados local e o DirectQuery, confira estes recursos: