Database
 sql >> Base de Dados >  >> RDS >> Database

Mascaramento de dados dinâmicos baseados em proxy no FieldShield


Este artigo descreve um método de mascaramento dinâmico de dados (DDM) disponível para sites premium do IRI FieldShield que usa um sistema baseado em proxy para interceptar consultas de aplicativos em bancos de dados conectados a JDBC. É uma das várias abordagens para mascarar dados em voo que os usuários do FieldShield podem considerar.

Outras opções do IRI DDM incluem:Funções FieldShield que podem ser chamadas por API incorporadas em programas C/C++/C#, Java ou .NET; funções FieldShield em tempo real incorporadas em procedimentos SQL que criam visualizações mascaradas; e desmascaramento dinâmico de tabelas com máscara estática para usuários autorizados.

O sistema baseado em proxy apresentado aqui usa um driver “JDBC SQL Trail” específico para o banco de dados em conjunto com um aplicativo da Web de configuração e gerenciamento chamado SQL Sharp (SQL#). Este diagrama mostra a arquitetura do sistema antes e depois da implementação:



Este aplicativo atualmente suporta as seguintes plataformas de banco de dados relacional:
  • Oráculo 11g, 12c, 18/19c
  • PostgreSQL 9.5, 9.6, 10, 11
  • MS SQL 2014, 2016
  • SAP HANA 2.0

e requer os seguintes componentes de terceiros:
  • MS Windows 7,10 ou Server 2012 e posterior (testado).
  • Java JDK e JRE 1.8 ou posterior.
  • Tomcat 8.5 ou superior para executar o servidor Web SQL#.
  • Um navegador moderno, como:
    • Google Chrome
    • Mozilla Firefox
    • Apple Safari
    • Microsoft Edge
  • Oracle ou PostgreSQL como banco de dados do repositório para armazenar:
    • Configuração de usuário e grupo SQL#
    • Acesso ao banco de dados e controles de atividade
    • Políticas de mascaramento de dados dinâmicos
    • Registros de auditoria SQL
Como funciona?

No aplicativo da Web SQL#, você cria políticas de mascaramento de dados para redigir valores de coluna em andamento para todos, exceto os usuários autorizados, que se conectam ao banco de dados por meio do driver JDBC SQL Trail. Você precisa instalar e configurar esse driver para cada instância de banco de dados que deseja proteger.

As políticas DDM definem quais tabelas e colunas devem ser mascaradas e como os valores mascarados serão exibidos. Uma vez que o sistema esteja configurado corretamente, todas as consultas conectadas através do driver estarão sujeitas à política de mascaramento.

Também é possível definir políticas para bloquear o login de usuários e determinadas atividades SQL. Um log de auditoria de atividades de login e SQL completo é produzido e pode ser visualizado em SQL#.

O driver não diferencia os usuários do aplicativo para fins de bloqueio, mascaramento ou auditoria. No entanto, você pode autorizar usuários especificamente nomeados — fazendo conexões alternativas do servidor de aplicativos com o banco de dados por meio do mesmo driver — para ver os dados desmascarados.
Criando uma política de mascaramento

Para criar uma política de mascaramento no SQL#, use a Política de mascaramento guia do SQL# Execute Management tela. Selecione o + ícone (Adicionar) à direita da Lista de regras de mascaramento rótulo.



Dê um nome à regra de mascaramento e uma descrição opcional. Você pode então escolher o tipo de máscara que será aplicada no Masing Regex: menu suspenso em Adicionar regra de mascaramento diálogo.



As três primeiras opções são predefinidas, enquanto o Regex permite definir um formato de mascaramento personalizado. Clique no + (Adicionar) ícone à direita do TAB/COL label para adicionar uma ou mais combinações de tabela e coluna, para especificar quais valores de dados serão mascarados.

Depois que cada combinação de tabela e colunas for feita, clique no botão Adicionar botão no meio da caixa de diálogo para colocá-los na lista. Quando terminar de especificar os locais das tabelas e colunas, clique no botão Adicionar botão na parte inferior para adicionar os locais à Adicionar regra de mascaramento diálogo.



Por fim, clique em Salvar na parte inferior da seção Adicionar regra de mascaramento diálogo quando terminar com a regra de mascaramento. Neste ponto, todos os usuários configurados para acesso aos dados verão valores mascarados ao se conectarem por meio do driver proxy JDBC SQL Trail.

Para permitir que um usuário visualize dados não mascarados, você deve adicioná-los à Lista de usuários não mascarados , como descrito abaixo.
Conceder autorização aos usuários

Dentro da mesma Política de mascaramento guia do SQL# Execute Management tela. Clique no + ícone (Adicionar) à direita da Lista de usuários sem máscara rótulo. Isso exibirá o Pesquisar usuário diálogo onde você pode selecionar um ou mais usuários para os quais as consultas nas colunas e tabelas selecionadas não serão mascaradas.

Clique em Salvar  na parte inferior da caixa de diálogo quando você terminar de selecionar os usuários.


Usando SQL# e trilha SQL de aplicativos de banco de dados

Neste exemplo, nosso aplicativo de banco de dados será o IRI Workbench, o ambiente de design de trabalho front-end Eclipse para Voracity, FieldShield e outros produtos de software IRI.

Para habilitar seus aplicativos para controle de SQL e mascaramento de dados dinâmicos usando o servidor proxy SQL# e o driver JDBC SQL Trail, você precisará ativar o SQL# por meio do Tomcat e seu servidor proxy. Você também deve configurar o driver JDBC SQL Trail na visualização IRI Workbench Data Source Explorer, bem como as políticas DDM no SQL#, conforme descrito acima.

Aqui está uma visualização da instância Oracle conectada por meio do driver JDBC SQL Trail.



Observe que todas as operações normais de banco de dados e assistentes de trabalho IRI continuarão a funcionar por meio dessa conexão. Isso também significa que qualquer atividade não autorizada do IRI Workbench será bloqueada e todos os comandos SQL emitidos daqui para o banco de dados conectado serão registrados no log de auditoria SQL#.

Esta é uma consulta do Workbench na tabela ORDERS que foi configurada por política para DDM no SQL#:





vs. a mesma consulta executada por um usuário autorizado, que exibe os dados originais desmascarados:





Enquanto isso, na seção de log do aplicativo SQL#, você pode ver nosso registro de consulta:



do endereço IP do IRI Workbench.