Você está na página 1de 30

SAGE

SISTEMA ABERTO DE GERENCIAMENTO DE ENERGIA

Complemento de Anexo de Configuração

ServCGI_OpcUA - Servidor de Autenticação WEB/OPCUA


Open Platform Communications Unified Architecture
SAGE_ManCfg_Anx21.1_Serv_CGI_OpcUA

Outubro de 2021
Quadro de Revisão

Nº Data Descrição Versão


00 01/06/2020 Versão do serv_CGI_OpcUA => 1.09 Versão do SAGE => 28-7
01 09/07/2020 Versão do serv_CGI_OpcUA => 1.12 Versão do SAGE => 28-8
02 23/08/2020 Versão do serv_CGI_OpcUA => 1.14 Versão do SAGE => 28-8
03 20/07/2021 Versão do serv_CGI_OpcUA => 4.00 Versão do SAGE => 28-12
04 23/07/2021 Descrição da configuração do Grafana com Single-Sign-On SAGE 28-12
05 28/10/2021 Inclusão do grafana.db.sage-inicial na instalação 28-14

Preparado por:

21.941-911 • Av. Horácio de Macedo, 354 • Rio de Janeiro - RJ


Tel.: (021) 2598-6000 • Fax: (021) 2260-1340

A informação contida neste documento é de propriedade do CEPEL, tendo se originado de trabalho desenvolvido nesta empresa para consulta e
referência dos usuários do sistema SAGE, e não poderá ser reproduzida ou utilizada para quaisquer outros fins sem autorização prévia e
expressa do CEPEL. Este documento baseia-se em informação disponível na data de sua publicação. Embora sejam feitos esforços para
torná-lo preciso, este não se propõe a cobrir todos os detalhes ou particularidades apresentadas pelo sistema. O CEPEL não se responsabiliza
por notificar os usuários deste documento de possíveis alterações feitas posteriormente.
ii
Conteúdo
21 - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA ............................. 1
21.1 AUTENTICAÇÃO DE APLICAÇÕES WEB INTEGRADAS AO SAGE ................................................... 1
21.2 INSTALAÇÃO DO SERVIDOR DE AUTENTICAÇÃO WEB/OPCUA ................................................... 5
21.3 INSTALAÇÃO DO CERTIFICADO PESSOAL NO BROWSER .............................................................. 7
21.3.1 Browser Firefox ............................................................................................................. 7
21.3.2 Browser Chrome ......................................................................................................... 13
21.3.3 Browser Edge .............................................................................................................. 18
21.4 PÁGINAS WEB DE SERVIÇOS, CONFIGURAÇÕES E TESTES....................................................... 20
21.5 INSTALAÇÃO DO GRAFANA E SINGLE-SIGN-ON COM O SAGE ................................................... 22
21.6 ADICIONANDO AO SISTEMA UMA NOVA APLICAÇÃO WEB .......................................................... 24
21.7 CONFIGURANDO A EXECUÇÃO DE POSTS E RESTS AUTORIZADOS .......................................... 25

i
CONTEÚDO

ii
Capítulo

21
21 - 1 Servidor de Autenticação WEB
ServCGI_OpcUA
21.1 Autenticação de Aplicações WEB Integradas ao
SAGE
A Figura 21- 1 mostra o Servidor FastCGI_OpcUA, integrado aos outros elementos componentes
do SAGE OPCUA (em vermelho), exercendo a sua função básica de autenticar o acesso de
aplicações WEB executadas a partir de Browsers, tais como Chrome, Firefox ou Edge (em verde),
que estarão sendo servidas por Aplicações Externas ou Internas ao SAGE (em cinza), através de um
Servidor WEB Nginx (em laranja).

Figura 21- 1 - Servidor FastCGI_OpcUA

1
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

Um dos produtos finais da atuação do Servidor FastCGI_OpcUA é o fornecimento de tokens JWT


