このセクションの内容:
背景
多くの組織では、テスト データに関して固有の安全性およびセキュリティ上の懸念や要件があるかもしれません。たとえば、銀行取引アプリケーションを開発している場合、SSN、口座番号、その他のデータがデータベースの実インスタンスから来ている場合があるでしょう。電子健康記録 (EHR) アプリケーションを開発している場合、テストで使用するデータにも HIPPA の要件が及ぶかもしれません。これが、テストにおいて機密データを簡単にマスクできる機能が重要な理由です。
しかし、データのマスクは、単に値にスクランブルをかけるだけといった単純なものではありません。たとえば、API は特定のフォーマットで特定の型を持つ特定のフィールドを含むデータ オブジェクトを期待する場合があります。また、マスクされた値は複数のフィールドにわたって一貫性がなければなりません。2 つのテーブルでレコードが利用可能な場合、マスクされた値は一致していなければなりません。
Test Data のデータのマスク機能を使用すると、アプリケーションの要件を満たすランダムな値を含むデータ セットのコピーを作成できます。マスクされたデータは安全かつセキュアであり、テスト結果に影響を与えることなくテスト シナリオで使用できます。
前提条件
このセクションを始める前に、このチュートリアルの「テスト データのキャプチャと管理」の章を完了している必要があります。
あるいは、既存のデータ リポジトリを使用してこのチュートリアルを実行することもできます。
データ モデルについて
[Test Data] タブにはテーブルのデータが表示されます。このインターフェイスを使用して、データの複製、操作、管理を行うことができます。いっぽう、[モデル] タブをクリックすると、データ オブジェクトがどのように関連しているかを示すデータ表現を参照できます。
モデルで使用される記号、図形、色に関する詳細な説明は、「Data Model の概要」にあります。
モデルの探索
- マウスのクリックホイールを使用してモデルを拡大および縮小できます。
- モデルの枠外を表示するには、クリックしてドラッグします。
- 要素をクリックすると、他の要素との関係が表示されます。
SQL データ セットの場合、モデルの中心にある要素 (データベースのアイコン) はクエリーを表します。クエリーから出ている各ブランチは、データ セットの構築に使用された SQL テンプレート (結果を返す SQL コマンドの集合) を表します。
正しいアカウントを取得するため、Parabank はアカウントに関連付けられたソーシャル セキュリティ番号を取得します。[検索] バーをクリックして SSN
と入力し、クエリーを表示します。
データ セットでは、ResultSet3 および ResultSet5 (非表示) に SSN が現れます。
モデルの結果セット オブジェクトは、よりわかりやすく視覚化するために Test Data が作成した抽象概念です。結果セットは、SQL テンプレート オブジェクト (上図の "SQL3") によって返されるデータを表現します。検索が容易になり、モデル内でデータを表すオブジェクトが識別しやすくなるよう、SQL テンプレートの表示名を変更できます。
- [結果セット] ラベルをクリックします。サイドバーに SQL テンプレートが表示されます。
- SQL の省略記号メニューをクリックし、[表示名の編集] をクリックします。
- 新しい表示名を指定し、[保存] をクリックします。
SQL テンプレート オブジェクトに加えて ResultSet3 オブジェクトが変更されます。
次のステップ
ソーシャル セキュリティ番号は機密情報であるため、テスト シナリオで安全にデータを利用できるよう、マスクする必要があります。このプロセスについては、次のセクションで説明します。
制約の推論
制約とは、型、最大値/最小値 (整数の場合)、許可された文字 (文字列の場合) などのデータの特徴を意味します。Test Data が制約を推論する際、記録されたすべてのデータを処理して各フィールドに関する制約を設定します。これはデータを適切にマスクするのに重要なだけではなく、後で新規データを生成する際にも重要です。
- ResultSet3 (オブジェクトの名前を変更していない場合) をクリックし、[制約の推論] をクリックします。
- 確認ダイアログが表示されたら、デフォルトの制約の上書きを確定します。Test Data は結果セットのすべてのデータ列に対して制約を推論します。
マスク設定
[マスクおよび生成設定] オーバーレイにデータを具体化するためのオプションが表示されます。
- ResultSet3 の SSN 列を選択します。
- 省略記号メニューをクリックし、[マスクおよび生成設定] を選択します。
- 設定の詳細については「マスクおよび生成設定」を参照してください。このチュートリアルでは、次の設定を選択します。
- モード: ランダム。現実的な値を実現するため、ランダムに値を置き換えます。
- タイプ: 文字列。SSN 値には数値が含まれますが、アプリケーションでは、どちらかというと文字列のように扱われます。
- パターン: ###-##-####。SSN 値を 3 桁の数字、ダッシュ、2 桁の数字、ダッシュ、4 桁の数字という値で置き換えるよう指示します。
- 文字マップ: 文字マップは、生成されたパターンで使用できる文字を定義します。アンパサンド (&) 文字を使用するパターンにだけ適用されます。& は文字マップの文字に置き換えられます。
- [保存] をクリックします。
この結果セットに対して設定されたマスクが SSN 列に表示されます。
さらに ResultSet5 の SSN 列を設定する必要があります。また、データの完全性を保つため、マスクは複数の結果にわたって一貫していなければなりません。
- ResultSet5 の SSN 列を選択し、省略記号メニューから [データ制約設定] を選択します。
- [参照] フィールドをクリックし、ドロップダウン メニューから ResultSet3 で設定した SSN 列を選択します。
- [保存] をクリックします。
モデルに各結果セットの SSN 列をつなぐ点線が描画されます。これは、ResultSet3 の SSN 列に適用されるマスク値が ResultSet5 の SSN 列にも適用されることを示しています。
マスクされたデータの生成
設定が完了したので、データをマスクできます。
- ツールバーの [データのマスク] ボタンをクリックします。
- プロンプトが表示されたら、マスクされたデータ リポジトリの名前を指定します。デフォルトでは、元のデータ セットの名前に “_masked” が付加されます。
- [マスク] をクリックします。
次に、新しい値が生成されたことを確認します。
- [データ] タブをクリックし、マスクされたリポジトリ (ParabankDB_masked) を選択します。
- データ セット (parabank-login) をクリックし、ソーシャル セキュリティ番号を含む行をクリックします。
- レコードを展開し、SSN 列の値をチェックします。
- データ セットのページに戻り、SSN 列を含む別の行をクリックします。ソーシャル セキュリティ番号として同じ値が使用されています。
- この値を ParabankDB リポジトリの元の SSN 列と比較します。
最後に、[タスク] タブをクリックしてコンプライアンスのための監査証跡を参照できます。