Detalhes sobre o gateway de dados localOn-premises data gateway in-depth

Esta página é útil?

É possível que os usuários na sua organização acessem dados locais (para os quais eles já têm autorização de acesso), mas antes que eles possam se conectar à fonte de dados local, um gateway de dados local precisa ser instalado e configurado.It's possible for users in your organization to access on-premises data (to which they already have access authorization), but before those users can connect to your on-premises data source, an On-premises data gateway needs to be installed and configured. O gateway facilita a comunicação nos bastidores, de maneira rápida e segura, de um usuário na nuvem para a fonte de dados local, retornando à nuvem em seguida.The gateway facilitates quick and secure behind-the-scenes communication between a user in the cloud, to your on-premises data source, and then back to the cloud.

A instalação e configuração de um gateway geralmente são feitas por um administrador.Installing and configuring a gateway is usually done by an administrator. Esse processo pode necessitar de conhecimento especial sobre seus servidores locais e, em alguns casos, pode exigir permissões do Administrador do Servidor.It may require special knowledge of your on-premises servers and in some cases may require Server Administrator permissions.

Este artigo não fornece orientações passo a passo sobre como instalar e configurar o gateway.This article doesn’t provide step-by-step guidance on how to install and configure the gateway. Para fazer isso, veja Gateway de dados local.For that, be sure to see On-premises data gateway. Este artigo destina-se a fornecer uma compreensão detalhada de como o gateway funciona.This article is meant to provide you with an in-depth understanding of how the gateway works. Também veremos alguns detalhes sobre nomes de usuário e segurança no Azure Active Directory e no Analysis Services, além de como o serviço de nuvem usa o endereço de email que um usuário usa para entrar no gateway e no Active Directory para se conectar com segurança aos dados locais e consultá-los.We’ll also go into some detail about usernames and security in both Azure Active Directory and Analysis Services, and how the cloud service uses the e-mail address a user sign in with, the gateway, and Active Directory to securely connect to and query your on-premises data.

How the gateway works

On-prem-data-gateway-how-it-works

Let’s first look at what happens when a user interacts with an element connected to an on-premises data source.

Observação

For Power BI, you will need to configure a data source for the gateway.

  1. A query will be created by the cloud service, along with the encrypted credentials for the on-premises data source, and sent to the queue for the gateway to process.
  2. The gateway cloud service will analyze the query and will push the request to the Azure Service Bus.
  3. Azure Service Bus sends the pending requests to the on-premises data gateway.
  4. The gateway gets the query, decrypts the credentials and connects to the data source(s) with those credentials.
  5. The gateway sends the query to the data source for execution.
  6. The results are sent from the data source, back to the gateway, and then onto the cloud service. The service then uses the results.

List of available data source types

Data source Live/DirectQuery User configured manual or scheduled refresh
Analysis Services Tabular Yes Yes
Analysis Services Multidimensional Yes Yes
File No Yes
Folder No Yes
IBM DB2 Yes Yes
IBM Informix Database No Yes
IBM Netezza Yes Yes
Impala Yes Yes
MySQL No Yes
OData No Yes
ODBC No Yes
Oledb No Yes
Oracle Yes Yes
PostgresSQL No Yes
SAP BW Yes Yes
SAP HANA Yes Yes
SharePoint list (on-premises) No Yes
Snowflake Yes Yes
Spark Yes Yes
SQL Server Yes Yes
Sybase No Yes
Teradata Yes Yes
Web No Yes

Observação

In addition to on-premises data sources, sources behind a firewall, VPN, or virtual network might also need a data gateway.

Conta de entradaSign in account

Os usuários entrarão com uma conta corporativa ou de estudante.Users will sign in with either a work or school account. Essa é a conta de sua organização.This is your organization account. Se você se inscreveu para uma oferta do Office 365 e não forneceu seu email de trabalho real, ela poderá ser semelhante a nancy@contoso.onmicrosoft.com.If you signed up for an Office 365 offering and didn’t supply your actual work email, it may look like nancy@contoso.onmicrosoft.com. Sua conta, em um serviço de nuvem, é armazenada em um locatário do AAD (Azure Active Directory).Your account, within a cloud service, is stored within a tenant in Azure Active Directory (AAD). Na maioria dos casos, o UPN de sua conta do AAD corresponderá ao endereço de email.In most cases, your AAD account’s UPN will match the email address.

