更新:2017年第2四半期 :含まれているJDBCおよびODBCドライバー、および保留中のネイティブJSON処理により、以下に示すアプローチよりも接続が高速かつシームレスになります。 Y IRI VoracityのHadoopエディションを使用して、HDFSのデータを直接マスクすることもできます。以下の方法でHDFSのフラットファイルにエクスポートされたデータは、追加のコーディングなしで、MapReduce2、Spark、Spark Stream、Storm、またはTezを介して、以下に示すのと同じ方法で、FieldShieldモジュールVoracityからフィールドレベルでマスクできます。
更新:19年第3四半期 :IRI DarkShieldで利用できるようになったのは、エクスポート/マスク/インポートの手順を必要とせず、半構造化および非構造化のコレクションデータを処理できるCassandraおよびMongoDB用のネイティブのすぐに使用可能なコネクタです。 FieldShieldと同様に、DarkShieldもVoracityプラットフォームのサブスクリプションで利用可能(含まれています)です。 このハウツー記事をご覧ください CassandraNoSQLDBにフローティングしているPIIを見つけてマスキングするため。 Cassandraに合成テストデータを入力することに興味がある場合は、この記事を参照してください。
DataStax / Cassandraは、特定の列をマスクして、許可されていないユーザーが個人を特定できる情報(PII)を表示するのを防ぐことはできません。この記事では、CassandraデータベースからCSVファイルにデータをエクスポートする方法と、IRI FieldShield製品(IRI Voracityプラットフォームでも利用可能)を使用して、そのCSVファイルのデータをランダム化、マスク、暗号化する方法を示します。次に、そのデータをCassandraにインポートして戻し、更新して保護します。別の記事は、IRIのDBへのより直接的な接続のリリース時に計画されています。
この例では、DataStaxに学生情報を含むテーブルがあります。列は、id_num(主キー)、honors、semester_hours、socsecnum(社会保障番号)、およびuser_idです。
各学生の匿名化を行うために、各学生のPIIが保護されるように、学期をランダム化し、socsecnumをマスクし、user_id値を暗号化します。
Cassandraの保護されていないデータ
コマンドラインの例では、DataStaxCassandraCQLシェルを使用しています。
CassandraテーブルをCSVファイルにエクスポートする
CassandraテーブルをCSVファイルにエクスポートするには、CassandraCQLシェルから次のコマンドを実行します。
COPY <Exporting Table> TO '<File Path to the CSV you exporting to>' WITH HEADER=TRUE;
CSVソースを開いて定義する
- IRI Workbench GUI for FieldShield(Eclipse上に構築)の上部ツールバーから、FieldShieldアイコンを見つけ、[NewProtectJob]を選択してウィザードを実行します。ジョブファイルに「CassShieldJob.fcl」という名前を付けて、[次へ]をクリックします。
- [データソースの追加]をクリックし、エクスポートで作成したCSVファイルを[参照]します。次に、[OK]をクリックします。
- [メタデータの検出]をクリックし、(再利用可能なデータ定義ファイル)に「StudentsMeta.ddf」という名前を付けて、[次へ]をクリックします。 [はい]をクリックして自動検出し、[ヘッダー行からフィールド名を取得]をクリックしてから、[OK]、[完了]の順にクリックします。
保護の適用
- [データターゲットの追加]をクリックし、参照して新しいCSVファイルターゲットを作成し、保護されたバージョンのデータを保持します(または、ソースを上書きするには、同じパス/ファイルを使用します。次に、[ターゲットフィールド]をクリックします[レイアウト]をクリックして、レイアウトを確認し、出力フィールドに保護を適用します。2つのリストボックスがあります。上部にはソースフィールドが表示され、下部にはフィールド「シールド」を適用するターゲットフィールドが表示されます。 >
- semester_hoursをランダム化する:ターゲットペインでsemester_hoursフィールド名を選択し、[フィールド保護]をクリックします。 [ランダム値の生成]を選択し、タイプとして[数字]を選択します。ランダムな最小サイズと最大サイズを2に設定し、[OK]をクリックします。
[OK]、[完了]の順にクリックして、作成された実際の(実行可能ジョブ)スクリプトを確認します。
IRIWorkbenchまたはコマンドラインでジョブを実行します
fieldshield /spec=CassShieldJob.fcl
作成したCSVファイルには、マスクされ暗号化された新しいデータが含まれます。
保護されたデータをCassandraにインポートする
変更されたデータをCassandraにインポートして戻すには、CassandraCQLシェルで次のコマンドを使用します。
COPY <Table you are importing data to> (field1fromCSV, field2fromCSV, ...) FROM '<Path to CSV>';
Cassandraの保護されたデータ
FieldShield機能の詳細については、http://www.iri.com/products/fieldshield/technical-detailsを参照してください。