(JSON Web Token), na forma de Cookies, aos Browsers que estarão interagindo com o SAGE via
HTTPS através de páginas WEB sendo executadas nesses Browsers e servidas pelos Servidores de
Aplicações, ambos residentes internamente no SAGE ou em qualquer localidade da “Nuvem”
(Internet).
A sequência de ações e resultados é a seguinte:
■ o usuário do Browser em que foi importado um Certificado Digital Pessoal, cadastrado pelo
administrador de usuários e certificados (Adm_Certificados em vermelho na Figura 21- 1) e
associado a um usuário do SAGE, efetua um acesso ao Portal do SAGE em https://endereço-IP-
portal-sage

■ o Servidor WEB Nginx e o Servidor FastCGI OpcUA do SAGE autenticam o usuário no acesso Legado
do SAGE ou junto ao Servidor PAM/AD corporativo da empresa, fornecendo ao Browser um token
JWT com a identificação do usuáriom o tipo de acesso feito (Legado ou PAM/AD), que é gravado
como Cookie no Browser e associado ao site do SAGE

■ a partir daí, todos os acessos feitos por páginas do Browser endereçadas a https://endereço-IP-
portal-sage/aplicação-sage serão tratados pelo servidor da Aplicação SAGE, ativo em qualquer
máquina do SAGE ou qualquer máquina externa ao SAGE que possua acesso OPCUA ao SAGE

■ no primeiro acesso, o servidor da Aplicação SAGE deverá estabelecer uma sessão OPCUA com o
servidor SageOpcUA, sessão esta associada ao usuário registrado no token JWT, usando o token
na modalidade IssuedWS-Security Token, ou como password na modalidade UserNameIdentity
Token

■ nos acessos subsequentes, o servidor da Aplicação SAGE deverá verificar em cada acesso do
Browser a autenticidade e prazo de validade do token, usando o Método OPCUA “Valida WEB
Token de Autenticação”.

■ Caso o usuário em um período de 1 minuto faça nenhum acesso com o Browser, o servidor da
Aplicação SAGE deverá fechar a sessão OPCUA porque, como o Portal SAGE mantém sempre
válido o Token, a falta de atualização dele justifica o encerramento da sessão OPCUA.

Todos os recursos de segurança para fornecimento dos JWT e acesso WEB dos Browsers são
baseados em chaves privadas e certificados digitias pessoais, comuns aos 3 servidores do SAGE
identificados na figura (Nginx, SageOpcUA e FastCGI_OpcUA), e que são gerenciados pelo
Adm_Certificados - Administrador de Usuários e Certificados do SAGE.O formato do JWT já
descriptografado e decodificado é mostrado na Figura 21-2 a seguir com os seguintes significados
para os campos do “Payload”.

name: Nome do usuário SAGE no acesso Legado ou no acesso PAM/AD


iat: Data-hora do fornecimento do token
exp: Data-hora da expiração do token
tipo: “L” se autenticação no acesso Legado ou “P” no acesso PAM/AD

2
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

Figura 21- 2 – Token JWT de Autenticaão WEB

O JWT fornecido ao Browser, e utilizado pelos Servidores de Aplicações para autenticarem os


seus usuários no SAGE OPCUA, é regulado conforme o item 7.36.1 mostrado na Figura 21-3,
extraída do documento OPC UA Part 4 - Services Specification, e que faz parte da IEC 62541.

Figura 21- 3 - UserIdentifyToken parameterTypelds

A Figura 21- 4 mostra o aplicativo Desktop SageOpcUaBrowser simulando a execução de um


método pelo Servidor de Aplicação WEB que estará acessando o SAGE. O método demonstrado no
SageOpcUaBrowser faz a verificação da validade de um token JWT obtido pelo Browser quando o
usuário efetuou a sua autenticação no Portal do SAGE.

E na Figura 21-5, é mostrada a obtenção de um novo JWT válido por mais 10 minutos (600
segundos) para uma eventual necessidade do Servidor de Aplicação WEB ter que se reconectar ao
servidor SageOpcUA.

3
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

Figura 21- 4 - Aplicativo SageOpcUaBrowser Verificando um JWT

