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

ElasticsearchでPIIを見つけてマスクする方法

    Elasticsearchは、HTTPインターフェースを備え、そのデータをスキーマフリーのJSONドキュメントに保存するJavaベースの検索エンジンです。残念ながら、個人情報(PII)の高額で苦痛を伴う侵害が相次ぎ、オンラインのElasticsearchデータベースを悩ませ続けています。

    これらのDB内のすべてのPIIまたはその他の機密情報がマスクされていたとしても、ハッキングや開発コピーの成功は問題にならない可能性があります。 IRI DarkShieldの目的は、プライバシー法に準拠した匿名化機能を使用して、本番環境またはテストでその情報をロックダウンすることです。

    Elasticsearch検索およびマスクウィザード IRIWorkbenchのIRIDarkShield用グラフィカルIDEは、この記事で説明されているMongoDBおよびCassandraコネクタと同じツールを使用します。このウィザードを使用して、Elasticsearchコレクションに保持されているPIIやその他の機密情報を分類、検索、匿名化または削除したり、検索結果や監査結果を生成したりできます。

    設定

    接続するElasticsearchクラスターがない場合は、ここからElasticsearchをダウンロードし、手順ガイドに従うことで、ローカルクラスターを簡単に作成できます。

    このウィザードのデモンストレーションでは、 Customersという単一のインデックスを使用しています。 ローカルでホストされているクラスター上。このインデックスには、通常はアカウントに表示される基本的な顧客情報が格納されており、不正行為の豊富なターゲットになります。これには、メールアドレス、名前、電話番号が含まれます:

    検索

    DarkShieldがサポートする他のデータソースと同様に、 .searchを作成する必要があります スキャンと市場の基準を定義するためのジョブ仕様ファイル。 MongoDBまたはCassandraの場合と同様に、新しいNoSQL検索/マスキングジョブ…を選択します。 IRIWorkbenchツールバーの上部にあるDarkShieldメニューから。プロジェクトフォルダを選択し、ジョブの名前を入力します。

    次のページで、ソースURIを作成します:

    ここで、Elasticsearchクラスターのパラメーターを入力します。 Elasticsearchのデフォルトのホストとポートは、これらのフィールドが空白のままの場合、localhostと9200です。

    接続しているクラスターにユーザー名とパスワードが必要な場合は、認証セクションにそれらを入力します。この例では、ホスト:localhost、ポート:9200、クラスター:Elasticsearchを使用しています。

    このページでユーザー名とパスワードを追加することもできます。このデモンストレーションを簡単にするために、ローカルクラスターはセキュリティを考慮して構成されていません。実際のクラスターでは、実際のユースケースでログインとアクセス許可を有効にする必要があります。

    OKをクリックします 終了すると、前のページに戻ります。検索するインデックスを入力します。この例では、 Customersという名前のインデックスを使用しています。 。

    次に、マスクされた結果のターゲットURIを設定する必要があります。 Elasticsearchでマスクされた結果のみをElasticsearchターゲットに送信できることに注意してください。この場合、以前に作成したものと同じ顧客URIを使用しますが、インデックスは異なります。これにより、このデモの後半で作成されるマスクされた結果を含む新しいインデックスが作成されます。

    次に、データクラスを対応するデータ(マスキング)ルールに関連付ける役割を担う検索マッチャーを作成するように求められます。これがないとマスキングを適用できないため、これは必要な手順です。

    データ分類の記事で説明されているように、データクラスは、FieldShieldとDarkShieldの両方の構造化、半構造化、または非構造化ソースでPIIを検索およびマスキングするためのグローバル基準を一元的にカタログ化および定義します。 IRI Workbenchには、ウィンドウ>設定>IRI>データクラスとグループにあるいくつかの事前定義されたデータクラス(名前、電子メールとIPアドレス、クレジットカード番号など)が付属しています。 。それらを編集して、独自に追加することができます。

    参照をクリックします または作成 データクラス行。参照では、独自のデータクラス、または電子メール、電話番号、名前など、いくつかの事前定義されたクラスまたはグループの1つを選択できます。この場合、NAMESデータクラスグループには名データクラスが含まれます。

    ここでは、Elasticsearchインデックス内のメールを検索するEMAILデータクラスを選択しました:

    ここで、選択したデータクラスにマスキングルールを適用する必要があります。 作成をクリックします ボタンをクリックして新しいデータルールを作成するか、参照 すでに定義したものを使用します。

    メールの場合、私は編集機能を選択します:

    もちろん、複数のデータクラスを同時にマスクすることもできます。クラスを追加し、電話番号に形式を保持する暗号化機能を割り当て、人の名前にランダムな仮名(ファイルルックアップを設定)を割り当てました:

    検索フィルターが必要な場合は、前のページに追加できます。フィルタを使用して、特定の結果を検索したり、マスクするCSV、XML、JSON、またはRDBの特定のフィールドを分離したりして、行の内容をスキャンする必要をなくすことができます。ただし、この場合は何も指定しませんでした。

    完了をクリックします それが終わったら。これでウィザードが完了し、 .searchが作成されます 検索および/またはマスキングジョブを実行するためのDarkShield構成の詳細を保持するファイル。

    注: この例のようなデフォルトのローカルでホストされているクラスターを使用している場合は、クラスターがオンになっていることを確認してください。そうしないと、検索またはマスキングジョブが失敗します。 Webブラウザを開き、アドレスバーに「http:// localhost:9200 /」と入力すると、サーバーが実行されているかどうかを確認できます。

    検索とマスキング

    DarkShieldは、個別または同時操作として検索とマスキングをサポートします。この場合、最初に検索して、マスクする前に見つけたものを確認したいと思います。これは、(大規模な)マスキングジョブには時間がかかる可能性があるため、検索方法を磨いて再確認したい場合があります。

    これを行うには、 .searchを右クリックします ファイルを作成し、ファイルを検索ジョブとして実行します。これにより、 .darkdataが作成されます 実行したばかりの検索結果を使用します。アーティファクトはWorkbenchに表示されます:

    結果を確認したら、 .darkdataを実行できます。 マスキングとしてファイル 私が指定した編集機能を使用してコレクションを修正するジョブ。

    以前に検索された結果は、ターゲットの場所でマスクされます。これを確認するために、もう一度検索を実行して、データが指定どおりに「DarkShield」されていることを確認できます。つまり、電子メールは編集され、名は仮名化され、電話番号はフォーマットを保持する暗号化でマスクされます:

    IRI WorkbenchまたはそのCLIのこのDarkShieldインターフェースを介して保存中のデータをマスクすることにより、Elasticsearchコレクションを保護するためのサポートが必要な場合、またはDarkShieldのREST APIを介して送信中の半構造化/非構造化データについては、[email protected]にメールでお問い合わせください。

    >
    1. INSERT()を使用してMySQLの別の文字列に文字列を挿入する方法

    2. インデックスの断片化の軽減

    3. 私のお気に入りのPostgreSQLクエリとその重要性

    4. MySQLSETデータ型をPostgresに変換します