編集者注:この例は、最も早く、最も直接的ではないことを示しています。 (まだ利用可能ですが)IRIFieldShieldを使用してMongoDBテーブル内で見つかったデータを保護する方法。後で説明するように、この場合のMongoDBエクスポートユーティリティは、データを抽出し、FieldShieldが外部でマスクするCSVファイルを作成してから、新しく保護されたデータをMongoDBにロードし直します。これと同じアプローチを、CassandraやElasticSearchなどの他のNoSQLデータベースのデータに使用できます。
IRIは、MongoDBコレクションとFieldShieldやVoracityなどのIRIデータマスキングエンジンとの間でデータを移動するためのより直接的な方法も提供します。 2016年のODBCを介した構造化MongoDBデータの直接データマスキングに関するハウツー記事はこちら 、および2018のCoSortv10(FieldShieldとVoracityに電力を供給する)でサポートされているMongoDBのネイティブドライバーを介してここにあります。 最新の(4番目の方法)方法— IRI DarkShieldを使用して、構造化されたMongoDBコレクションと構造化されていないMongoDBコレクションの両方でPIIを検索してマスクできます — 2019以降のGUIで はです ここで、 2021以降のAPIで ここにあります。
MongoDBは、コレクションと呼ばれるパケットに大量のデータを格納できる強力なNoSQLデータベースです(リレーショナルデータベースのテーブルと同様)。水平方向にスケーリングしますが(マシンを追加してデータベースに電力を追加します)、MongoDBには、各レコードを手動で更新する以外に、入力後にデータをマスクする内部的な方法はありません。
以下の例では、MongoDBの値を外部から保護しています。コレクションをCSVファイルにエクスポートし、IRI FieldShieldを使用してそのファイルのフィールドをマスクし、そのファイルをMongoにインポートして、コレクションが適切に保護されるようにする方法を説明します。 FieldShieldを使用して、14の異なる方法で任意の数のフィールドをマスクできることに注意してください。
中央で定義されたデータクラスに基づいて、複数の構造化、半構造化、非構造化ソースのデータを自動的に検出してマスクすることもできます。このブログの他の記事(この記事など)で詳しく説明しています。ただし、この例では、エクスポートされたeollectionsに基づいて、マスキングの側面のみを示しています。
マスキング前のデータ
これが、MongoVUEで表示されるソーステーブルのレコードです。
テーブルデータのエクスポート
MongoDBエクスポートユーティリティ(mongoexport)を使用して、次のコマンドを実行します:
--db <Database Name> --collection <Collection Name> --csv --fields <field1,field2,...> --out <Output Path>
FieldShieldGUIを使用したデータマスキングジョブの作成
- IRIワークベンチを開き、FieldShieldの新しい保護(マスキング)ジョブの作成ウィザードを開始します。
- 下の表には、ターゲットファイルに含まれるすべてのフィールドが表示されます。マスクするフィールド名を選択し、[フィールド保護]メニューの矢印をクリックして、ドロップダウンボックスから目的のマスク機能を選択します。
- 次に、FieldShieldジョブを生成する必要があります:
データマスキングジョブを確認し、必要に応じて変更して再保存します。 GUI、コマンドライン、またはアプリケーション内から実行して、MongoDBにアップロードするファイルを生成します。
マスクされたテーブルのインポート
MongoDBインポートユーティリティ(mongoimport)を使用して、次のコマンドを実行します。
--db <Database Name> --collection <Collection Name> --type csv --fields <field1,field2,...> --upsert --upsertFields <Field to match to old database*> --file <File Path of the file to import (The file created by the Mask Script)>
*すべてを古いコレクションにインポートして戻すには、既存のレコードに対してクエリを実行するために入力しているフィールドを指定する必要があります。例は電子メールです。インポートするすべてのレコードを既存のメールと照合し、レコードを更新します。
マスキング後のデータ
以下は、ターゲットテーブルのレコードです。 MongoVUEで表示されます。 FieldShieldプロセスで編集されたのはクレジットカード番号のみであることに注意してください。他のフィールドは、同様の機能または異なる機能で同時に保護されている可能性があります。
FieldShieldジョブの定義と実行が比較的簡単であることに加えて、Mongoで使用することには次のような他の利点があります。
- 同じCoSort(SortCLプログラム、FieldShieldの親)ジョブスクリプトとI / Oパスでの同時データ統合、移行、レプリケーション、フェデレーション、およびレポート機能
このプロセスについて質問がある場合、または以下にコメントする場合は、お問い合わせください。