Figura 21- 5- Aplicativo SageOpcUaBrowser Obtendo um JWT Válido por 10 minutos

4
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

21.2 Instalação do Servidor de Autenticação WEB/OPCUA


A instalação do Servidor FastCGI_OpcUA é feita no diretório $SAGE/drivers através do comando
super-usuário “instala_serv_cgi_OpcUA”. Antes de ativar esse procedimento, as pré-condições de
execução mostradas na Figura 21- 6 devem ser observadas, e se necessário, as chaves e
certificados requeridos deverão ser criados com o Adm_Certificados.

Figura 21- 6 - Pré-condições de execução

A Figura 21-7 mostra esse procedimento de instalação.

Figura 21- 7 - Opções de instalação

Após ativar esse procedimento de instalação, o usuário é perguntado sobre as opções de


instalação e faz as suas escolhas. As opções de instalação são:
5
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

■ Definição de servidor e conta de e-mail (Relay) a ser usado para envio aos usuários dos e-
mails de recuperação de senha;

■ Atualização dos arquivos HTML utilizados pelo servidor;

■ Atualização de scripts de testes;

■ Atualização dos scripts de exemplo do Painel WEB;

■ Atualização dos arquivos de configuração do Nginx

■ Renicialização do Servidor Nginx e do Servidor FastCGI_OpcUA

Após a instalação e ativação do servidor, o usuário poderá customizar algumas das páginas HTLM
deste serviço de autenticação residentes no diretório /var/sage/serv_cgi, que possuem uma cópia
original com a extensão “.original”. São elas:
■ indice_geral.html, onde o usuário pode incluir e retirar chamadas para as aplicações WEB que o portal
disponibilizará;

■ sage_index.png, contendo a foto de abertura do portal, que pode ser customizada com o programa
Power-Point da Micrsoft editando o arquivo sage_index.pptx;

■ serv_cgi_OpcUA.html, que permite configirar qual página, diferente do indice_geral.html, será


chamada ao se clicar no botão “Indice Geral”.

6
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

21.3 Instalação do Certificado Pessoal no Browser


Para fazer o acesso WEB seguro ao site SAGE, a partir de um Browser Firefox, Chrome ou Edge,
o usuário deverá importar no seu Browser o certificado pessoal PFX gerado pelo Adm_Certificados,
enviado à ele por e-mail pelo administrador do SAGE.
Sem esse certificado, não será possível acesso ao sistema e a página exibida pelo Browser
conterá a mensagem: "Error 400 - Bad request - No required SSL certificate was sent" conforme
mostra a Figura 21- 8.

Figura 21- 8 - Erro por falta de certificado

O usuário deverá importar o certificado pessoal no(s) seu(s) Browser(s) conforme descrito a seguir
nos itens 21.3.1 a 21.3.3 para os Browsers Firefox, Chrome e Edge, respectivamente.

21.3.1 Browser Firefox

Para instalar o certificado de usuário no Firefox, deve-se clicar no botão do topo direito deste
Browser e escolher a alternativa “Opções” conforme as setas em vermelho da Figura 21- 9.

Figura 21- 9 - Instalar certificado - Opções

7
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

Será apresentada a página de “Opções”, onde deverá ser escolhida a opção “Privacidade e
Segurança” conforme mostra a Figura 21- 10.

Figura 21- 10 - Instalar certificado – Opções – Privacidade e Segurança

Usando a barra de rolagem para ir até o final da lista, deve-se escolher a opção "Ver certificados"
conforme mostra a Figura 21- 11.

Figura 21- 11 - Instalar certificado – Ver certificados

Como mostra a Figura 21- 12, será apresentada uma a página com várias abas, onde a aba “Seus
certificados” deve ser selecionada seguindo-se do click no botão “Importar”.
Após o click será exibido o pop-up “Importar Arquivo de Certificado”, onde o usuário deverá
navegar até o diretório onde reside o arquivo certificado de extensão PFX recebido do administrador.
8
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

