sql >> データベース >  >> RDS >> Database

IRIFieldShieldでCassandraをマスクする方法

    更新: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ソースを開いて定義する

    1. IRI Workbench GUI for FieldShield(Eclipse上に構築)の上部ツールバーから、FieldShieldアイコンを見つけ、[NewProtectJob]を選択してウィザードを実行します。ジョブファイルに「CassShieldJob.fcl」という名前を付けて、[次へ]をクリックします。
    2. [データソースの追加]をクリックし、エクスポートで作成したCSVファイルを[参照]します。次に、[OK]をクリックします。
    3. [メタデータの検出]をクリックし、(再利用可能なデータ定義ファイル)に「StudentsMeta.ddf」という名前を付けて、[次へ]をクリックします。 [はい]をクリックして自動検出し、[ヘッダー行からフィールド名を取得]をクリックしてから、[OK]、[完了]の順にクリックします。
    4. データソースリストにフィールドが表示されます。 [次へ]をクリックします。

    保護の適用

    1. [データターゲットの追加]をクリックし、参照して新しいCSVファイルターゲットを作成し、保護されたバージョンのデータを保持します(または、ソースを上書きするには、同じパス/ファイルを使用します。次に、[ターゲットフィールド]をクリックします[レイアウト]をクリックして、レイアウトを確認し、出力フィールドに保護を適用します。2つのリストボックスがあります。上部にはソースフィールドが表示され、下部にはフィールド「シールド」を適用するターゲットフィールドが表示されます。
    2. >
    3. semester_hoursをランダム化する:ターゲットペインでsemester_hoursフィールド名を選択し、[フィールド保護]をクリックします。 [ランダム値の生成]を選択し、タイプとして[数字]を選択します。ランダムな最小サイズと最大サイズを2に設定し、[OK]をクリックします。
    4. マスクsocsecnum:socsecnumフィールドを選択し、[フィールド保護]をもう一度クリックします。 [マスキング]を選択し、デフォルトのUSA SSNオプションを選択して、SSNの最後の4桁のみを公開します。 [OK]をクリックします。 user_idの暗号化:user_idを選択し、[フィールド保護]をもう一度クリックします。 [暗号化と復号化]を選択し、暗号化を保持する形式としてenc_fp_aes256_alphanumを選択します。パスフレーズ(復号化キー)を入力し、[除外]ボックスに「User_」と入力して、ユーザー名のUser_部分が暗号化されないようにし、[完了]をクリックします。 保護するフィールドは次のように表示されます。

    [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を参照してください。


    1. PostgreSQLでビューのCREATEVIEWコードを表示するにはどうすればよいですか?

    2. SQLでCOUNTを使用する方法は?

    3. Accessでデータベース図を作成する方法

    4. SaaSサブスクリプションデータモデル