Autenticação em fontes de dados locaisAuthentication to on-premises data sources

Uma credencial armazenada será usada para se conectar a fontes de dados locais do gateway, exceto o Analysis Services.A stored credential will be used to connect to on-premises data sources from the gateway except Analysis Services. Independentemente do usuário individual, o gateway usa a credencial armazenada para se conectar.Regardless of the individual user, the gateway uses the stored credential to connect.

Autenticação em uma fonte de dados dinâmica do Analysis ServicesAuthentication to a live Analysis Services data source

Cada vez que um usuário interage com o Analysis Services, o nome de usuário efetivo é passado para o gateway e, em seguida, para o servidor local do Analysis Services.Each time a user interacts with Analysis Services, the effective username is passed to the gateway and then onto your on-premises Analysis Services server. O nome UPN, normalmente, o endereço de email que você usa para entrar na nuvem, é o que passaremos para o Analysis Services como o usuário efetivo.The user principal name (UPN), typically the email address you sign into the cloud with, is what we will pass to Analysis Services as the effective user. O nome UPN é passado na propriedade de conexão EffectiveUserName.The UPN is passed in the connection property EffectiveUserName. Esse endereço de email deve corresponder a um UPN definido no domínio do Active Directory local.This email address should match a defined UPN within the local Active Directory domain. O UPN é uma propriedade de uma conta do Active Directory.The UPN is a property of an Active Directory account. Essa conta do Windows precisará estar presente em uma função do Analysis Services para que ela tenha acesso ao servidor.That Windows account then needs to be present in an Analysis Services role to have access to the server. O logon não terá êxito se nenhuma correspondência for encontrada no Active Directory.The login will not be successful if no match is found in Active Directory.

O Analysis Services também poderá fornecer a filtragem com base nessa conta.Analysis Services can also provide filtering based on this account. A filtragem pode ocorrer com a segurança baseada em função ou com a segurança em nível de linha.The filtering can occur with either role based security, or row-level security.

Segurança baseada em funçãoRole-based security

Modelos fornecem segurança baseada em funções de usuário.Models provide security based on user roles. Funções são definidas para um projeto de modelo específico durante a criação no SSDT-BI (SQL Server Data Tools – Business Intelligence), ou depois que um modelo é implantado usando o SSMS (SQL Server Management Studio).Roles are defined for a particular model project during authoring in SQL Server Data Tools – Business Intelligence (SSDT-BI), or after a model is deployed, by using SQL Server Management Studio (SSMS). As funções contêm membros organizados por nome de usuário do Windows ou por grupo do Windows.Roles contain members by Windows username or by Windows group. As funções definem as permissões de que um usuário dispõe para consultar ou executar ações no modelo.Roles define permissions a user has to query or perform actions on the model. A maioria dos usuários pertencerão a uma função com permissões de Leitura.Most users will belong to a role with Read permissions. Outras funções são destinadas a administradores com permissões para processar itens e gerenciar funções, tanto de banco de dados quanto de outros tipos.Other roles are meant for administrators with permissions to process items, manage database functions, and manage other roles.

Segurança em nível de linhaRow-level security

A segurança em nível de linha é específica para a segurança em nível de linha do Analysis Services.Row-level security is specific to Analysis Services row-level security. Os modelos podem fornecem segurança dinâmica no nível de linha.Models can provide dynamic, row-level security. Em vez de ter pelo menos uma função à qual os usuários pertencem, a segurança dinâmica não é requerida para nenhum modelo de tabela.Unlike having at least one role in which users belong to, dynamic security is not required for any tabular model. Em um nível elevado, a segurança dinâmica define o acesso de leitura de um usuário aos dados diretamente para uma linha específica em uma tabela específica.At a high-level, dynamic security defines a user’s read access to data right down to a particular row in a particular table. De modo similar ao que ocorre nas funções, a segurança dinâmica no nível de linha depende de um nome de usuário do Windows.Similar to roles, dynamic row-level security relies on a user’s Windows username.

