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

Habilitar o SSO facilita para os relatórios e painéis do Power BI atualizar dados de fontes locais, respeitando as permissões de nível de usuário configuradas nessas fontes. Use a delegação restrita de Kerberos para permitir a conectividade SSO perfeita.

Este artigo descreve as etapas necessárias para configurar o SSO baseado em Kerberos do 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 *SPN (Nomes da Entidade de Serviço) e configurações de delegação em contas de serviço.

Nota

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

Esboço 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 Ative Directory e das fontes de dados usadas, talvez seja necessário concluir parte ou toda a configuração descrita na Seção 2: Configuração específica do ambiente.

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

    Cenário Aceda a
    Seu ambiente do Ative Directory é protegido pela segurança. Adicionar conta de serviço de gateway ao Grupo de Acesso e Autorização do Windows
    A conta de serviço de gateway e as contas de usuário que o gateway representará estão em domínios ou florestas separados. Adicionar conta de serviço de 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 Ative Directory. Definir parâmetros de configuração de mapeamento de usuário na máquina de gateway
    Você planeja usar uma fonte de dados SAP HANA com SSO. Conclua as etapas de configuração específicas da fonte de dados
    Você planeja usar uma fonte de dados SAP BW com SSO. Conclua as etapas de configuração específicas da fonte de dados
    Você planeja usar uma fonte de dados Teradata com SSO. Conclua as etapas de configuração específicas da fonte de dados
  3. Valide sua configuração conforme descrito na Seção 3: Valide 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 oferece suporte a uma atualização in-loco e à tomada de controle de configurações de gateways existentes.

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

Para definir SPNs e configurações de delegação Kerberos, um administrador de domínio deve evitar conceder direitos a alguém que não tenha direitos de administrador de domínio. Na seção a seguir, abordamos as etapas de configuração recomendadas com mais detalhes.

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, recomenda-se a opção B.

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

Em uma instalação padrão, o gateway é executado como a conta de serviço local da máquina, NT Service\PBIEgwService.

Conta de serviço local da máquina

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

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

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

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

  2. No painel esquerdo, clique com o botão direito do rato no nome de domínio, selecione Localizar e, em seguida, introduza o nome da conta da conta de serviço de 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, um SPN já foi criado e você poderá pular para Configurar delegação restrita de Kerberos.

  5. Se não houver uma guia Delegação na caixa de diálogo Propriedades, você poderá criar manualmente um SPN na conta para habilitá-lo. Use a ferramenta setspn que vem com o Windows (você precisa de direitos de administrador de domínio para criar o SPN).

    Por exemplo, suponha que a conta de serviço de gateway é Contoso\GatewaySvc e o serviço de gateway está sendo executado na máquina chamada MyGatewayMachine. Para definir o SPN para a conta de serviço de gateway, execute o seguinte comando:

    setspn -S gateway/MyGatewayMachine Contoso\GatewaySvc

    Você também pode definir o SPN usando o snap-in MMC Usuários e Computadores do Ative Directory.

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

Se o Microsoft Entra Connect estiver configurado e as contas de usuário estiverem sincronizadas, o serviço de gateway não precisará executar pesquisas locais do Microsoft Entra em tempo de execução. Em vez disso, você pode simplesmente usar o SID de serviço local para o serviço de gateway para concluir toda a configuração necessária no Microsoft Entra ID. As etapas de configuração de delegação restrita Kerberos descritas neste artigo são as mesmas que as etapas de configuração necessárias no contexto do Microsoft Entra. Eles são aplicados ao objeto de computador do gateway (conforme identificado pelo SID do serviço local) no ID do Microsoft Entra 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 este SID no computador do Gateway do Power BI, você precisaria executar o seguinte comando 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>

Nota

Dependendo das configurações de segurança locais, talvez seja necessário adicionar a conta de serviço de gateway, NT SERVICE\PBIEgwService, ao grupo Administradores local na máquina de gateway e, em seguida, reiniciar o serviço de gateway no aplicativo de gateway. Essa opção não é suportada para cenários com vários gateways, pois o Ative Directory impõe SPNs exclusivos em uma floresta inteira. Para esses cenários, use a opção A .

Etapa 4: Configurar a delegação restrita de Kerberos

Você pode definir as configurações de delegação para delegação restrita de Kerberos padrão ou delegação restrita de Kerberos baseada em recursos. Para obter mais informações sobre as diferenças entre as duas abordagens de delegação, consulte 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 Ative 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 Ative Directory, com um SPN mapeado para a fonte de dados.

Nota

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