Nesse passo é preciso ter atenção com a seleção mostrada no canto inferior direito deste pop-up,
para que esteja habilitada a exibição de arquivos com a extensão *.pfx, o que possibilitará a
localização do arquivo com o certificado para a escolha através de uma das duas setas roxas, “Abrir”
(click) ou a que aponta para o arquivo do certificado (duplo-click).
Quando o certificado for selecionado será exibido um segundo pop-up “Requer senha”, cujo
campo de texto deverá ser ignorado, sem a digitação de texto no mesmo, e fazendo apenas a
confirmação final no botão “OK”.

Figura 21- 12 - Instalar certificado – Importar

O Firefox confirmará a importação com sucesso do certificado conforme mostrado na Figura 21-
13.

Figura 21- 13 - Instalar certificado – Importar - Confirmação

9
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

Após a importação do certificado do usuário, o acesso ao site poderá ser feito e, unicamente no
primeiro acesso, poderá ser exibida a página apresentada na Figura 21- 14 sinalizando que o acesso
é considerado inseguro, caso o certificado utilizado pelos módulos servidores do site do SAGE,
servidor da comunicação com o Browser cliente, seja o certificado “auto assinado” gerado pelo
próprio SAGE, ou seja, não tenha sido emitido por uma entidade certificadora oficial.
Se o certificado utilizado pelos servidores do SAGE foi obtido de uma entidade certificadora
pública oficial (por exemplo CertSign, GoDaddy, etc..) esta página não será exibida. Portanto, o
administrador do site deverá decidir se usará o certificado auto-assinado gerado pelo SAGE, ou
contratará uma entidade certificadora oficial para fornecer esse certificado.

Figura 21- 14 - Primeiro Acesso - Alerta

Caso esta página da Figura 21- 14 seja exibida, ignorar o aviso e prosseguir com o acesso, o que
implicará no auto cadastramento do site no Browser como "exceção de segurança", fazendo com que
a página não seja mais exibida ao acessar o site. Para isso, deve-se clicar nos botões “Avançado” e
“Aceitar o Risco e Continuar”.
A partir desse ponto, sempre que o Browser for iniciado e for feito o primeiro acesso ao site, será
apresentada a página de Login do site mostrada na Figura 21- 15, com um pop-up exibindo as
informações de certificado do usuário. Nessa página de Login o usuário informará a sua identificação
e a sua senha no Acesso Legado do SAGE ou no Servidor AD Corporativo da empresa, de acordo
com a classificação do usuário que está acessando o site.
Tendo sido autenticado no sistema, o usuário é informado do tipo de autenticação que foi
completada (acesso Legado ou acesso PAM/AD) e poderá clicar no botão “Menu Inicial” mostrado na
Figura 21- 16, que listará então as aplicações WEB disponíveis para serem acessadas no sistema,
como por exemplo as aplicações da lista que é mostrada na Figura 21- 17.
10
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

Figura 21- 15 - Página de Login – Pop-up – Informações de certificado do usuário

Figura 21- 16 - Menu Iniciar

11
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

Figura 21- 17 - Aplicações Web

Para exploração da Base de Dados Histórica do SAGE, o usuário poderá utilizar os Dashboards
do Grafana de acordo com as suas autorizações associadas pelo Single-Sign-On do Portal do SAGE,
conforme assinalado na Figura 21- 18 , e descrito no item 21.4.

Figura 21- 18 - Dashboards do Grafana


12
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

21.3.2 Browser Chrome

Para instalar o certificado de usuário no Chrome, deve-se clicar no botão do topo direito deste
Browser e escolher a alternativa “Configurações” conforme as setas em vermelho da Figura 21-
19.

Figura 21- 19 - Instalar certificado - Configurações

Será apresentada a página de “Configurações”, onde deverá ser escolhida a opção “Privacidade e
Segurança” conforme mostra a Figura 21- 20.

Figura 21- 20 - Instalar certificado – Configurações – Privacidade e Segurança

13
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

Será apresentada a página de “Privacidade e Segurança”, onde deverá ser escolhida a opção
“Segurança” conforme mostra a Figura 21- 21.