A capacidade de um usuário de consultar e ver dados de modelo é determinada, primeiramente, pelas funções das quais sua conta de usuário do Windows é membro e, em segundo lugar, pela segurança dinâmica em nível de linha, se estiver configurada.A user’s ability to query and view model data are determined first by the roles their Windows user account are a member of and second, by dynamic row-level security, if configured.

A implementação de segurança dinâmica em nível de linha e a segurança baseada em função em modelos está além do escopo deste artigo.Implementing role and dynamic row-level security in models are beyond the scope of this article. Saiba mais em Funções (SSAS de tabela) e Funções de segurança (Analysis Services – dados multidimensionais) no MSDN.You can learn more at Roles (SSAS Tabular) and Security Roles (Analysis Services - Multidimensional Data) on MSDN. Além disso, para obter uma compreensão mais profunda sobre a segurança do modelo de tabela, baixe e leia o white paper Securing the Tabular BI Semantic Model (Protegendo o modelo semântico de BI de tabela).And, for the most in-depth understanding of tabular model security, download and read the Securing the Tabular BI Semantic Model whitepaper.

E quanto ao Azure Active Directory?What about Azure Active Directory?

Os serviços em nuvem da Microsoft usam o Azure Active Directory para cuidar da autenticação de usuários.Microsoft cloud services use Azure Active Directory to take care of authenticating users. O Azure Active Directory é o locatário que contém nomes de usuário e grupos de segurança.Azure Active Directory is the tenant that contains usernames and security groups. Normalmente, um endereço de email usado para a entrada de um usuário é o mesmo que o UPN da conta.Typically, the email address a user signs in with is the same as the UPN of the account.

Qual é a função do meu Active Directory local?What is my local Active Directory’s role?

Para que o Analysis Services determine se um usuário que se conecta a ele pertence a uma função com permissões para leitura de dados, o servidor precisa converter o nome de usuário efetivo passado do ADD para o gateway e, em seguida, para o servidor do Analysis Services.For Analysis Services to determine if a user connecting to it belongs to a role with permissions to read data, the server needs to convert the effective username passed from AAD to the gateway, and onto the Analysis Services server. O servidor do Analysis Services passa o nome de usuário efetivo para um DC (controlador de domínio) do Active Directory do Windows.The Analysis Services server passes the effective username to a Windows Active Directory domain controller (DC). Em seguida, o DC Active Directory valida o nome de usuário efetivo como um UPN válido, em uma conta local, e retorna esse nome de usuário do Windows do usuário de volta ao servidor do Analysis Services.The Active Directory DC then validates the effective username is a valid UPN, on a local account, and returns that user’s Windows username back to the Analysis Services server.

EffectiveUserName não pode ser usado em um servidor do Analysis Services que não foi ingressado em domínio.EffectiveUserName cannot be used on a non-domain joined Analysis Services server. O servidor do Analysis Services deve ser ingressado em um domínio para evitar erros de logon.The Analysis Services server must be joined to a domain to avoid any login errors.

Como saber qual é a minha UPN?How do I tell what my UPN is?

Talvez você não saiba o que é o UPN e talvez você não seja um administrador de domínio.You may not know what your UPN is, and you may not be a domain administrator. Você pode usar o comando a seguir em sua estação de trabalho para descobrir o UPN para sua conta.You can use the following command from your workstation to find out the UPN for your account.

whoami /upn

O resultado será semelhante a um endereço de email, mas esse é o UPN que está em sua conta de domínio local.The result will look similar to an email address, but this is the UPN that is on your local domain account. Se você estiver usando uma fonte de dados do Analysis Services para conexões dinâmicas, ela deverá corresponder ao que foi passado para EffectiveUserName por meio do gateway.If you are using an Analysis Services data source for live connections, this must match what was passed to EffectiveUserName from the gateway.

Mapeando nomes de usuário para fontes de dados do Analysis ServicesMapping usernames for Analysis Services data sources

