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

FieldShieldでの静的および動的データマスキング

    通常、静的データマスキングは、保存されている本番データに対して実行されるため、安全に保存されます。または、テストや開発の目的で非本番環境に複製される場合も同様です。動的データマスキング(DDM)は、クエリ中に本番テーブルのデータに対して実行されるため、元の列の値を表示する権限がないユーザーには、代わりにアプリケーションの値の編集されたビューが表示されます。

    IRIFieldShieldが静的データマスキング製品であることはよく知られています。ただし、より動的な方法でデータベースやフラットファイルのデータをマスクおよびマスク解除するためにも使用できます。リスクのあるデータが停止中(静的)または移動中(動的)であり、保護する必要がある場合に、いずれかまたは両方を必要とするユースケースを見てきました。

    「飛行中の編集」によるDDMは、IRIから次の方法で利用できます。C、C ++、Java、または.NETアプリケーションから認証済みのカスタムベースで作成できるAPI呼び出し可能なマスキングライブラリ(SDKはこちら)。 SQL(プロシージャ)呼び出し。そしてすぐに、プロキシサーバーを介して管理される特別なJDBCドライバー。この記事では、動的な unの最初の方法について説明します。 静的データマスキングと組み合わせたマスキング。

    静的データマスキングと動的データマスキングの両方を示すために、Eclipse™上に構築されたFieldShieldおよびその他のIRIソフトウェア用の無料のグラフィカルフロントエンドであるIRIWorkbenchを使用しました。データセキュリティ、コンプライアンス、およびテストデータのシナリオでは、Workbenchユーザーはソースに接続し、検出と分類を実行してから、静的データマスキング機能を構築して実行します。

    具体的には、データクラスと検索条件を定義し、一貫性のあるマスキングルールを適用してデータを保護します。これにより、データをより適切に管理し、ソースの参照整合性を維持できます。また、データプライバシー法とビジネスニーズに準拠するのに役立ちます。

    Workbenchは、re-IDリスクスコアリング、データベースサブセット化、テストデータの生成と作成、およびFieldShieldを含むIRIVoracityプラットフォームで有効になっている他の多くのデータ管理機能もサポートしています。

    Eclipseにいるということは、WorkbenchがJavaアプリケーション開発をサポートしていることも意味します。したがって、静的関数と互換性のあるライブラリ関数を使用してデータを動的にマスクまたはマスク解除できるプログラムです。繰り返しになりますが、APIはFieldShieldSDKに文書化されています。

    この記事では、WorkbenchでFieldShieldを使用してデータベーステーブルの静的データマスキングを行い、Javaプログラムでそのデータを動的にマスク解除する簡単な例を示します。すべてがIRIWorkbenchで構成されます。

    設定

    まず、Data Tools Platform(DTP)プラグインのSQLスクラップブックを使用して、MySQLでサンプルテーブルを作成してデータを入力しました。ユーザー名、メールアドレス、時間、コメントの列を定義しました:

    静的データマスキング

    Workbenchの上部のツールバーメニューから[新しいデータマスキングジョブ…]ウィザードを使用して、そのテーブルとそのメタデータをすばやく取得し、FieldShieldのAES 256暗号化機能の1つであるenc_aes256を使用して、メール列を静的にマスキングするジョブを作成しました。ウィザードが作成したFieldShieldスクリプトでは、列に一度適用される関数と、同じジョブがトリガーされたとき、または再度実行するようにスケジュールされたときにテーブルの新しい行に適用される関数を確認できます。

    実行すると、MySQLデータベースのテーブルの電子メール列が暗号化されます。

    動的データ(Un)マスキング

    動的データのマスキング解除、またはこの場合の復号化を示すために、Java用のFieldShieldAPIライブラリで対応する復号化関数dec_aes256を呼び出しました。

    .NET言語からも同様の呼び出しが可能です。この基本的なアプリは、MySQLテーブルに接続し、ユーザーを検証し、テーブルから静的に暗号化された暗号文の値と、コンソールに動的に復号化された元のプレーンテキストの電子メール値の両方を表示する方法を示しています。

    もちろん、次のような同様のスタンドアロンのFieldShieldタスクを使用して、静的な方法でWorkbenchで復号化を実行することもできます。

    上記のスクリプトは、暗号文の電子メール値を復号化して、データベースの各行の元のプレーンテキストに戻します。出力は、ソーステーブル自体(復元するため)、他のターゲット(たとえば、テスト用)、またはその両方にすることができます。複数のテーブルのマスキングまたはマスキング解除に対処する複数のタスクスクリプトは、定義されたデータクラスの有無にかかわらず、WorkbenchのFieldShieldウィザードを介して自動的に作成できます(参照整合性を維持します)。

    この場合、MySQLデータベースに接続して表示するフィールドを選択するか、Workbenchにテーブルを表示するだけで、値が元の形式に復号化されていることを確認できます。復号化されたビューは元のテーブルです:

    つまり、IRI FieldShieldを使用して、データを静的または動的にマスクおよびマスク解除できます。静的操作にはスタンドアロンモードを使用し、動的操作にはAPIモードを使用します。マスキング機能には互換性があり、すべてのソリューションが同じガラス板で有効になっています。

    1. より多くのアン/マスキング関数に加えて、他の多くの変換および再フォーマット関数(IRI CoSortまたはVoracityライセンスを介して)を、同じジョブスクリプトおよびI/Oパスでそのデータに対して実行できます。 。

    1. SQL Server(T-SQL)のパーティション関数のリストを返す

    2. DBMS_OUTPUT.PUT_LINEの出力をファイルにリダイレクトするにはどうすればよいですか?

    3. PL / SQL内にOracleDatabaseオブジェクト・タイプを作成することは可能ですか?

    4. MariaDBクラスター10.4の新機能