Figura 21- 21 - Instalar certificado –Segurança

Será então apresentada a página de “Segurança”, onde deverá ser usada a barra de rolagem
deslocando-se até o final da página onde deverá ser selecionada a opção “Gerenciar Certificados”,
conforme mostra a Figura 21- 22.

Figura 21- 22 - Instalar certificado – Gerenciar Certificados

14
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

Será apresentada uma janela pop-up onde deve ser feito um click no botão “Importar” que exibirá
uma segunda janela pop-up para o “Assistente para Importação de Certificados”. Iniciar esse
assistente clicando-se em “Avançar”, conforme mostra a Figura 21- 23.

Figura 21- 23 - Instalar certificado – Assistente para Importação de Certificados

No pop-up do assistente será exibida a janela onde o usuário deverá clicar no botão “Procurar”
para localizar e selecionar o arquivo do seu certificado, conforme mostrado na Figura 21- 24. Nesse
passo é preciso ter atenção com a seleção mostrada no canto inferior direito do pop-up, para que
esteja habilitada a exibição de arquivos de “Troca de Informações Pessoais” com a extensão *.pfx, o
que possibilitará a localização do arquivo com o certificado para a escolha através de uma das duas
setas roxas, “Abrir” (click) ou a que aponta para o arquivo do certificado (duplo-click).

Figura 21- 24 - Instalar certificado – Assistente para Importação de Certificados - Procurar


15
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

Com o arquivo escolhido exibido na caixa de texto do pop-up desse assistente, clicar no botão
“Avançar” conforme mostrado na Figura 21- 25.

Figura 21- 25 - Instalar certificado – Assistente para Importação de Certificados - Avançar

Será apresentada no pop-up uma opção para “Proteção de Chave Privada”, cujo campo de texto
deverá ser ignorado, sem a digitação de texto no mesmo, clicando novamente em “Avançar”,
conforme mostrado na Figura 21- 26.

Figura 21- 26 - Instalar certificado – Assistente para Importação de Certificados – Senha em branco
16
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

Confirmar que o certificado fará parte da aba “Pessoal” e clicar em “Avançar”, conforme mostrado
na Figura 21- 27.

Figura 21- 27 - Instalar certificado – Assistente para Importação de Certificados - Avançar

Concluir a importação clicando no botão “Concluir” e verificando que a importação foi concluída
com êxito, conforme mostrado na Figura 21- 28.

Figura 21- 28 - Instalar certificado – Assistente para Importação de Certificados - Concluir

17
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

Após a importação do certificado do usuário, o acesso ao site poderá ser feito e, unicamente no
primeiro acesso, poderá ser exibida uma página do Chrome equivalente à página apresentada na
Figura 21- 14 para o Firefox.
Se o certificado utilizado pelos servidores do SAGE foi obtido de uma entidade certificadora
pública oficial (por exemplo CertSign, GoDaddy, etc..) a página equivalente à apresentada na Figura
21- 14 não será exibida. Portanto, o administrador do site deverá decidir se usará o certificado auto-
assinado gerado pelo SAGE, ou contratará uma entidade certificadora oficial para fornecer esse
certificado.
Caso a página equivalente à apresentada na Figura 21- 14 seja exibida, ignorar o aviso e
prosseguir com o acesso, o que implicará no auto cadastramento do site no Browser como "exceção
de segurança", fazendo com que a página não seja mais exibida ao acessar o site. Para isso, deve-se
clicar nos botões “Avançado” e “Ir para https://<site-do-sage>”.
A partir desse ponto, sempre que o Browser for iniciado e for feito o primeiro acesso ao site, será
apresentada a página de Login do site, conforme mostrado na Figura 21- 15, o que garante a ele
estar acessando um site onde ele foi cadastrado com segurança.
Nessa página de Login o usuário informará a sua identificação e a sua senha no Acesso Legado
do SAGE ou no Servidor AD Corporativo da empresa, de acordo com a classificação do usuário que
está acessando o site. Tendo sido autenticado no sistema, o usuário poderá clicar no botão “Menu
Inicial”, que listará então as aplicações WEB disponíveis para serem acessadas no sistema, como por
exemplo as aplicações da lista que é mostrada na Figura 21- 16.

21.3.3 Browser Edge

Para instalar o certificado de usuário no Edge, deve-se clicar no botão do topo direito deste
Browser e escolher a alternativa “Configurações” conforme as setas em vermelho da Figura 21- 19.

Figura 21- 29 - Instalar certificado – Configurações


18
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

Será apresentada a página de “Configurações”, onde deverá ser escolhida a opção “Privacidade,
Pesquisa e Serviços” conforme mostra a Figura 21- 30.

Figura 21- 30 - Instalar certificado – Privacidade, pesquisa e serviços

Será apresentada a página de “Privacidade”, onde deverá ser usada a barra de rolagem
deslocando-se até o ponto da página onde deverá ser selecionada a opção “Gerenciar Certificados”,
conforme mostra a Figura 21- 31.

Figura 21- 31 - Instalar certificado – Segurança – Gerenciar certificados

19
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

Será apresentado a mesma janela pop-up utilizada pelo Chrome e apresentada na Figura 21- 23
onde, assim como foi descrito no capítulo dedicado ao Chrome, deve ser feito um click no botão
“Importar” que exibirá uma segunda janela pop-up para o “Assistente para Importação de
Certificados.
Portanto, todos os procedimentos a seguir, a partir desse ponto, são os mesmos relatados para o
Chrome, a partir da Figura 21- 23 do capítulo anterior, até a conexão segura feita ao site.

21.4 Páginas WEB de Serviços, Configurações e Testes


Na Figura 21- 16, apresentada após a autenticação do usuário no sistema, o botão
“Configurações” exibirá a página mostrada na Figura 21- 32, contendo serviços de testes, consultas,
ajustes de configurações, incluindo troca senha, sendo que para a troca de senha o serviço
funcionará exclusivamente para o acesso Legado do SAGE.

Figura 21- 32 - Serviços

Na segunda seção desta página, o usuário poderá exibir seus Privilégios (acesso Legado), ou
Papéis (acesso PAM/AD), assim como escolher dentre as AORs (Legado) ou Papéis (PAM/AD) que
ele possui, com os quais ele deseja operar. As Figura 21- 33, Figura 21- 34 e Figura 21- 35
mostram um exemplo onde o usuário exibe os seus privilégios e escolhe as AORs com as quais
deseja operar.
20
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

Figura 21- 33 - Privilégios

Figura 21- 34 - Privilégios - Escolha

Figura 21- 35 - Privilégios – Escolha realizada

Nas demais seções, são apresentados exemplos de acionamento de POSTs e execução de


serviços REST de aplicações WEB integradas ao SAGE, sendo que o próprio SAGE efetuará a
verificação dos privilégios do usuário para executar ou bloquear a execução dos serviços, conforme

21
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

os privilégios necessários associados aos serviços, configurados pelo gerenciador Adm_Certificados.


O item 21.7 descreve a configuração e execução desses serviços.

21.5 Instalação do Grafana e Single-Sign-On com o SAGE


O Grafana é uma plataforma de interface gráfica WEB que pode ser integrada para exploração de
dados na base histórica Postgres Time Series do SAGE, como um dos Data Sources com acesso
disponível no Grafana.
Para que os usuários do SAGE possam fazer um acesso seguro à base histórica Postgres Time
Series do SAGE, atrvés dos Dashboards do Grafana, ele deve ser configurado para integrar o
esquema de Single-Sign-On do SAGE provido pelo Servidor FastCGI_OpcUA.
O Grafana para Linux pode ser obtido em https://grafana.com/grafana/download, e após a sua
instalação será criado o diretório /etc/grafana com a configuração default do Grafana residindo no
arquivo grafana.ini deste diretório, e o diretório /var/lib/grafana contendo o arquivo grafana.db sem
Dashboards.
Após a instalação do Servidor FastCGI_OpcUA descrita no item 21.2, ficam disponíveis no
diretório $SAGE/drivers os arquivos grafana.ini.sage, grafana.ini.sage_apenas_OAuth e
grafana.db.sage_inicial.
A sequência de ações para a integração do Grafana ao Single-Sign-On do SAGE é a seguinte:

■ Como super-usuário, salvar o arquivo /etc/grafana/grafana.ini em /etc/grafana/grafana.ini.original e


o arquivo /var/lib/grafana/grafana.db em /var/lib/grafana/grafana.db.original.

■ A partir do diretório $SAGE/drivers copiar os arquivos grafana.ini.sage para /etc/grafana/grafana.ini


e grafana.db.sage_inicial para /var/lib/grafana/grafana.db, sendo que o /etc/grafana/grafana.ini
deverá ser ajustado com os comandos chown root grafana.ini e chrgp grafana grafana.ini e o
/var/lib/grafana/grafana.db com os comandos chown grafana grafana.db e chgrp grafana
grafana.db.

■ Ativar o Grafana em seguida com os comandos systemctl daemon-reload e systemctl start


grafana-server.

■ No Browser, fazer o login no Portal do SAGE, ir para o “Indice Geral” e em seguida clicar no botão
“Grafana – Dashboards”, conforme mostrado nas Figuras 21-5 a 21-17, verificando com o mouse,
no canto inferior esquerdo da janela, o “avatar” que indicará a identificação do usuário logado em
Single_Sign-On no SAGE e no Grafana, conforme mostrado na Figura 21-18.

■ Fechar a aba do Grafana, clicar na tecla de função F12, exibir os “Cookies” gravados no Browser pelo
Portal do SAGE, e apagar em seguida todos os cookies.

22
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

■ Fechar a janela exibida pea tecla de função F12 e clicar novamente no “Grafana – Dashboards” para
fazer um login interno na conta de Administrador do Grafana, digitando como Username e Password
“sage_grafana_admin”.

■ Posicionar o mouse no “escudo” do “Server Admin”, e acessar a tela de gerência de usuários do


Grafana clicando em “Users” para alterar a senha do próprio usuário “sage_grafana_admin” e
atribuir ao seu usuário SAGE as “Permissions” e a “Role” de Administrador do Grafana, idênticas
as do “sage_grafana_admin”.

■ Novamente fechar a aba do Grafana, clicar na tecla de função F12, exibir os “Cookies” gravados no
Browser pelo Portal do SAGE, apagando em seguida todos os cookies. Fechar todas as abas,
exceto a de entrada no Portal, e efetuar o Logout do SAGE.

■ Fazer novo Login no SAGE e navegar novamente até a página do Grafana, para confirmar na tela de
gerência de usuários do Grafana que este usuário foi qualificado em vermelho como OAuth.

■ Retornar ao diretório $SAGE/drivers e copiar o arquivo grafana.ini.sage_apenas_OAuth para


/etc/grafana/grafana.ini, atribuindo para ele com os comandos chown e chrgp o usuário “root” e
o grupo “grafana”.

■ Finalmente, ainda apartir do diretório $SAGE/drivers, copiar novamente para o diretório /etc/grafana/
os arquivos grafana.ini.sage e grafana.ini.sage_apenas_OAuth, apenas para que eles sirvam
como referência da versão do SAGE utilizada para eles.

■ Desativar e reativar o Grafana com os comandos systemctl stop grafana-server e systemctl start
grafana-server.

A partir desta última reinicialização do Grafana, todos os acessos à ele somente poderão ser feitos
com autenticação prévia no Portal do SAGE, e qualquer tentativa de acesso direto, sem a passagem
por esse Portal, será negada pelo Grafana.
Todos os usuários que efetuarem Login com sucesso no Portal do SAGE, serão adicionados à
lista de usuários do Grafana qualificados na categoria de Login OAuth com privilégio limitado à
“Viewer”.

23
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

21.6 Adicionando ao Sistema uma Nova Aplicação WEB