O Power BI possibilita o mapeamento de nomes de usuário para fontes de dados do Analysis Services.Power BI allows for mapping usernames for Analysis Services data sources. É possível configurar regras para mapear um nome de usuário conectado com o Power BI para um nome passado para EffectiveUserName na conexão do Analysis Services.You can configure rules to map a username logged in with Power BI to a name that is passed for EffectiveUserName on the Analysis Services connection. O recurso Mapear nomes de usuário é uma ótima maneira de solucionar problemas quando seu nome de usuário no AAD não corresponde a um UPN no Active Directory local.The map user names feature is a great way to work around when your username in AAD doesn't match a UPN in your local Active Directory. Por exemplo, se seu endereço de email fosse nancy@contoso.onmicrsoft.com, você poderia mapeá-lo para nancy@contoso.com e esse valor seria passado para o gateway.For example, if your email address is nancy@contoso.onmicrsoft.com, you could map it to nancy@contoso.com, and that value would be passed to the gateway. Saiba mais sobre como mapear nomes de usuário.You can learn more about how to map user names.

Sincronizar um Active Directory local com o Azure Active DirectorySynchronize an on-premises Active Directory with Azure Active Directory

Você desejará que suas contas do Active Directory local correspondam ao Azure Active Directory se você for usar conexões dinâmicas do Analysis Services,You would want your local Active Directory accounts to match Azure Active Directory if you are going to be using Analysis Services live connections. já que o UPN deve ser correspondente entre as contas.As the UPN has to match between the accounts.

Os serviços de nuvem conhecem apenas as contas no Azure Active Directory.The cloud services only know about accounts within Azure Active Directory. Não importa se você adicionou uma conta no Active Directory local, se ela não existir no AAD, não poderá ser usada.It doesn’t matter if you added an account in your local Active Directory, if it doesn’t exist in AAD, it cannot be used. Há diferentes maneiras pelas quais você poderá corresponder suas contas do Active Directory local ao Azure Active Directory.There are different ways that you can match your local Active Directory accounts with Azure Active Directory.

  1. É possível adicionar contas manualmente ao Azure Active Directory.You can add accounts manually to Azure Active Directory.

    É possível criar uma conta no portal do Azure ou no Centro de administração do Microsoft 365 e o nome da conta corresponde ao UPN da conta do Active Directory local.You can create an account on the Azure portal, or within the Microsoft 365 admin center, and the account name matches the UPN of the local Active Directory account.

  2. Você pode usar a ferramenta Azure AD Connect para sincronizar contas locais ao seu locatário do Azure Active Directory.You can use the Azure AD Connect tool to synchronize local accounts to your Azure Active Directory tenant.

    A ferramenta Azure AD Connect fornece opções para sincronização de diretório e a configuração de autenticação, incluindo a sincronização de hash de senha, autenticação de pass-through e federação.The Azure AD Connect tool provides options for directory synchronization and setting up authentication, including password hash sync, pass-through authentication, and federation. Se você não for um administrador de locatários nem um administrador de domínio local, precisará entrar em contato com seu administrador de TI para obter essa configuração.If you are not a tenant admin or a local domain administrator, you will need to contact your IT admin to get this configured.

O uso do Azure AD Connect garante que o UPN corresponderá entre o AAD e o Active Directory local.Using Azure AD Connect ensures that the UPN will match between AAD and your local Active Directory.

Observação

A sincronização de contas com a ferramenta Azure AD Connect criará novas contas em seu locatário do AAD.Synchronizing accounts with the Azure AD Connect tool will create new accounts within your AAD tenant.

Agora, é aqui que entra o gatewayNow, this is where the gateway comes in

O gateway atua como uma ponte entre a nuvem e o servidor local.The gateway acts as a bridge between the cloud and your on-premises server. A transferência de dados entre a nuvem e o gateway é protegida pelo Barramento de Serviço do Azure.Data transfer between the cloud and the gateway is secured through Azure Service Bus. O Barramento de Serviço cria um canal seguro entre a nuvem e o servidor local por meio de uma conexão de saída no gateway.The Service Bus creates a secure channel between the cloud and your on-premises server through an outbound connection on the gateway. Não é necessário abrir nenhuma conexão de entrada no firewall local.There are no inbound connections that you need to open on your on-premises firewall. O Power BI gerencia o Barramento de Serviço para você; portanto, não há custos adicionais nem a necessidade de etapas de configuração.Power BI manages the Service Bus for you, so there are no additional costs or configuration steps required.

