ATUALIZAÇÃO:Q2'17 :Drivers JDBC e ODBC incluídos e tratamento de JSON nativo pendente podem tornar as conexões mais rápidas e simples do que a abordagem mostrada abaixo. Y você também pode usar a edição Hadoop do IRI Voracity para mascarar dados diretamente no HDFS. Os dados exportados da maneira abaixo para um arquivo simples em HDFS podem ser mascarados no nível de campo do módulo FieldShield Voracity da mesma maneira mostrada abaixo via MapReduce2, Spark, Spark Stream, Storm ou Tez sem codificação adicional.
ATUALIZAÇÃO:3º trimestre de 2019 :agora disponíveis no IRI DarkShield, há conectores nativos prontos para uso para Cassandra e MongoDB que não exigem etapas de exportação/máscara/importação e podem lidar com dados de coleta semi e não estruturados. Assim como o FieldShield, o DarkShield também está disponível (incluído) nas assinaturas da plataforma Voracity. Veja este artigo de instruções para localizar e mascarar PII flutuante em bancos de dados NoSQL do Cassandra. Se você estiver interessado em preencher o Cassandra com dados de teste sintéticos, consulte este artigo.
O DataStax / Cassandra não pode mascarar colunas específicas para impedir que usuários não autorizados vejam informações de identificação pessoal (PII). Neste artigo, mostraremos como exportar dados de um banco de dados Cassandra para um arquivo CSV e usar o produto IRI FieldShield (também disponível na plataforma IRI Voracity) para randomizar, mascarar e criptografar os dados nesse arquivo CSV. Em seguida, importaremos esses dados de volta para o Cassandra, atualizados e protegidos. Outro artigo está planejado para o lançamento da conexão mais direta do IRI com o banco de dados.
Em nosso exemplo, temos uma tabela com informações do aluno no DataStax. As colunas são:id_num (a chave primária), honors, semestre_hours, socsecnum (número do seguro social) e user_id.
Para desidentificar cada aluno, randomizaremos o semestre_horas, mascararemos o socsecnum e criptografaremos o valor user_id para que as PII de cada aluno sejam protegidas.
Dados desprotegidos no Cassandra
Para nossos exemplos de linha de comando, estamos usando o shell DataStax Cassandra CQL.
Exportando uma tabela do Cassandra para um arquivo CSV
Para exportar uma tabela do Cassandra para um arquivo CSV, execute o seguinte comando no shell do Cassandra CQL:
COPY <Exporting Table> TO '<File Path to the CSV you exporting to>' WITH HEADER=TRUE;
Abrindo e definindo a origem do CSV
- Na barra de ferramentas superior da GUI do IRI Workbench para FieldShield (construída no Eclipse), encontre o ícone do FieldShield e selecione "Novo trabalho de proteção" para executar o assistente. Nomeie seu arquivo de trabalho como "CassShieldJob.fcl" e clique em "Avançar".
- Clique em "Adicionar fonte de dados" e depois em "Procurar" até o arquivo CSV que você criou com a exportação. Em seguida, clique em "OK".
- Clique em "Descobrir metadados", nomeie o (arquivo de definição de dados reutilizável) "StudentsMeta.ddf" e clique em "Avançar". Clique em "Sim" para detectar automaticamente e em "Obter nomes de campos da linha de cabeçalho" antes de clicar em "OK" e depois em "Concluir".
- Agora você deve ver seus campos na lista de fontes de dados. Clique em "Avançar".
Aplicando as proteções
- Clique em "Adicionar destino de dados" e navegue para criar um novo destino de arquivo CSV para manter a versão protegida dos dados (ou para substituir a origem, use o mesmo caminho/arquivo. Em seguida, clique em "Campo de destino" Layout', para revisar o layout e aplicar as proteções aos campos de saída. Há duas caixas de listagem:a parte superior mostra os campos de origem e a inferior mostra os campos de destino aos quais você aplicará o campo "escudos".
- Aleatorizar semester_horas: selecione o nome do campo semestre_horas no painel de destino e clique em "Proteção de campo". Selecione Geração de Valor Aleatório e, para tipo, selecione Dígito. Defina os tamanhos mínimo e máximo aleatórios como 2 e clique em OK.
- Mascarar socsecnum:Selecione o campo socsecnum e clique em 'Proteção de campo' novamente. Selecione Masking e escolha a opção padrão de SSN dos EUA para expor apenas os últimos quatro dígitos dos SSNs. Clique em "OK".
- Criptografar user_id:selecione o user_id e clique em "Proteção de campo" novamente. Selecione Criptografia e descriptografia e escolha enc_fp_aes256_alphanum para criptografia com preservação de formato. Digite uma senha (a chave de descriptografia) e, na caixa Excluir, digite "User_" para evitar que a parte User_ do nosso nome de usuário seja criptografada. Em seguida, clique em "Concluir".
- Os campos a serem protegidos devem aparecer da seguinte forma:
Clique em "OK" e depois em "Concluir" para ver o script real (trabalho executável) criado para você:
Execute o trabalho no IRI Workbench ou na linha de comando,
fieldshield /spec=CassShieldJob.fcl
O arquivo CSV que você criou conterá os novos dados mascarados e criptografados.
Importando os dados protegidos para o Cassandra
Para importar os dados alterados de volta para o Cassandra, use o seguinte comando no shell do Cassandra CQL:
COPY <Table you are importing data to> (field1fromCSV, field2fromCSV, ...) FROM '<Path to CSV>';
Dados protegidos no Cassandra
Para obter detalhes sobre os recursos do FieldShield, consulte http://www.iri.com/products/fieldshield/technical-details.