Dependendo da abordagem que você deseja usar, vá para uma das seções a seguir. Não preencha ambas as secções:

  • Opção A: Delegação restrita de Kerberos padrão. Esta é a recomendação padrão para a maioria dos ambientes.
  • Opção B: Delegação restrita de Kerberos baseada em recursos. Isso é necessário se a fonte de dados pertencer a um domínio diferente do gateway.

Opção A: Delegação restrita de Kerberos padrão

Agora vamos definir as configurações de delegação para a conta de serviço de gateway. Há várias ferramentas que você pode usar para executar essas etapas. Aqui, usaremos o snap-in MMC Usuários e Computadores do Ative Directory para administrar e publicar informações no diretório. Está disponível em controladores de domínio por padrão; em outras máquinas, você pode habilitá-lo por meio da configuração de recursos do Windows.

Precisamos configurar a delegação restrita de Kerberos com transição de protocolo. Com a delegação restrita, você deve ser explícito sobre 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 suas fontes de dados subjacentes (como SQL Server, SAP HANA, SAP BW, Teradata ou Spark). Para saber como configurar esses SPNs de servidor de fonte de dados, consulte a documentação técnica do respetivo servidor de banco de dados e consulte a seção Qual SPN seu aplicativo exige? na postagem do blog Minha lista de verificação Kerberos.

Nas etapas a seguir, assumimos um ambiente local com duas máquinas no mesmo domínio: uma máquina gateway e um servidor de banco de dados executando o SQL Server que já foi configurado para SSO baseado em Kerberos. As etapas podem ser adotadas para uma das outras fontes de dados suportadas, desde que a fonte de dados já tenha sido configurada para logon único baseado em Kerberos. Para este exemplo, usaremos as seguintes configurações:

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

Veja como definir as configurações de delegação:

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

  2. Clique com o botão direito do mouse na conta de serviço do gateway (Contoso\GatewaySvc) e selecione 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 para a 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á deveria ter sido definido nesta 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ê adicionou o FQDN e o SPN NetBIOS para seu serviço de banco de dados, selecione ambos. Você pode ver apenas um.

  9. Selecione OK.

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

    Caixa de diálogo Propriedades do Conector de Gateway

  10. Para continuar o processo de configuração, prossiga para Conceder direitos de política local à conta de serviço de gateway na máquina do gateway.

Opção B: Delegação restrita de Kerberos baseada em recursos

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

Nas etapas a seguir, assumimos um ambiente local com duas máquinas em domínios diferentes: uma máquina gateway e um servidor de banco de dados executando o SQL Server que já foi configurado para SSO baseado em Kerberos. Essas etapas podem ser adotadas para uma das outras fontes de dados suportadas, desde que a fonte de dados já tenha sido configurada para logon único baseado em Kerberos. Para este exemplo, usaremos as seguintes configurações:

  • Domínio frontend do Ative Directory (Netbios): ContosoFrontEnd
  • Domínio de back-end do Ative Directory (Netbios): ContosoBackEnd
  • Nome da máquina de gateway: MyGatewayMachine
  • Conta de serviço de gateway: ContosoFrontEnd\GatewaySvc
  • Nome da máquina 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 MMC Usuários e Computadores do Ative Directory no controlador de domínio para o domínio ContosoFrontEnd e verifique se nenhuma configuração de delegação é aplicada para a conta de serviço de gateway.

    Propriedades do conector do gateway

  2. Use Usuários e Computadores do Ative Directory no controlador de domínio para o domínio ContosoBackEnd e verifique se nenhuma configuração de delegação é aplicada para a conta de serviço back-end.

    Propriedades do serviço SQL

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

    Atributos de serviço SQL

  4. Em Usuários e Computadores do Ative Directory, crie um grupo no controlador de domínio para o domínio ContosoBackEnd . Adicione a conta de serviço de 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 de domínio do domínio ContosoBackEnd para atualizar o atributo msDS-AllowedToActOnBehalfOfOtherIdentity da conta de serviço back-end:

    $c = Get-ADGroup ResourceDelGroup
    Set-ADUser SQLService -PrincipalsAllowedToDelegateToAccount $c
    
  6. Em Usuários e Computadores do Ative Directory, verifique se a atualização está refletida na guia Editor deAtributos, nas propriedades da conta de serviço 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 da fonte de dados à qual o gateway pode delegar:

Nota

Se houver enctypes existentes definidos na(s) conta(s) de serviço, consulte o administrador do Ative Directory, pois seguir as etapas abaixo substituirá os valores enctypes existentes e poderá quebrar clientes.

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

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

  3. Selecione o separador Conta.

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

    • Esta conta suporta encriptação Kerberos AES de 128 bits
    • Esta conta suporta criptografia Kerberos AES de 256 bits