Se você tiver uma fonte de dados do Analysis Services, você precisará instalar o gateway em um computador associado ao mesmo domínio/floresta que o servidor do Analysis Services.If you have an Analysis Services data source, you’ll need to install the gateway on a computer joined to the same forest/domain as your Analysis Services server.

Quanto mais próximo o gateway está do servidor, mais rápida será a conexão.The closer the gateway is to the server, the faster the connection will be. Se você pode obter o gateway no mesmo servidor que a fonte de dados, isso é melhor para evitar a latência da rede entre o gateway e o servidor.If you can get the gateway on the same server as the data source, that is best to avoid network latency between the gateway and the server.

O que fazer em seguida?What to do next?

Depois que o gateway for instalado, você desejará criar fontes de dados para ele.After you get the gateway installed, you will want to create data sources for that gateway. Você pode adicionar fontes de dados na tela Gerenciar gateways.You can add data sources within the Manage gateways screen. Para obter mais informações, consulte os artigos sobre gerenciar fontes de dados.For more information, see the manage data sources articles.

Gerenciar sua fonte de dados – Analysis ServicesManage your data source - Analysis Services
Gerenciar sua fonte de dados – SAP HANAManage your data source - SAP HANA
Gerenciar sua fonte de dados – SQL ServerManage your data source - SQL Server
Gerenciar sua fonte de dados – OracleManage your data source - Oracle
Gerenciar sua fonte de dados – Importar/Atualização agendadaManage your data source - Import/Scheduled refresh

O que pode dar erradoWhere things can go wrong

Às vezes, a instalação do gateway falha.Sometimes installing the gateway fails. Ou talvez o gateway pareça ser instalado sem problemas, mas o serviço ainda não poderá trabalhar com ele.Or, maybe the gateway seems to install ok, but the service is still unable to work with it. Em muitos casos, é algo simples, como a senha para as credenciais que o gateway usa para entrar na fonte de dados.In many cases, it’s something simple, like the password for the credentials the gateway uses to sign into the data source.

Em outros casos, pode haver problemas com o tipo de endereço de email com que os usuários se autenticam, ou com ou incapacidade do Analysis Services de resolver um nome de usuário efetivo.In other cases, there might be issues with the type of e-mail address users sign in with, or Analysis Services’ inability to resolve an effective username. Caso você tenha vários domínios com relações de confiança entre eles, e o gateway estiver em um domínio e o Analysis Services em outro, às vezes, isso poderá causar alguns problemas.If you have multiple domains with trusts between them, and your gateway is in one and Analysis Services in another, this sometimes can cause some problems.

Em vez de explorar a solução de problemas do gateway aqui, apresentamos uma série de etapas de solução de problemas em outro artigo: Solução de problemas do gateway de dados local.Rather than go into troubleshooting gateway issues here, we’ve put a series of troubleshooting steps into another article; Troubleshooting the On-premises data gateway. Esperamos que você não tenha nenhum problema.Hopefully, you won’t have any problems. Mas se acontecer, um entendimento de como tudo isso funciona e o artigo de solução de problemas devem ajudar.But if you do, understanding how all of this works and the troubleshooting article should help.

Sign in account

Users sign in with either a work or school account. This account is your organization account. If you signed up for an Office 365 offering and didn’t supply your actual work email, it may look like nancy@contoso.onmicrosoft.com. Your account is stored within a tenant in Azure Active Directory (AAD). In most cases, your AAD account’s UPN will match the email address.

Windows Service account

The On-premises data gateway is configured to use NT SERVICE\PBIEgwService for the Windows service logon credential. By default, it has the right of Log on as a service, in the context of the machine that you are installing the gateway on. The account is not the same account used to connect to on-premises data sources. The account is also not the work or school account that you sign in to cloud services with.

Observação

If you selected personal mode, you configure the Windows service account separately.

If you encounter authentication issues with your proxy server, try changing the Windows service account to a domain user or managed service account. For more information, see proxy configuration.

Ports

The gateway creates an outbound connection to Azure Service Bus. It communicates on outbound ports: TCP 443 (default), 5671, 5672, 9350 through 9354. The gateway does not require inbound ports.

