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.
Conclua todas as etapas na Seção 1: Configuração básica.
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 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.
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:
Como administrador do domínio, inicie o snap-in Usuários e Computadores do Active Directory do MMC (Console de Gerenciamento Microsoft).
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.
No resultado da pesquisa, clique com o botão direito do mouse na conta de serviço do gateway e selecione Propriedades.
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.
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. Essa é a recomendação padrão para a maioria dos ambientes.
- Opção B: Delegação restrita do Kerberos baseado em recursos. Isso será necessário se a fonte de dados pertencer a um domínio diferente do gateway.
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:
Com direitos de administrador de domínio, abra o snap-in do MMC Usuários e Computadores do Active Directory.
Clique com o botão direito do mouse na conta de serviço do gateway (Contoso\GatewaySvc) e escolha Propriedades.
Selecione a guia Delegação.
Selecione Confiar neste computador para delegação apenas a serviços especificados>Usar qualquer protocolo de autenticação.
Em Serviços aos quais esta conta pode apresentar credenciais delegadas, selecione Adicionar.
Na nova caixa de diálogo, selecione Usuários ou Computadores.
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.
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.
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.
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:
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.
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.
Na guia Editor de Atributos das propriedades da conta, verifique se o atributo msDS-AllowedToActOnBehalfOfOtherIdentity não está definido.
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.
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
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.
Com direitos de administrador de domínio, abra o snap-in do MMC Usuários e Computadores do Active Directory.
Clique com o botão direito do mouse na conta de serviço de fonte de dados/gateway e selecione Propriedades.
Selecione a guia Conta.
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).
No computador do gateway, execute: gpedit.msc.
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.
Em Atribuição de Direitos de Usuário, na lista de políticas, selecione Representar um cliente após a autenticação.
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).
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.
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:
- Conecte-se a um computador no domínio e inicie o snap-in do MMC chamado Usuários e Computadores do Active Directory.
- Localize o grupo Grupo de Acesso e Autorização do Windows, geralmente localizado no contêiner Builtin.
- Clique duas vezes no grupo e clique na guia Membros.
- Clique em Adicionar e altere o local do domínio para o domínio em que a conta de serviço do gateway reside.
- 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.
- Clique em OK.
- Clique em Aplicar.
- 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.
Abra o arquivo de configuração do gateway principal,
Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll
. Por padrão, esse arquivo é armazenado emC:\Program Files\On-premises data gateway
.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.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.Na guia Serviços do Gerenciador de Tarefas, clique com o botão direito do mouse no serviço do gateway e selecione Reiniciar.
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 atributomsDS-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":Como administrador de domínio, inicialize Usuários e Computadores do Active Directory.
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.
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.Selecione OK.
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:
- Usar o Kerberos para logon único (SSO) no SAP HANA.
- Usar o logon único Kerberos de SSO para SAP BW usando CommonCryptoLib (sapcrypto.dll).
- Usar o Kerberos para SSO (logon único) no Teradata.
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.
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.
Conteúdo relacionado
Para saber mais sobre o gateway de dados local e o DirectQuery, confira estes recursos: