Database
 sql >> Base de données >  >> RDS >> Database

Comment masquer Cassandra avec IRI FieldShield

MISE À JOUR :T2 2017  :les pilotes JDBC et ODBC inclus et la gestion JSON native en attente peuvent rendre les connexions plus rapides et plus transparentes que l'approche illustrée ci-dessous. Oui ous pouvez également utiliser l'édition Hadoop d'IRI Voracity pour masquer directement les données dans HDFS. Les données exportées de la manière ci-dessous vers un fichier plat dans HDFS peuvent être masquées au niveau du champ à partir du module FieldShield Voracity de la même manière indiquée ci-dessous via MapReduce2, Spark, Spark Stream, Storm ou Tez sans codage supplémentaire.

MISE À JOUR :Q3 2019  :Désormais disponibles dans IRI DarkShield, des connecteurs natifs prêts à l'emploi pour Cassandra et MongoDB ne nécessitent pas d'étapes d'exportation/masquage/importation et peuvent gérer des données de collecte semi-structurées et non structurées. Comme FieldShield, DarkShield est également disponible (inclus) dans les abonnements à la plateforme Voracity. Voir cet article pratique pour trouver et masquer les PII flottant dans les bases de données Cassandra NoSQL. Si vous souhaitez remplir Cassandra avec des données de test synthétiques, consultez cet article.

DataStax / Cassandra ne peut pas masquer des colonnes spécifiques pour empêcher les utilisateurs non autorisés de voir des informations personnelles identifiables (PII). Dans cet article, nous allons montrer comment exporter des données d'une base de données Cassandra vers un fichier CSV, et utiliser le produit IRI FieldShield (également disponible sur la plate-forme IRI Voracity) pour randomiser, masquer et chiffrer les données dans ce fichier CSV. Ensuite, nous réimporterons ces données dans Cassandra, mises à jour et protégées. Un autre article est prévu lors de la publication de la connexion plus directe d'IRI à la base de données.

Dans notre exemple, nous avons un tableau contenant des informations sur les étudiants dans DataStax. Les colonnes sont :id_num (la clé primaire), honors, semester_hours, socsecnum (numéro de sécurité sociale) et user_id.

Pour anonymiser chaque étudiant, nous allons randomiser ses semester_hours, masquer son socsecnum et chiffrer la valeur user_id afin que les PII de chaque étudiant soient protégés.

Données non protégées dans Cassandra

Pour nos exemples de ligne de commande, nous utilisons le shell DataStax Cassandra CQL.

Exportation d'un tableau Cassandra vers un fichier CSV

Pour exporter une table Cassandra vers un fichier CSV, exécutez la commande suivante à partir du shell Cassandra CQL :

COPY <Exporting Table> TO '<File Path to the CSV you exporting to>' WITH HEADER=TRUE;

Ouvrir et définir la source CSV

  1. Dans la barre d'outils supérieure de l'interface graphique IRI Workbench pour FieldShield (basée sur Eclipse), recherchez l'icône FieldShield et sélectionnez "Nouvelle tâche de protection" pour exécuter l'assistant. Nommez votre fichier de tâche "CassShieldJob.fcl" et cliquez sur "Suivant".
  2. Cliquez sur "Ajouter une source de données", puis sur "Parcourir" jusqu'au fichier CSV que vous avez créé avec votre exportation. Cliquez ensuite sur "OK".
  3. Cliquez sur "Découvrir les métadonnées" et nommez le (fichier de définition de données réutilisable) "StudentsMeta.ddf" et cliquez sur "Suivant". Cliquez sur "Oui" pour la détection automatique et "Obtenir les noms des champs à partir de la ligne d'en-tête" avant de cliquer sur "OK", puis sur "Terminer".
  4. Vous devriez maintenant voir vos champs dans la liste des sources de données. Cliquez sur "Suivant".

Appliquer les protections

  1. Cliquez sur "Ajouter une cible de données" et naviguez pour créer une nouvelle cible de fichier CSV pour contenir la version protégée des données (ou pour écraser la source, utilisez le même chemin/fichier. Ensuite, cliquez sur "Champ cible Mise en page", pour revoir la mise en page et appliquer les protections aux champs de sortie. Il y a deux zones de liste : la partie supérieure affiche les champs source et la partie inférieure indique les champs cibles auxquels vous appliquerez le champ "boucliers".
  2. Randomize semester_hours : sélectionnez le nom du champ semester_hours dans le volet cible et cliquez sur "Field Protection". Sélectionnez Génération de valeur aléatoire, et pour le type, sélectionnez Chiffre. Définissez les tailles minimale et maximale aléatoires sur 2 et cliquez sur OK.
  3. Mask socsecnum :sélectionnez le champ socsecnum et cliquez à nouveau sur "Field Protection". Sélectionnez Masquage et choisissez l'option par défaut USA SSN pour n'exposer que les quatre derniers chiffres des SSN. Cliquez sur "OK".
  4. Crypter user_id : sélectionnez user_id et cliquez à nouveau sur "Field Protection". Sélectionnez Chiffrement et déchiffrement et choisissez enc_fp_aes256_alphanum pour le chiffrement préservant le format. Saisissez une phrase de passe (la clé de déchiffrement) et dans la zone Exclure, tapez "Utilisateur_" pour empêcher le chiffrement de la partie Utilisateur_ de notre nom d'utilisateur, puis cliquez sur "Terminer".
  5. Les champs à protéger doivent apparaître comme suit :

Cliquez sur "OK", puis sur "Terminer" pour voir le script réel (tâche exécutable) créé pour vous :

Exécutez le travail dans l'IRI Workbench ou sur la ligne de commande,

fieldshield /spec=CassShieldJob.fcl

Le fichier CSV que vous avez créé contiendra les nouvelles données masquées et chiffrées.

Importer les données protégées dans Cassandra

Pour réimporter les données modifiées dans Cassandra, utilisez la commande suivante dans le shell Cassandra CQL :

COPY <Table you are importing data to> (field1fromCSV, field2fromCSV, ...) FROM '<Path to CSV>';

Données protégées dans Cassandra

Pour plus de détails sur les capacités de FieldShield, voir http://www.iri.com/products/fieldshield/technical-details.