Nota

Se não tiver certeza de qual esquema de criptografia usar, consulte o administrador do Ative Directory.

Etapa 6: Conceder à conta de serviço de gateway direitos de política local na máquina de gateway

Finalmente, na máquina que executa o serviço de gateway (MyGatewayMachine em nosso exemplo), conceda à conta de serviço de gateway as políticas locais Represente um cliente após a autenticação e Aja como parte do sistema operacional (SeTcbPrivilege). Execute essa configuração com o Editor de Diretiva de Grupo Local (gpedit.msc).

  1. Na máquina do gateway, execute gpedit.msc.

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

    Estrutura de pastas da Diretiva 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 rato na política, abra Propriedades e, em seguida, veja a lista de contas.

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

  5. Em Atribuição de Direitos de Usuário, selecione Agir 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 de gateway de dados local.

Etapa 7: A conta do Windows pode acessar a máquina de gateway

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

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

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

Preencha esta secção se alguma das seguintes situações se aplicar:

  • Seu ambiente do Ative 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.

Você também pode adicionar a conta de serviço de gateway ao Grupo de Autorização e Acesso do Windows em situações em que o domínio/floresta não foi protegido, mas não é necessário.

Para obter mais informações, consulte Grupo de Autorização e Acesso do Windows.

Para concluir esta etapa de configuração, para cada domínio que contém usuários do Ative Directory, você deseja que a conta de serviço de gateway possa representar:

  1. Entre em um computador no domínio e inicie o snap-in MMC Usuários e Computadores do Ative Directory.
  2. Localize o grupo Grupo de Autorização e Acesso do Windows, que normalmente é encontrado no contêiner Interno .
  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 de gateway reside.
  5. Digite o nome da conta de serviço de 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 de gateway.

Definir parâmetros de configuração de mapeamento de usuário na máquina de gateway

Preencha esta secção se:

  • 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 Ative Directory.

Cada usuário do Ative Directory mapeado dessa maneira precisa ter permissões de SSO 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 Ative Directory não utilizado. Usaremos msDS-cloudExtensionAttribute1 as etapas a seguir. Este atributo está disponível apenas no Windows Server 2012 e posterior.

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

    Nota

    Em cenários de vários domínios, talvez seja necessário definir ADUserNameReplacementProperty para userPrincipalName 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 de gateway e selecione Reiniciar.

    Captura de ecrã do separador Serviços do Gestor de Tarefas

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

    Você pode definir a msDS-cloudExtensionAttribute1 propriedade com o snap-in MMC Usuários e Computadores do Ative Directory:

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

    2. Clique com o botão direito do rato no nome de domínio, selecione Localizar e, em seguida, introduza o nome da conta do utilizador local do Ative Directory a mapear.

    3. Selecione a guia Editor de Atributos.

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

    4. Selecione OK.

      Janela String Attribute Editor

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

Conclua 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:

Nota

Embora outras bibliotecas SNC também possam funcionar para BW SSO, elas não são oficialmente suportadas pela 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 a ser usada para SSO. Se você tiver vários gateways, certifique-se de selecionar o gateway configurado para Kerberos SSO. Em seguida, em Configurações para a fonte de dados, verifique se Usar SSO via Kerberos para consultas DirectQuery ou Usar SSO via Kerberos para consultas DirectQuery e Importar está marcado para Relatórios baseados em DirectQuery e Usar SSO via Kerberos para consultas DirectQuery e Importar está marcado para Importar relatórios baseados em Relatórios.

 Captura de ecrã a mostrar a adição de definições para início de sessão único.

As configurações Usar SSO via Kerberos para consultas DirectQuery e Usar SSO via Kerberos para consultas DirectQuery e Importar fornecem um comportamento diferente para relatórios baseados em DirectQuery e relatórios baseados em Importar.

Use o SSO via Kerberos para consultas DirectQuery:

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

Use o SSO via Kerberos para consultas DirectQuery e Import:

  • Para o relatório baseado em DirectQuery, as credenciais SSO do usuário são usadas.
  • Para o relatório baseado em Importação, as credenciais de SSO do proprietário do modelo semântico são usadas, independentemente do usuário que aciona a Importação.

Etapa 2: Testar o logon único

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

Etapa 3: Executar um relatório do Power BI

Ao publicar, selecione o gateway que configurou para SSO se tiver vários gateways.

Para obter mais informações sobre o gateway de dados local e o DirectQuery, consulte os seguintes recursos: