sql >> データベース >  >> NoSQL >> MongoDB

DarkShieldを使用したMongoDB、Cassandra、ElasticsearchでのPIIのマスキング:…

    この記事では、IRI DarkShieldを使用して、MongoDB、Cassandra、Elasticsearchデータベースの個人情報(PII)やその他の機密データを識別および修正(マスク)する方法について説明します。これらの手順は主にMongoDBコレクション内のデータの検索とシールドに焦点を当てていますが、同じ手順をCassandraテーブル内のデータにも使用できます。 Elasticsearchに関するこの記事も参照してください。

    この記事は、IRIがMongoDBのデータをマスキングするためにサポートする4番目の方法と、Cassandraの2番目の方法を表していることに注意してください。以前のサポートされているメソッドは、IRI FieldShieldを介した構造化データの検出と匿名化に依存していますが、DarkShieldメソッドは、構造化コレクションまたは非構造化コレクションのテキストデータをサポートしています。 DarkShieldとFieldShieldはスタンドアロンのIRIデータマスキング製品ですが、どちらもIRIVoracityデータ管理プラットフォームに含まれています。

    最新のアプローチでは、データ分類のいくつかの要素を使用しています 、データのソースから独立してPIIを検索するために使用される検索方法を定義するための統合データカタログパラダイム。この記事では、ステップ1でのデータ分類について簡単に紹介しますが、データ分類が検索を実行するための統一されたアプローチにどのように適合するかを理解しておくと役立つ場合があります。 DarkShield他のIRIWorkbenchフロントエンドでのデータ分類の詳細については、先に進む前にこの記事をお読みください。

    IRI DarkShieldを使用したPIIの識別と修復には、次の4つの一般的な手順が含まれます。

    (オプション)ステップ–データソースを登録する

    この(オプションの)ステップでは、Mongoデータベース、Cassandraキースペース、またはElasticsearchクラスターのデータソースが登録されます。これにより、データソースを再利用できるようになります。その結果、目的のデータソースがレジストリにすでに存在する場合、またはウィザードからそれらを定義する予定の場合、この手順はオプションです。

    ステップ1-検索パラメータを指定する

    ここでは、検索のすべての側面が選択されています。まず、レジストリで指定された、またはウィザードで作成されたデータ接続に基づいて、ソースとターゲットのコレクション/テーブルが設定されます。次に、検索マッチャーを使用して、検索する情報の種類とその情報を修正する方法を使用して、データの検索および修正基準を指定できます。このステップの結果は。検索です。 ファイル。

    ステップ2–検索を実行する

    .searchから検索を実行できます ファイル。結果は.darkdataです 識別されたPIIに注釈を付けるファイル。

    ステップ3–修正(マスキング)

    修復は.darkdataから実行できます ファイル。識別されたPIIは、検索の作成時に指定された方法で修正されます。

    (オプション)ステップ–データソースを登録する

    前提条件として、オンラインデータソース(およびターゲット)への接続を、環境設定>IRI>URL接続レジストリにあるURL接続レジストリに登録する必要があります。 IRIWorkbenchのダイアログ。

    MongoDB、Cassandra、ElasticsearchのURI接続文字列を含むすべてのURL接続を保存できます。これにより、URL、認証資格情報、および追加のパラメーターをIRI Workbenchで保存および保存して、将来使用できるようになります。

    ステップ1–検索パラメーターの指定(.Searchファイルの作成)

    DarkShield用のIRIWorkbenchIDEで、DarkShieldメニューから[新しいデータベース検出ジョブ]を選択します。プロジェクトフォルダを選択し、ジョブの名前を入力します:

    ソースとターゲットの指定

    以前に作成されてレジストリに保存されたMongo、Cassandra、またはElasticsearchURLは、 URIからアクセスできます。 ソースセレクターとターゲットセレクターの両方のドロップダウン。対応するMongoDBコレクション、Cassandraテーブル、またはElasticsearchインデックスの名前も入力する必要があります:

    New を押して、新しいURIを作成することもできます。 ボタン。これにより、[URL接続の詳細]ダイアログが開きます。接続の名前を入力し、目的のスキームを選択し、ホストを入力して、データベースを入力します。ポートが存在しない場合、スキームのデフォルトポートが想定されます。

    データベースに認証が必要な場合は、ユーザー名とパスワードを指定することもできます。新しいURL接続はすべてURL接続レジストリに保存され、ターゲットとして再利用できます。

    ソースを指定したら、次のページに進んでターゲットURIを選択または作成できます。ターゲットURIのスキームは選択されたソースURIに制限されるため、MongoDBソースは別のMongoDBターゲットにのみ送信でき、CassandraまたはElasticsearchの場合も同様です。

    マスキングジョブが実行されると、ソース内のすべての行がターゲットに追加され、一致するキーを持つ行が上書きされます。 Cassandraの場合、ターゲットテーブルスキーマがソーステーブルのデータと互換性があることを確認してください。

    検索マッチャーの追加

    ソースとターゲットの両方を指定したら、次のページに移動して検索マッチャーを追加できます。使用するパターンまたはルールライブラリを含むライブラリの場所を選択し、追加をクリックします。 新しい検索マッチャーを追加します。

    KeyNameMatcher

    作成する最初の検索マッチャーは、任意にネストされたjson構造にある「名前」キーに対応する値全体を照合し、フォーマット保存暗号化アルゴリズムを適用してマスクするために使用されます。これは、JSONパスフィルター「$..name」を作成することで実現できます。 JSONパスの詳細については、こちらをご覧ください。

    MongoDBコレクション、Cassandraテーブル、Elasticsearchインデックスは、DarkShieldによってjsonドキュメントとして解析されるため、「名前」キーに対応する値をマスクするために、フィルターを両方に適用できます。

    フィルタリングされたデータの内容を一致させるには、新しいデータクラスを作成する必要があります 。データクラスは、PIIとそれを識別するために使用される関連するマッチャーを表します。これらのマッチャーには、次の任意の組み合わせを含めることができます。

    • 正規表現パターン
    • ファイル辞書ルックアップを設定
    • 名前付きエンティティ認識モデル
    • バウンディングボックスマッチャー(画像のみ)
    • 顔認識(画像のみ)

    ウィザード内で、またはデータクラスとグループを開くことにより、データクラスを定義できます。 IRI設定のページ 。プリファレンス内で定義されたデータクラスは、構造化データと非構造化データを含む他のデータソースのFieldShieldとDarkShieldの両方で使用できます。

    関連するすべてを作成できます このマッチャーのデータクラスは、値の内容全体に一致します。これは、値に含まれるのは名前だけであると合理的に確信しているためです。 「名前」キーの内容がわからない場合、または名前のサブセットのみをマスクしたい場合は、名前の辞書を含むセットファイルルックアップを使用できます。

    ルール名の場合 KeyNameMatcherのフィールドで、選択したライブラリの場所から既存のデータルールを選択するか、フォーマット保存暗号化(FPE)を使用する新しいルールを作成できます(例:

    )。

    FPEルールを作成するには、[作成]をクリックします ルール名の横 フィールドで、暗号化または復号化機能を選択します 表示されるデータルールウィザードから:

    暗号化/復号化キーとして機能する適切なパスフレーズを指定します。これは、明示的な文字列、環境変数、またはその文字列を含む保護されたファイルの名前にすることができます。

    EmailsMatcher

    前のダイアログを終了し、新しいKeyNameMatcherを作成した後、電子メールアドレス用の別の検索マッチャーを追加できます。 追加をクリックするだけです リストに追加する別の検索マッチャーを作成します。

    IRI Workbench メールがプリロードされています 参照をクリックして選択できるデータクラス データクラス名の横 フィールドに移動し、メールを選択します ドロップダウンメニューから。

    データルールの場合、参照をクリックして、前の検索マッチャー用に作成したFPEルールを選択できます。 ルール名の横 フィールド、または使用可能な複数のマスキング機能の1つを使用して新しいものを作成します。メール全体をアスタリスクに置き換える簡単なデータ編集機能を作成しました。

    これで、OK をクリックして、検索マッチャーをリストに追加できます。

    NamesMatcher

    最後の検索マッチャーは、自由に流れるテキスト内の名前を見つけるために使用されます。このために、固有表現抽出(NER)を使用します 文の文脈を使用して名前を検索します。まず、追加をクリックする必要があります 新しい検索マッチャーを作成し、 NAMES_NER:という名前の新しいデータクラスを作成します

    NAMES_NERを作成するには データクラス、最初に個人名ファインダーモデル en-ner-person.binをダウンロードする必要があります 、OpenNLPsourceforgeリポジトリから。次に、[追加]をクリックします 新しいマッチャーを追加するには、NERモデルを選択します ドロップダウンから。 参照をクリックします ダウンロードしたモデルの場所に移動します。例:

    新しいデータクラスを作成したら、[ OK]をクリックします 以前に定義したFPEデータルールを選択して、検索マッチャーの作成を完了します。

    NamesMatcherに注意してください およびKeyNameMatcher 一致が重複している可能性があります。これが発生した場合、DarkShieldは利用可能な最長の一致を選択し、他の重複する一致を削除します。そうすれば、DarkShieldがすでにマスクされた値にマスキング機能を適用することを心配する必要はありません。

    必要なマッチャーをすべて追加したら、[完了]をクリックして .searchを生成します。 ファイル。

    生成された.search ファイルを検査して、検索の詳細を表示できます。これには、ソースURIとターゲットURI、およびすべてのマッチャーに関する情報が含まれます。

    ステップ2–検索を実行します( .Darkdata を作成します ファイル)

    ダークデータ検出ジョブの完了 ウィザードは新しい。検索を生成します 構成ファイル。このファイルには、データのソースとターゲット、および検出、配信、削除、匿名化のためにPIIにタグを付けるために使用される検索マッチャーなど、選択したオプションが含まれています。

    検索を開始するには、 .searchを右クリックします ファイルで、名前を付けて実行を選択します IRI検索ジョブのいずれかを選択します またはIRISearch and Remediate Job

    検索 検索と修正の間、検索のみを実行します また、識別されたデータをマスク(または削除)しようとします。どちらも.darkdataを生成します 関心のあるデータを識別するファイル。

    使用したソースにはランダムに生成された値が入力されているため、生成された .darkdataを共有しても問題はありません。 ここにファイルします。ただし、実際に機密情報を処理する場合、ユーザーは .darkdataを保証する必要があります ファイルは公開されず、PIIの漏洩を防ぐために、修復の完了後に安全にアーカイブまたは削除されます。 IRIは、 .darkdataを保存するための隔離オプションを追加します 安全な場所にあるファイルと対応する検索アーティファクト。この計画された機能の詳細については、[email protected]にお問い合わせください。

    ステップ3–修復(マスキング)

    この場合も、データのマスキングまたは削除は、検索と修正を介して検索操作中に実行できます。 DarkDataDiscoveryウィザードのオプション。ただし、識別された情報を調べて後で修正したい場合は、 .darkdataからマスキングジョブを実行してください。 この方法で検索(ステップ2)で作成されたファイル:

    .darkdataを右クリックします ファイル、実行の上にマウスを置きます 、[ IRI Remediate Job]をクリックします 。ジョブが実行されると、修正されたデータがターゲットデータベースに表示されます。

    これは、Workbenchコマンドプロンプトを使用してローカルのMongoサーバーにアクセスする小さなMongoDBデータベースコレクションの前後を示す例です。

    結論

    この記事では、IRI DarkShieldの複数の検索マッチャーを使用して、Mongoデータベース、Cassandraキースペース、Elasticsearchクラスターの非構造化データにアクセスするための新しいIRI機能を紹介しました。生成された.darkdataを確認できます モデルを作成して、検出および修正された検索結果を確認し、データベースをチェックして、更新されたテーブル/コレクションを確認します。

    1. PIIがMongoDB、Cassandra、Elasticsearchコレクション内のバイナリオブジェクトに埋め込まれている場合、DarkShield検索/マスク操作のためのスタンドアロンファイルへの抽出と再インポートを自動化するのに役立ちます。
    2. Eclipse™上に構築されたIRIWorkbenchIDEは、IRI VoracityプラットフォームのすべてのFieldShield、DarkShield、および関連するデータマスキング、およびより広範なデータ処理機能をフロントエンドします。
    3. >
    4. URL接続レジストリは、DarkShield検索/マスクおよびCoSort / SortCL(Voracity)ETL操作で使用されるURLベースのデータソースを構成および保存するために使用されます。例:HDFS、Kafka、S3バケット、MongoDB、S/FTP。このレジストリは、リレーショナルデータベースソース用のIRI Workbenchのデータ接続レジストリと似ていますが、同一ではありません。ここでは、両方の接続を活用するジョブウィザードの利益のために、ODBCDSNが対応するJDBC接続プロファイルにブリッジされます。
    5. 検索マッチャーはデータクラス間の関連付けです 、PIIを検索および分類するための検索方法、およびデータルールを定義するために使用されます。 これは、コレクションまたはテーブルにあるデータクラスのすべてのインスタンスに適用されます。さらに、検索マッチャーを使用すると、検索範囲を縮小するために使用できるフィルターを定義できます。キー名は対応する値に格納されているPIIを示すことができるため、これはMongoコレクション、Cassandraテーブル、Elasticsearchインデックスで特に役立ちます。

    1. Azure Redis Cache-複数のエラーTimeoutException:GET{key}の実行がタイムアウトしました

    2. 挿入後にPyMongoでオブジェクトIDを取得するにはどうすればよいですか?

    3. StackExchange.Redisとの並列実行?

    4. MongoDBのすべてのドキュメントのフィールドの名前を変更するにはどうすればよいですか?