2017-10-09 23 views
0

私は、プロダクションセンシティブなデータをスクランブルし、それを別のdev DBに追加するツールを作りたいと思っています。ランダムな社会保障番号を作成し、生年月日を変更し、電子メールをスクランブルするためのスクリプトをいくつか作成しましたが、その列の参照がある間は問題が発生しました。機密データをスクランブリングして、プロダクションからサブセットのデータを移行する方法

For example:- if we scramble tables tableA and TableB, 

TableBのは

TableA 
    ssn firstName     lastName 
    ....................................... 
    111 arun      prasanth     
    222 ann       antony     
    333 sruthy      abc      
    666 new       abc  




TableB(ssn Foreign key reference) 
id ssn Place 
................ 
1 111 kerala 
2 222 usa 
3 333 ekm 
5 666 chennai 

所望の出力が

TableA 
    ssn firstName     lastName 
    ....................................... 
    999 gdfsgs     trttr 
    956 hsggghhgh     pipip 
    855 hdsgfgsddd    lklkl 
    233 ghfgfggfgf    mkmk 




TableB(ssn Foreign key reference) 
id ssn Place 
................ 
1 999 kerala 
2 956 usa 
3 855 ekm 
5 233 chennai 

答えて

0

開発環境で明らかに外部キーの関係が強制されるため、キーの値を変更することは問題になります。

のオプションが含まれます:SSNのような重要な事実は、(それを行うには遅すぎ)最初の場所で内部キーにならないように

は、データベースの設計します。

(データベース内のSSNが重要な事実を表していない場合は、本番環境の実際の個人データに接続すると意味のあるデータのみが公開されるため、開発コピーで変更する必要はありません。あなたとあなたの同僚は私と同意見ではないかもしれません。)

一度に1つのSSNのデータを変更します。たとえば、TableAにProxy、Proxyという000の行を入力します。他のテーブルの111のSSNをすべて000に変更します。表AのSSN111を999に変更する。他のテーブルのすべてのSSN 000を999に変更します。私はこれを実稼動データで行いました。別のデータベースに2つの異なるサービスIDで記録されていて、2つのIDのデータを併合する必要がありました。

テーブルに参照制約を持たないデータベースにデータをコピーします。あなたは好きなようにデータを変更しますが、正しい関係で仕上げます。制約がある別のデータベースにデータを再度コピーします。

言語とデザインで外部キーの適用を許可、削除、または無効にする場合は、データを変更して外部キーを作成または有効にします。ただし、すでに無効になっているデータベースの制約に注意してください。最後に、無効になっているすべての制約を有効にした場合は、開始前にすでに無効になっている制約を有効にすることもできます。

匿名のIDデータを作成するための標準ツールが役立つ場合があります。名前については、私は合理的かつ別個のforenamesのリストと長さの2つの異なる素数(または "co-prime")の姓のリストを取る方法を使用しました。 1つのリストから名前を(セミランダム)順に取り出し、もう一方から順にリストの終わりから始めに戻ります。名前の組み合わせは、すべてのペアが一度使用されるまで繰り返してはなりません。私のリストには、「モハメド・シン」を制作することが挑発的であると考えられたため、「モハメド」のスペルと姓のスペルが1つ含まれていました。 "hsggghhgh"を使うことも私には起こりませんでしたが、 "User101first"と "User101last"などを使うことができました。

0

あなたがいずれかのいくつかのスクランブルツールを使用してみてくださいまたは何かを生成するアルゴリズムを作成することができなければなりません(SSN)にtableAからforiengキーを持っていますハッシュコードのようなもの。入力値が同じ場合、アルゴリズムは常に同じ値を生成する必要があります。例: - 生成された111の値は常に999です。

関連する問題