06-03-2021 08:52 AM - editado 06-03-2021 08:58 AM
Quando se fala de governança de dados, um dos pontos mais tocados é questão de auditoria. Com a LGPD chegando, as empresas tem que se preparar para criar processos cada vez mais rígidos para ter controle de quem, quando e como os seus dados estão sendo utilizados. Muitas pessoas perguntam se é possível criar algo dentro do Alteryx Server. E este post tentará mostrar uma simples maneira de como fazer isso.
Antes de mais nada, o artigo é inspirado em uma ideia brilhante do Michael Barone, um colega ACE que criou todo processo em uma resposta a um tópico na comunidade. A ideia é simples, porém exige alguns truques.
Primeiramente, é necessário adicionar este processo para toda aplicação analítica que for executada na Galeria.
Step 1 – Adiciona uma ferramenta Block Until Done no ultimo passo do seu app antes do Output.
Essa ferramenta é importante para que o seu arquivo de auditoria comece a ser gerado apenas depois que todo seu fluxo seja executado (de maneira apropriada).
Step 2 – Crie o campo de data para registro do momento em que o resultado da aplicação é gerado.
Pode ser feito tanto com uma Formula Tool, ou uma ferramenta de DateTimeNow que gera esse campo. Basta então utilizar a Append Fields Tool, que anexa o campo ao seu dataset.
Step 3 – Use uma Text Box “fantasma”, que irá capturar o UserID do usuário final que está rodando o fluxo.
Este é o grande truque. Essa Text Box não fica visível para o usuário, ela serve apenas para capturar o ID desse usuário na Galeria que está rodando a aplicação. Basta deixar todas as configurações em branco, checar a caixinha de “Hide control (for API Development)” (isso é para evitar que essa interface apareça para o usuário) e colocar nas anotações da Text Box – “__cloud:UserId”.
Essa Text Box tem que estar ligado a uma Formula Tool, para criar o campo do UserID. No caso, pode conectá-la diretamente e fazer a referência como [#1], para que esse ID popule o campo automaticamente. Logo após, se cria o campo do caminho do arquivo que será gerado para auditoria. Você pode escolher uma pasta de rede, ou algum local do seu próprio Server para ter este controle. Adiciona-se ao nome da pasta os campos de Data e Hora, o User ID e o nome do workflow.
É bom perceber que precisamos efetuar dois Replaces – um para o campo DateTimeNow, para remover o caracter “:” que define a hora exata, pois esse caracter confunde o caminho do arquivo e também substituir “.yxwz” por “.yxdb”, já que vamos escrever o arquivo com formato de base Alteryx.
Por último, configura-se a Output Tool para gerar um arquivo com nomenclatura diferente para cada execução. Para isso, checa-se a opção de “Take File/Table Name from Field”, que altera o caminho completo da Output Tool a partir do campo previamente criado.
Pronto. Digamos que o Analytic App seja executado desta maneira, na Galeria.
O arquivo gerado a cada execução fica com esse aspecto:
Legal. E agora? Para você saber qual usuário executou a aplicação, você precisa consultar sua base MongoDB que tem os ID’s dos usuários juntamente com outras informações cadastrais. Portanto, é necessário fazer outro fluxo para realizar um Join entre seu arquivo de auditoria e a Collection de “Users”, no Mongo. Como o ID vem em formato JSON, é necessário colocar uma JSON Parse Tool antes disso.
A partir daí, as possibilidades de organizar o seu processo são inúmeras. É possível criar uma macro para alimentar vários arquivos de uma vez, ou até depositar essa informação em um banco de dados para consulta. Cabe a quem administra tomar a decisão que mais faz sentido.
Outra opção é utilizar um fluxo que a Alteryx fornece chamado “Alteryx Server Usage Report”. Nele, são capturadas informações da base MongoDB e fornecidos relatórios em PDF ou em Tableau, em um overview mais generalizado. Você pode fazer o download desse fluxo na página downloads.alteryx.com, na aba de complementos do Alteryx Server.
Você pode encontrar os exemplos deste artigo nestes links - Auditorias do Alteryx Server e Parsing User ID.
Até a próxima!