Dynamic Data Masking

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

Outras opções IRI DDM incluem: chamada funções FieldShield de API incorporadas em programas C / C ++ / C #, Java ou .NET; tempo funções FieldShield em real embutidas em procedimentos SQL que criam visualizações mascaradas; e desmascaramento dinâmico de tabelas mascaradas estaticamente 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 de configuração e gerenciamento da web chamado SQL Sharp (SQL #). Este diagrama mostra a arquitetura do sistema antes e depois da implementação:

Este aplicativo atualmente oferece suporte às seguintes plataformas de banco de dados relacionais:

  • Oracle 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 da web moderno, como:
    • Google Chrome
    • Mozilla Firefox
    • Apple Safari
    • Microsoft borda
  • Oracle ou PostgreSQL como o banco de dados do repositório para armazenar:
    • SQL # usuário e configuração de grupo
    • Acesso ao banco de dados e controles de atividade
    • Políticas de mascaramento de dados dinâmicos
    • Logs 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 do DDM definem quais tabelas e colunas devem ser mascaradas e como os valores mascarados aparecerão. Uma vez que o sistema esteja devidamente configurado, 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 certas atividades SQL. Um log de login completo e de auditoria de atividade SQL é 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 nomeados especificamente – fazendo conexões de servidor de aplicativos alternativas com o banco de dados por meio do mesmo driver – para ver os dados desmascarados.

Criação de uma política de mascaramento

Para criar uma política de mascaramento em SQL #, use a Masking Policy guia da SQL # Execute Management tela . Selecione o + ícone (Adicionar) à direita do 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 na Adicionar regra de máscara caixa de diálogo .

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

Após cada combinação de tabela e colunas ter sido feita, clique no Adicionar botão no meio da caixa de diálogo para colocá-los na lista. Quando terminar de especificar os locais da tabela e da coluna, clique no Adicionar botão na parte inferior para adicionar os locais à Adicionar regra de mascaramento caixa de diálogo .

Finalmente, clique em Salvar na parte inferior da Adicionar regra de mascaramento caixa de diálogo quando terminar com a regra de mascaramento. Nesse ponto, todos os usuários configurados para acessar os dados verão os valores mascarados ao se conectar por meio do driver proxy JDBC SQL Trail.

Para permitir que um usuário visualize dados sem máscara, você deve adicioná-los à sem máscara Lista de usuários , conforme descrito abaixo.

Concessão de autorização a usuários

Na mesma Política de máscara guia da SQL # Execute Management tela . Clique no + ícone (Adicionar) à direita do Lista de usuários sem máscara rótulo . Isso exibirá a Pesquisar usuário, caixa de 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 terminar de selecionar os usuários.

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

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

Para habilitar seus aplicativos para controle 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 visã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 sem máscara:

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

do endereço IP do IRI Workbench.