It is recommended that you add the IP addresses to an allow list, for your data region, in your firewall. You can download the Microsoft Azure Datacenter IP list, which is updated weekly. Alternatively you can obtain the list of required ports by performing the Network port test on the on-premises data gateway application. The gateway will communicate with Azure Service Bus using the IP address along with the fully qualified domain name (FQDN). If you are forcing the gateway to communicate using HTTPS it will strictly use FQDN only, and no communication will happen using IP addresses.

Observação

The IP Addresses listed in the Azure Datacenter IP list are in CIDR notation. For example, 10.0.0.0/24 does not mean 10.0.0.0 through 10.0.0.24. Learn more about the CIDR notation.

Here is a listing of the fully qualified domain names used by the gateway.

Domain names Outbound ports Description
*.download.microsoft.com 80 Used to download the installer. This is also used by the data gateway app to check for version and gateway region.
*.powerbi.com 443 Used for identifying the relevant Power BI cluster.
*.analysis.windows.net 443 Used for identifying the relevant Power BI cluster.
*.login.windows.net 443 Used for authenticating the data gateway app with Azure Active Directory / OAuth2.
*.servicebus.windows.net 5671-5672 Used for Advanced Message Queuing Protocol (AMQP).
*.servicebus.windows.net 443, 9350-9354 Used by listeners on Service Bus Relay over TCP (requires 443 for access control token acquisition).
*.frontend.clouddatahub.net 443 Deprecated - no longer required. Will be removed from documentation in the future.
*.core.windows.net 443 Used by dataflows in Power BI to write data to Azure Data Lake.
login.microsoftonline.com 443 Used for authenticating the data gateway app with Azure Active Directory / OAuth2.
*.msftncsi.com 443 Used to test internet connectivity and whether the gateway is unreachable by the Power BI service.
*.microsoftonline-p.com 443 Used for authenticating the data gateway app with Azure Active Directory / OAuth2.

Observação

Once the gateway is installed and registered, the only required ports/IPs are the ones needed by the Azure service bus (servicebus.windows.net above). You can obtain the list of required ports by performing the Network port test on the on-premises data gateway application.

Forcing HTTPS communication with Azure Service Bus

You can force the gateway to communicate with Azure Service Bus using HTTPS instead of direct TCP.

Observação

Starting with the June 2019 release, new installs (not updates) default to HTTPS instead of TCP, based on recommendations from Azure Service Bus.

To force communication over HTTPS, modify the Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config file by changing the value from AutoDetect to Https, as shown in the code snippet directly following this paragraph. That file is located (by default) at C:\Program Files\On-premises data gateway.

<setting name="ServiceBusSystemConnectivityModeString" serializeAs="String">
    <value>Https</value>
</setting>

The value for the ServiceBusSystemConnectivityModeString parameter is case-sensitive. Valid values are AutoDetect and Https.

Alternatively, you can force the gateway to adopt this behavior using the gateway user interface. In the gateway user interface select Network, then toggle the Azure Service Bus connectivity mode to On.

Once changed, when you select Apply (a button that only appears when you make a change), the gateway Windows service restarts automatically, so the change can take effect.

For future reference, you can restart the gateway Windows service from the user interface dialog by selecting Service Settings then select Restart Now.

Support for TLS 1.2

By default, the On-premises data gateway uses Transport Layer Security (TLS) 1.2 to communicate with the Power BI service. To ensure all gateway traffic uses TLS 1.2, you might have to add or modify the following registry keys on the machine running the gateway service:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]"SchUseStrongCrypto"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]"SchUseStrongCrypto"=dword:00000001

Observação

Adding or modifying these registry keys applies the change to all .NET applications. For information about registry changes that affect TLS for other applications, see Transport Layer Security (TLS) registry settings.

How to restart the gateway

The gateway runs as a windows service. You can start and stop it like any windows service. Here is how you can do it from the command prompt.

  1. On the machine where the gateway is running, launch an admin command prompt.

  2. Use the following command to stop the service.

    net stop PBIEgwService

  3. Use the following command to start the service.

    net start PBIEgwService

Próximas etapasNext steps

Solução de problemas do gateway de dados localTroubleshooting the On-premises data gateway
Barramento de serviço do AzureAzure Service Bus
Azure AD ConnectAzure AD Connect

Mais perguntas?More questions? Experimente a Comunidade do Power BITry the Power BI Community