(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa
SSRS

Configuração e segurança do Power BI Report Server

Equipa bConcepts 26/07/2023 10 min

Uma das ferramentas de visualização de dados mais populares entre os clientes é o Power BI. Como é recente e a Microsoft melhora as funcionalidades dia após dia, surgem problemas que um programador pode nunca ter encontrado antes.

Enquanto programador, tive a oportunidade de trabalhar de forma dedicada desde a instalação do report server, configurando-o, aplicando o brand package e gerindo a segurança dos relatórios.

Este documento descreve os passos de configuração e de implementação de segurança do Power BI Report Server, na esperança de ajudar quem faça uma implementação semelhante.

O que é o Power BI Report Server?

O Power BI Report Server é um servidor de relatórios on-premises com um portal web onde se visualizam e gerem relatórios e KPIs. Acompanham-no as ferramentas para criar relatórios Power BI, relatórios paginados, relatórios móveis e KPIs. É uma extensão do SSRS, com aspeto semelhante, mas com funcionalidade adicional para alojar relatórios PBIX.

bConcepts - Configuração e segurança do Power BI Report ServerCrie, publique e faça a gestão de relatórios Power BI, móveis e paginados on-premises, com o conjunto de ferramentas e serviços prontos a usar que o Power BI Report Server disponibiliza.

Componentes e requisitos

Power BI Report Server

A instalação é simples e a documentação da Microsoft é suficientemente clara para a concluir com sucesso. Pode seguir o link abaixo:

docs.microsoft.com/power-bi/report-server/install-report-server

Usámos a seguinte configuração de sistema:

RAM: 32 GB

Windows Server: 2016 Datacenter

Tipo de sistema: Sistema operativo de 64 bits, processador x64

Base de dados: SQL Server 2016 SP2 Enterprise Edition

Cliente ORACLE

Os relatórios em que trabalhámos baseiam-se em ORACLE. Depois de publicados no report server, usam as definições da máquina do servidor para correr. Por isso, é necessário instalar o cliente ORACLE no próprio servidor.

Base de dados SQL Server

Tal como o SSRS, o Power BI Report Server também usa duas bases de dados SQL Server para guardar os metadados dos objetos do report server. Por isso, é preciso ter uma instância SQL Server Enterprise instalada localmente ou remotamente.

Desafios e mitigações

  • O utilizador tem de pertencer ao grupo de administradores locais.
  • O ficheiro TNSNAMES.ORA deve estar bem configurado, com o alias TNS para a ligação à base de dados.
  • O caminho do ficheiro TNSNAMES.ORA deve ser definido na variável de ambiente TNS_ADMIN. Consulte a pasta bin do Oracle (ficheiro ORACLE.KEY) para saber onde adicionar a variável.
  • O caminho do bin do Oracle deve ser definido com privilégios de administrador.
  • Tem de ser a Enterprise Edition do SQL Server. A Developer Edition ou RDS não servem.
  • Usámos o SQL Server 2016 SP2 Enterprise Edition.

Configurar o Report Server

Após instalar o Power BI Report Server, é preciso configurar o serviço a partir do Report Server Configuration Manager. Os passos são simples e estão na documentação da Microsoft:

docs.microsoft.com/power-bi/report-server/install-report-server

Usámos os detalhes abaixo, que funcionaram com sucesso.

  • Service Account: as credenciais da minha conta de domínio.

Web Service URL

  • Virtual Directory: <um nome que descreva o propósito>
  • IP Address: All Assigned
  • TCP Port: 80
  • O URL é gerado automaticamente.

Base de dados

Em Change Database, aponte o report server para a instância SQL Server Enterprise Edition. Veja o link:

Criar a base de dados do report server (docs Microsoft)

Web Portal URL

  • Virtual Directory: <um nome a usar no URL>
  • O URL é gerado automaticamente.

Nota: o resto não é necessário para a configuração básica.

Desafios e mitigações

  • Problemas de rede:

Se obtiver um erro relacionado com a rede:

  1. Verifique se as propriedades da ligação têm "Obter endereço do servidor DNS automaticamente" ativado (Painel de Controlo >> Rede e Internet >> Ligações de Rede >> clique direito na ligação >> Propriedades >> TCP IPv4 >> Propriedades).
  2. Verifique se o TCP/IP está ativado na máquina.
  3. Verifique se a porta TCP está aberta.
  4. Verifique se a base de dados de metadados do SQL Server está no mesmo domínio e se a firewall não está a bloquear nada.
  • Problemas de permissões da base de dados:

Se obtiver um erro relacionado com a base de dados:

  1. O SQL Server deve ser a Enterprise Edition. Instância RDS ou Developer Edition não funcionam.
  2. As credenciais usadas para configurar a base de dados devem ter os papéis SYSADMIN e Public no SQL Server.
  3. Tanto a instalação local como a instância remota funcionam.

Ligar à base de dados do Report Server

Pode ligar-se à instância da base de dados do report server a partir do SQL Server Management Studio para verificar se o utilizador tem os papéis necessários ou se as bases de dados foram criadas.

Desafios e mitigações

  • Se tiver problemas a iniciar sessão, confirme primeiro com o administrador se tem as credenciais corretas.
  • O nome do servidor será <hostname>,<porta>.
    Ex.: 150.9.8.15, 1166
  • Se houver problemas a iniciar sessão a partir da máquina do servidor, tente a partir de outra máquina no mesmo domínio.

Ligar ao Reporting Service

Depois de configurar o report server com sucesso, deve conseguir iniciar sessão no reporting service a partir do SQL Server Management Studio. Serve para verificar os papéis por omissão, criar/editar papéis e gerir o agendamento.

Se o servidor estiver bem configurado, verá o serviço "PowerBIReportServer" a correr na máquina onde está instalado.

No SQL Server Management Studio, vá ao object explorer e selecione "Reporting Services". Deve ver a instância na lista. Introduza as credenciais e inicie sessão.

Desafios e mitigações

  • Se não houver instância na lista, registe o serviço no SSMS: View >> Registered Servers >> Reporting Services >> Local Server Groups >> clique direito >> New Server Registration, coloque o "Web Service URL" e teste.

Iniciar o portal web

  1. Abra o navegador. Consulte os navegadores e versões suportados.
  2. Na barra de endereço, escreva o URL do portal web.
  3. Por omissão, o URL é https://[NomeDoServidor]/reports.
  4. O report server pode estar configurado numa porta específica, por exemplo https://[NomeDoServidor]:80/reports ou https://[NomeDoServidor]:8080/reports.

No portal web pode realizar as seguintes tarefas:

  • Ver, pesquisar, imprimir e subscrever relatórios.
  • Criar e manter a hierarquia de pastas para organizar os itens no servidor.
  • Configurar segurança baseada em papéis (acesso a itens e operações).
  • Configurar propriedades de execução, histórico e parâmetros dos relatórios.
  • Criar agendamentos e fontes de dados partilhados.
  • Criar subscrições orientadas por dados para distribuir relatórios a muitos destinatários.
  • Criar relatórios ligados (linked reports) para reutilizar um relatório existente.
  • Descarregar ferramentas como o Report Builder e o Mobile Report Publisher.
  • Criar KPIs.
  • Enviar feedback ou pedidos de funcionalidades.

Publicar um relatório no Report Server

Depois de configurar o report server com sucesso, deve conseguir aceder-lhe pelo URL do portal web. Pode usar o mesmo URL para guardar os relatórios no report server.

bConcepts - Configuração e segurança do Power BI Report ServerDesafios e mitigações

  • Confirme se o URL está correto.
  • Confirme se iniciou sessão no servidor com as mesmas credenciais.
  • Pode surgir um "Unexpected Error Encountered" ao guardar os relatórios. Use a funcionalidade de Upload do próprio portal web.

Gerir a segurança no servidor

Há casos em que terá de definir segurança nas pastas, objetos e relatórios do servidor, com base nos utilizadores ou grupos do domínio. Use a funcionalidade Manage do portal web para atribuir papéis aos utilizadores.

Existem essencialmente três camadas de segurança no Power BI Report Server:

  • O próprio portal pode ser protegido. Deve limitar o acesso aos relatórios apenas a utilizadores ou grupos específicos.
  • As pastas dão segurança mais granular sobre um conjunto de ativos. Na imagem acima criei uma pasta "PBI Secure Reports", à qual um grupo AD específico tem acesso. Se o utilizador não tiver permissões, a pasta não aparece no portal e não acede ao seu conteúdo.
  • Os relatórios individuais também podem ser protegidos. Não recomendo esta opção, por ser difícil de gerir, mas a capacidade existe se for mesmo necessário proteger um único ativo.

Mapear papéis SSRS para funções Power BI

O portal, as pastas e os ficheiros são protegidos com papéis SSRS. Resumo de alto nível dos papéis e do efeito nos relatórios Power BI:

bConcepts - Configuração e segurança do Power BI Report Server

  • Browser – função de leitura (semelhante a entregar o relatório como Power BI App no serviço). Para quem precisa de aceder ao relatório, mas não cria conteúdo.
  • Content Manager – para um criador de conteúdo com privilégios de administração; gere conteúdo e acessos.
  • Publisher – para criadores que não precisam de gerir utilizadores. A maioria enquadra-se aqui.
  • Report Builder – não se aplica a relatórios Power BI (desenvolvidos no Power BI Desktop).

Desafios e mitigações

  • O utilizador tem de ter acesso ao report server.
  • Para gerir a segurança no portal web, o utilizador tem de pertencer ao grupo de administradores locais.
  • O utilizador a quem se aplica a segurança não pode pertencer ao grupo de administradores locais — esses têm, por omissão, acesso a todas as pastas/objetos independentemente da segurança.

Evite publicar na página inicial do portal

Recomendo não publicar relatórios diretamente no portal principal; crie antes pastas por departamento ou grupo. Os relatórios publicados na página inicial devem ser geridos como ativos empresariais, controlando com pastas e grupos de segurança quem pode publicar a esse nível.

Branding do portal web

Pode alterar a aparência do portal web aplicando o branding da sua empresa, através de um brand package. Está desenhado para não exigir conhecimento profundo de CSS.

Criar o brand package

Um brand package para o Reporting Services tem três itens, empacotados num ficheiro zip:

  • color.json
  • metadata.xml
  • logo.png (opcional)

Aplicar o brand package ao portal web

Para adicionar, descarregar ou remover um brand package:

  1. Selecione o ícone de engrenagem no canto superior direito.
  2. Selecione Site Settings.bConcepts - Configuração e segurança do Power BI Report Server
  3. Selecione Branding.bConcepts - Configuração e segurança do Power BI Report Server

Currently installed brand package mostra o nome do pacote carregado, ou "none".

Upload brand package aplica o pacote ao portal web, com efeito imediato. Também pode Download ou Remove; remover repõe o portal no branding por omissão.

Veja o link da documentação Microsoft:

Branding the web portal (docs Microsoft)

Por exemplo:

Antes de aplicar o brand package — pacote por omissão do Power BI Report Server:

bConcepts - Configuração e segurança do Power BI Report ServerDepois de aplicar o brand package — pacote de marca XBOX:

bConcepts - Configuração e segurança do Power BI Report Server

bConcepts - Configuração e segurança do Power BI Report Server

Conclusão

Um agradecimento especial ao Nityanand e ao Rudra pela orientação e apoio na implementação do Power BI Report Server, e ao Nitin pela ajuda neste tema.

← Voltar aos insights
Vamos conversar?

Pronto para transformar os seus dados?

Marque uma reunião gratuita de 30 minutos e descubra como podemos ajudar a sua equipa a tomar melhores decisões.

Agendar Reunião Gratuita
bConcepts