在本章节中:

背景

许多组织可能对他们的测试数据有特定的安全和安全问题或要求。例如,如果正在开发银行应用程序,您可以从数据库的实际实例中获取 SSN、帐号和其他数据。如果正在开发电子健康记录(EHR)应用程序,那么 HIPPA 需求可能会扩展到您正在测试的数据。这就是为什么以简单的方式屏蔽敏感数据的能力对于测试非常重要。

不过,屏蔽数据并不像置乱值那么简单。例如,API 可能期望数据对象以特定的格式和类型包含特定的字段。此外,屏蔽值需要跨字段保持一致。如果一条记录在两个不同的表中可用,则屏蔽值必须是一致的。

可以使用 TDA 中的掩码数据功能创建数据集的副本,其中包含满足应用程序需求的随机值。屏蔽数据是安全的,可以在不影响测试结果的情况下用于测试场景。

前提条件

在开始本节之前完成本教程的 捕获和管理测试数据 章节。

或者,您可以使用现有数据存储库学习本教程。

了解数据模型

TDA Data 选项卡表示表中的数据。可以使用此接口克隆、操作和管理数据。但是您可以单击 Model 选项卡来查看数据的表示形式,显示数据对象之间的关系。 

有关模型中使用的符号、形状和颜色的更详细说明,可以参考 数据建模概述 文档。

探索模型

  • 使用鼠标上的点击轮来放大和缩小模型。
  • 单击并拖动以查看框架外模型的部分。
  • 单击一个元素以查看它与其他元素的关系。

对于 SQL 数据集,模型中心的元素(数据库图标)表示查询。查询中的每个分支表示一个 SQL 模板(返回结果的 SQL 命令集合),用于构建数据集。 

为了检索正确的帐户,ParaBank 查询与该帐户关联的社会保障号。单击搜索栏并输入 SSN 查看查询。 

在我们的数据集中,SSN 出现在 ResultSet3 和 ResultSet5 中(未显示)。

模型中的结果集对象是由 TDA 创建的抽象,以促进更好的可视化。结果集是由 SQL 模板对象返回的数据的表示(上图中的“SQL3”)。您可以更改 SQL 模板显示名称,以使搜索更容易、更容易地标识模型中表示数据的对象。

  1. 单击 Result Set 标签。SQL 模板出现在侧栏中。
     
  2. 单击 SQL 省略号菜单,然后选择 Edit Display Name
     
  3. 在提示时指定新的显示名称,并单击 Save。    
     

除了 SQL 模板对象外,ResultSet3 对象也被更改。 

下一步骤

社会保障号是敏感的,因此应该对它们进行屏蔽,以确保我们在测试场景中使用的数据是安全的。这个过程将在下面几节中讨论。 

推断约束

约束是指数据的特征,如类型、最大值/最小值(整数)、允许的字符(字符串)等。当 TDA 推断约束时,它处理所有记录的数据并围绕每个字段设置约束。这不仅对正确屏蔽数据很重要,而且对以后生成新数据也很重要。 

  1. 单击 ResultSet3 (如果没有重命名对象)并单击 Infer Constraints
  2. 确认您希望在提示时重写默认约束。TDA 将推断结果集中所有数据列的约束。

配置屏蔽设置

屏蔽和生成设置覆盖包括几个用于塑造数据的选项。

  1. 选择 ResultSet3 中的 SSN 列。
  2. 单击省略号菜单,然后选择 Mask and Generate Settings
     
  3. 有关设置的详细信息,请参阅 Mask and Generation Settings 文档。在本教程中,我们将选择以下设置:
    1. 方式:Random.我们希望随机替换这些值,以获得一个实际的值。
    2. 类型:String.尽管 SSN 值包含数字,但它的行为更像是应用程序中的字符串。
    3. 模式:###-##-####.这指示 TDA 使用三个数字、一个破折号、两个数字、一个破折号和四个数字替换 SSN 值的实例。 
    4. 字符映射:字符映射定义可以在生成的模式中使用哪些字符。它只适用于使用 (&) 字符的模式,这些字符由字符映射中的字符替换。

  4. 单击 Save

SSN 列显示了为此结果集配置的屏蔽设置。
 

ResultSet5 中的 SSN 列仍然需要配置。此外,屏蔽需要跨结果保持一致,以保持数据的完整性。

  1. 选择 ResultSet5 中的 SSN 列,并从省略号菜单中打开 Data Constraint Settings 。 
     
  2. 单击 Reference 字段并从下拉菜单中选择 ResultSet3 中配置的 SSN 列。
     
  3. 单击 Save

模型中将绘制一条虚线,连接来自每个结果集的 SSN 列。这表明应用于 ResultSet3 SSN 列的屏蔽值也将应用于 ResultSet5 SSN 列。

生成屏蔽的数据

通过配置这些设置,我们现在可以屏蔽数据。 

  1. 点击工具栏中的 Mask Data 按钮。
  2. 在提示时为屏蔽数据存储库指定一个名称。默认情况下,原始数据集的名称后面附加“_mask”。
     
  3. 单击 Mask

接下来,我们将验证是否生成了一个新值。

  1. 单击 Data 选项卡并选择屏蔽存储库(ParabankDB_masked)。
  2. 单击数据集(parabank-login)并单击包含社会保障号的行。
     
  3. 展开记录并检查 SSN 列中的值。
     
  4. 返回到数据集页面,并单击具有 SSN 列的另一行。它将与社会保险号具有相同的值。
  5. 将这些值与 ParabankDB 存储库中的原始 SSN 列值进行比较。
     

最后,您可以单击 Tasks 选项卡查看审计跟踪,以实现遵从性目的。


  • No labels