Pra que servem Gateways no Power BI? Eles servem pra atualizar seus relatórios no Power BI Service Online. Mas eu sempre preciso deles? Não. Vc só precisa de gateways para se conectar a dados on-premises. E o que são dados on-premises? São dados que não estão acessíveis diretamente, ou seja, qualquer coisa que esteja local na sua rede, ou algum numa cloud na internet que esteja atrás de um firewall, enfim, qualquer coisa que o power BI nao consiga acessar diretamente.
Gateways são utilizados é quando vc tem um banco de dados, uma fonte de dados, tipo um SQL Server na rede da sua empresa, e vc quer manter seu power bi online atualizado. Pra vc fazer isso vc vai precisar de um gateway. Então vc vai ter que instalar um gateway no seu computador, ou num servidor, de preferência num computador que não dê problema nem reinicie toda hora.
Existem dois tipos de gateways; “On-premises data gateway (standard mode)” e “On-premises data gateway (personal mode)”. As diferenças, são (conforme site da microsfot):

Para o exame DA-100, pelo que eu tenho visto, o mais importante é saber que, o gateway pessoal só trabalha com Power BI, enquanto o gateway enterprise trabalha com power bi e mais um monte de coisa e também suporta DirectQuery e Live Connection com Analysis Services. Esses são os pontos principais entre eles. Fora isso ambos aceitam o mesmo número de atualizações diárias, etc.
Outra diferença entre os gateways pessoal e enterprise é o seguinte;
- On-premises data gateway (vou chamar de enterprise); permite que múltiplos usuários acessem múltiplas fontes de dados on-premises.
- On-premises data gateway personal (vou chamar de pessoal); esse gateway não dá pra ser compartilhado com outros usuários, só o usuário que instalou que consegue usar e, conforme já falamos, só dá pra usar com power bi. Se vc é a única pessoa na sua empresa que cria relatórios em power bi e não precisa compartilhar sua fonte de dados com ninguém, essa aqui é uma boa escolha, mas eu não faria isso, pq vai que no futuro vc precisa compartilhar… melhor já ir com o enterprise.
Pra entender melhor como funciona e essas diferenças, continue lendo…
A imagem abaixo mostra como o gateway funciona, se liga:

O que essa imagem quer dizer é que o Gateway funciona como um porteiro entre a cloud da Microsoft (ou seja, o power bi service) e o seu ambiente local. O seu gateway não fornece para Microsoft o usuário e senha… não é o serviço da cloud que vem buscar os dados, na verdade o serviço da cloud diz pro gateway o que precisa, o gateway então pega essa informação e disponibiliza pra cloud. A arquitetura é essa:

Se você ler na imagem vai perceber que, de cima pra baixo, a cloud criptografa as credenciais, daí o “azure service bus” vai lá e faz a rota de lá pra cá e vice-versa dos dados, depois o nosso gateway descriptografa as credenciais e é ele que conecta na base de dados, é ele também que envia as queries e recebe o retorno e aí ele devolve o retorno das queries para a o bus service que devolve pra cloud.
Outra informação importante é saber que o Power BI só permite um gateway por dataset, ou seja, se vc tem sei lá quantas fontes de dados diferentes, todas elas vão precisar estar mapeadas no mesmo gateway. O que você pode fazer é configurar um gateway diferente pra cada dataset, mas aí vc vai precisar de vários computadores diferentes, porque cada computador só permite a instalação de 1 gateway enterprise e 1 gateway pessoal.
Ter vários gateways diferentes pode ser útil quando você tem um dashboard gigante que mostra dados e tiles (blocos) de diferentes reports diferentes, ou seja, cada report é um dataset, cada dataset é um gateway, então se vc tiver tudo em um gateway só pode ficar pesado, enquanto que se vc estiver com gateways diferentes por dataset a carga pode ser melhor balanceada.
Gerenciar Gateways
Para gerenciar seu gateway bastar ir na página do powerbi.com, ou seja, lá no Power BI Service Online. Você pode adicionar administradores no seu gateway, pode adicionar fontes de dados ao seu gateway e pode remover seu gateway.

Nessa tela você pode adicionar ou remover administradores. Administradores são pessoas que podem configurar outras fontes de dados no seu gateway e administrar as fontes de dados, incluindo ou removendo pessoas das fontes de dados do gateway.
Ponto relevante aqui é que, se vc estiver usando gateway pessoal não é possível adicionar outros administradores. Apenas a própria pessoa que instalou o gateway é que pode usar ele. Além disso, datasources que não foram criados por você não podem ser gerenciados pelo seu gateway pessoal.

No Power BI, cuidado ao remover um gateway. Quando vc faz isso todas as fontes de dados associadas àquele gateway também são removidas, logo nenhum report ou dashboard vai conseguir ser atualizado (até que vc configure outro gateway, claro).

Dentro do gateway vc pode/deve adicionar datasources, ou fontes de dados. Nesses datasources vc pode adicionar usuários. Esses usuários não precisam ser os usuários que consomem seus dashboards e relatórios. Aqui vc deve adicionar usuários que possam compartilhar/publicar seus datasources. Na imagem abaixo um exemplo de usuário top! Kkkk
Ah uma dica, vc precisa adicionar usuários pra cada datasource, então pra evitar ficar colocando as mesmas pessoas em cada datasource, crie um grupo e adicione o grupo em cada datasource.

Na prática
Eu tenho um power bi aqui de teste com algumas tabelas que eu carreguei (IMPORT), se eu quiser subir essas informações pro Power BI Service basta dar o publish, assim:


Isso vai fazer meu report ir lá pro PBI Service Online. Se liga:

Então taí, hoje dia 18/07, atualizei manualmente meu dataset do “gateway sql server”.
Beleza, agora, se eu tentar colocar atualização automática, eu preciso de um gateway, só que mesmo eu tendo o gateway instalada no meu pc eu preciso configurar ele no power bi pra funcionar.
Meu gateway tá em pé, olha:

Então blz, agora é só ir no pbi service e configurar o gateway pra essa minha fonte de dados.

Tá reclamando que meu gateway não está configurado corretamente, então eu clico ali na engrenagem. Ele vai abrir uma tela nova, eu vou criar um novo datasource e adicionar meu SQL SERVER ali.

Depois que instalei meu datasource, agora vou mapear esse data source no meu dataset, pra ele possa me permitir fazer as atualizações automáticas do meu dataset.

Com isso feito, já consigo agendar atualizações automáticas do meu dataset.

Uma coisa muito importante que deve ser considerado é que as informações utilizadas no datasource e no dataset devem ser iguais, ou seja, se quando vc importou suas informações no power bi desktop vc informou que sua fonte de dados é sql server do servidor “localhost/bi” então no datasource do gateway vc vai precisar informar exatamente o mesmo nome de servidor (servername e database).
Outra coisa, qualquer usuário que eu adicionar nesse datasource poderá utilizar esse datasource nos seus dataset, desde que os nomes de servername e database sejam os mesmos.

Importante também… se seu dataset usa várias e diferentes fontes de dados, todas as fontes (datasource) precisarão serem cadastradas no gateway. Ou seja, se eu uso import do SQL pro AdventureWorksDW e também pro AdventureWorks, então eu preciso de 2 datasource do tipo SQL, um pro AdventureWorksDW e outro pro AdventureWorks.
Nesse exemplo aqui eu adicionei uma segunda fonte de dados no meu report. Antes eu tinha um SQL Server IMPORT on-premises e agora eu adicionei um DirectQuery. Fiz isso e publiquei o report, de cara ele já dá erro, porque DirectQuery não guarda dados no pbi online, então preciso do gateway pra garantir a transferência dos dados.

Fui lá e segui os mesmos passos que já expliquei lá no começo de adicionar datasource, não mudou em nada por ser directQuery, continuei informando servername e database e nada demais.
Com isso, agora eu posso configurar os dois diferentes datasource ao meu dataset.

Prontinho, só fiz isso e atualizei o report (não atualizei o dataset, apenas o report!) e já tá funcionando:

Autenticação com SSO (single sign on)
Existe uma opção de SSO para seus datasources, isso significa que o gateway consegue pegar o usuário que está logado no Power BI Service consumindo seu report e autenticar ele no seu banco de dados e, dessa forma, exibir apenas os dados a que ele tem acesso.
Ou seja, se você tem o SSO implementado e habilitado, na hora que acontecer uma atualização de dados, seja um refresh de um datasource tipo Import, seja uma consulta DirectQuery ou LiveConnection, os dados serão exibidos apenas de acordo com o que o usuário tem permissão.

Veja abaixo mais detalhes sobre cada etapa:
- Para cada consulta, o serviço do Power BI inclui o nome UPN, que representa o nome de usuário totalmente qualificado do usuário que está conectado no serviço do Power BI no momento em que ele envia uma solicitação de consulta ao gateway configurado.
- O gateway deve mapear o UPN do Azure Active Directory para uma identidade local do Active Directory:
- Se o Azure AD DirSync (também conhecido como Azure AD Connect) for configurado, o mapeamento funcionará automaticamente no gateway.
- Caso contrário, o gateway pode pesquisar e mapear o UPN do Azure AD para um usuário local do AD executando uma pesquisa no domínio do Active Directory local.
- O processo do serviço do gateway representa o usuário local mapeado, abre a conexão com o banco de dados subjacente e, em seguida, envia a consulta. Não é necessário instalar o gateway no mesmo computador que o banco de dados.
Perguntas e Respostas sobre Gateway on-premises
Pergunta: Preciso de um gateway para fontes de dados na nuvem, como o Banco de Dados SQL do Azure?
Resposta: Não, os serviços geralmente podem se conectar a fontes de dados na nuvem sem um gateway. No entanto, você pode precisar de um gateway de dados se as suas fontes de dados estiverem protegidas por firewall, exigirem uma VPN ou estiverem em redes virtuais.
Pergunta: O gateway precisa estar instalado no mesmo computador em que está a fonte de dados?
Resposta: Não, o gateway se conecta à fonte de dados usando as informações de conexão fornecidas. Nesse sentido, considere o gateway um aplicativo de cliente. O gateway só precisa se conectar ao servidor especificado.
Pergunta: Onde minhas credenciais são armazenadas?
Resposta: As credenciais inseridas para uma fonte de dados são criptografadas e armazenadas no serviço de nuvem do gateway. As credenciais são descriptografadas no gateway local.
Pergunta: Existem planos para habilitar cenários de alta disponibilidade com o gateway?
Resposta: Para ajudar a evitar um ponto único de falha, você pode configurar gateways de dados locais como clusters para ter alta disponibilidade. Por padrão, serviços de nuvem como o Power Apps e o Power BI usam o gateway primário e voltarão para o gateway secundário se o primário não estiver disponível.
Pergunta: O administrador do gateway deve ser um administrador no computador em que o gateway está instalado?
Resposta: Não, o administrador do gateway gerencia o gateway no próprio serviço.
Pergunta: Posso carregar pastas de trabalho do Excel com modelos de dados do PowerPivot que se conectam a fontes de dados locais? Preciso ter um gateway para este cenário?
Resposta: Sim, você pode carregar a pasta de trabalho. Não, não é necessário ter um gateway. Mas, como os dados residem no modelo de dados do Excel, os relatórios do Power BI baseados na pasta de trabalho do Excel não serão dinâmicos. Para atualizar os relatórios no Power BI, você precisa carregar novamente uma pasta de trabalho atualizada. Se preferir, use o gateway com a atualização agendada.
Pergunta: Se os usuários compartilharem dashboards que têm uma conexão do DirectQuery, os outros usuários poderão ver os dados mesmo que não tenham as mesmas permissões?
Resposta: Para um dashboard conectado ao Azure Analysis Services, os usuários verão apenas os dados aos quais tiverem acesso. Se os usuários não tiverem as mesmas permissões, não poderão ver os dados. Para outras fontes de dados, todos os usuários compartilharão as credenciais inseridas pelo administrador para aquela fonte de dados.
Pergunta: Posso usar o gateway para me conectar a uma instância multidimensional (OLAP)?
Resposta: Sim. O gateway de dados local é compatível com conexões dinâmicas tanto para modelos de Tabela quanto para modelos Multidimensionais do Analysis Services.
Mais informações: https://docs.microsoft.com/en-us/power-bi/connect-data/service-gateway-onprem-indepth
Mais informações ainda: https://docs.microsoft.com/en-us/power-bi/connect-data/service-gateway-data-sources
Refresh dados do SQL Server com gateway on-premises https://docs.microsoft.com/en-us/power-bi/connect-data/service-gateway-sql-tutorial
Perguntas e respostas https://docs.microsoft.com/en-us/data-integration/gateway/service-gateway-onprem-faq
Mais perguntas e respostas https://docs.microsoft.com/en-us/power-bi/connect-data/service-gateway-power-bi-faq
Sobre SSO https://docs.microsoft.com/pt-br/power-bi/connect-data/service-gateway-sso-overview
Pedro,
Gostei muito do conteúdo mas estou com um problema que acredito ser de credenciamento. Instalei o gateway num servidor de um parceiro e, num primeiro momento, fleguei para não realizar conexão de teste. Rodou por um tempo e depois de umas três semanas parou de atualizar e deu erro nas credenciais. Percebi que não havia informado direito as credenciais ( nome do servidor\usuário e senha do Windows). Fiz o processo mas continuou dando erro de credenciais e a mensagem abaixo:
A conta de serviço do gateway de dados local não pôde representar o usuário.
Como faço para “resetar” as credenciais e começar do zero? Já dei restart no gateway e não funcionou.
Fico imensamente grato se puder ajudar.
Abraço.
LikeLike