No procediennto de instalação descrito no item 21.2 deste documento o usuário autoriza a
instalação de dois arquivos usados para referenciar as Aplicações WEB OPCUA do sistema.
O primeiro desses arquivos é o sageopcua_nginx.conf, instalado no diretório /etc/nginx/conf.d,
onde estão referenciadas as três aplicações que são acionadas a partir da página HTML exibida na
Figura 21-7.10, e que pode ser customizada no segundo arquivo, indice_geral.html, instalado no
diretório $/var/sage/serv_cgi:
■ SVG_Visbase – Telas do SAGE

■ Grafana – Dashboards

■ Visor de Alarmes WEB

Então, para adionar Aplicações WEB OPCUA ao sistema, o usuário deverá definir no arquivo
indice_geral.html a chamada da nova aplicação, e no arquivo sageopcua_nginx.conf o endereço
IP e porta TCP onde a aplicação reside (podendo ser “localhost”), além das locations da mesma que
serão roteadas pelo Servidor Nginx.
Uma location será usada para GET/REST + POST e, caso a aplicação use WebSockets, outra
para PUSH no WebSocket (ws), conforme mostrado no diagrama da Figura 21- 36 abaixo.

Figura 21- 36 - location

24
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

21.7 Configurando a Execução de POSTs e RESTs


Autorizados
Os exemplos de uso de interfaces REST e acionamento de POSTs mostrados na Figura 21- 32
são protegidos de execução por usuários não autorizados a partir da configuração feita no
Adm_Certificados, conforme mostrado na Figura 21- 37.

Figura 21- 37 - De acordo com a configuração de Adm_Certificados

O Servidor FastCGI_OpcUA oferece a garantia de que eles só serão executados se as seguintes


condições estiverem satisfeitas:
■ no momento do acionamento do POST, o usuário autenticado através do login no site do SAGE em
https://<servidor-sage> tenha a posse de um token JWT válido e não expirado fornecido pelo site;

■ o POST definido com a extensão “.opc” ou a interface REST cuja URL termine com “.rest” estejam
cadastrados no arquivo $BD/posts_opcua.cnf, gravado pelo Adm_Certificados, para executar o
script-shell ou programa homonimo, conforme exemplo da Figura 21-11, associado a um conjunto de
ações necessárias para executa-lo;

■ o usuário possua Privilégios/Papéis configurados no gerenciador Adm_Certificados que autorizem a


execução das ações configuradas para o POST ou a interface REST.

Para a execução do POST, não é necessário que o SAGE esteja sendo executado, ou seja,
nenhum processo ou Visor do SAGE precisa estar ativo, o que permite então que os POSTs e
25
21 - - 1 SERVIDOR DE AUTENTICAÇÃO WEB SERVCGI_OPCUA

serviços REST possam ser usados para realizar tarefas administrativas como Geração da Base de
Dados, Ativação e Desativação do SAGE, etc.
O Adm_Certificados grava a configuração no arquivo $BD/posts_opcua.cnf como no exemplo
mostrado na Figura 21- 38.

Figura 21- 38 - $BD/posts_opcua.cnf

Ao executar um POST ou interface REST com sucesso, o JWT é automaticamente revalidado e o


resultado da execução deve ser enviado pelo script ou aplicação do SAGE para o seu standard-
output, possibilitando que esse resultado seja recebido pelo executor do POST. O formato XML,
vídeo MP4, JASON, HTML, ASCII, binário, etc, do standard-output dependerá do contexto da página
HTML ou aplicação WEB que estiver executando o POST.
Se o SAGE estiver ativo, a execução do POST ou da interface REST, utiliará o ambiente da conta
ativa do SAGE (MigAchaPrincipal), ou, se o SAGE não estiver ativo, utiliará o ambiente da conta
usada no momento da instalação do servidor (normalmente a conta sagetr1).
Se o POST ou a interface REST tiverem parâmetros, esses parâmetros serão passados como
argumentos de ativação do script ou programa associado ao POST ou à interface REST.

26

Você também pode gostar