在本章节中:
背景
许多组织可能对他们的测试数据有特定的安全和安全问题或要求。例如,如果正在开发银行应用程序,你可以从数据库的实际实例中获取 SSN、帐号和其他数据。如果正在开发电子健康记录(EHR)应用程序,那么 HIPPA 需求可能会扩展到你正在测试的数据。这就是为什么以简单的方式屏蔽敏感数据的能力对于测试非常重要。
不过,屏蔽数据并不像置乱值那么简单。例如,API 可能期望数据对象以特定的格式和类型包含特定的字段。此外,屏蔽值需要跨字段保持一致。如果一条记录在两个不同的表中可用,则屏蔽值必须是一致的。
可以使用 TDA 中的掩码数据功能创建数据集的副本,其中包含满足应用程序需求的随机值。屏蔽数据是安全的,可以在不影响测试结果的情况下用于测试场景。
前提条件
在开始本节之前完成本教程的 捕获和管理测试数据 章节。
或者,你可以使用现有数据存储库学习本教程。
了解数据模型
TDA Data 选项卡表示表中的数据。可以使用此接口克隆、操作和管理数据。但是你可以单击 Model 选项卡来查看数据的表示形式,显示数据对象之间的关系。
有关模型中使用的符号、形状和颜色的更详细说明,可以参考 数据建模概述 文档。
探索模型
- 使用鼠标上的点击轮来放大和缩小模型。
- 单击并拖动以查看框架外模型的部分。
- 单击一个元素以查看它与其他元素的关系。
对于 SQL 数据集,模型中心的元素(数据库图标)表示查询。查询中的每个分支表示一个 SQL 模板(返回结果的 SQL 命令集合),用于构建数据集。
为了检索正确的帐户,ParaBank 查询与该帐户关联的社会保障号。单击搜索栏并输入 SSN
查看查询。
在我们的数据集中,SSN 出现在 ResultSet3 和 ResultSet5 中(未显示)。
模型中的结果集对象是由 TDA 创建的抽象,以促进更好的可视化。结果集是由 SQL 模板对象返回的数据的表示(上图中的“SQL3”)。你可以更改 SQL 模板显示名称,以使搜索更容易、更容易地标识模型中表示数据的对象。
- 单击 Result Set 标签。SQL 模板出现在侧栏中。
- 单击 SQL 省略号菜单,然后选择 Edit Display Name。
- 在提示时指定新的显示名称,并单击 Save。
除了 SQL 模板对象外,ResultSet3 对象也被更改。
下一步骤
社会保障号是敏感的,因此应该对它们进行屏蔽,以确保我们在测试场景中使用的数据是安全的。这个过程将在下面几节中讨论。
推断约束
约束是指数据的特征,如类型、最大值/最小值(整数)、允许的字符(字符串)等。当 TDA 推断约束时,它处理所有记录的数据并围绕每个字段设置约束。这不仅对正确屏蔽数据很重要,而且对以后生成新数据也很重要。
- 单击 ResultSet3 (如果没有重命名对象)并单击 Infer Constraints。
- 确认你希望在提示时重写默认约束。TDA 将推断结果集中所有数据列的约束。
配置屏蔽设置
屏蔽和生成设置覆盖包括几个用于塑造数据的选项。
- 选择 ResultSet3 中的 SSN 列。
- 单击省略号菜单,然后选择 Mask and Generate Settings。
- 有关设置的详细信息,请参阅 Mask and Generation Settings 文档。在本教程中,我们将选择以下设置:
- 方式:Random.我们希望随机替换这些值,以获得一个实际的值。
- 类型:String.尽管 SSN 值包含数字,但它的行为更像是应用程序中的字符串。
- 模式:###-##-####.这指示 TDA 使用三个数字、一个破折号、两个数字、一个破折号和四个数字替换 SSN 值的实例。
- 字符映射:字符映射定义可以在生成的模式中使用哪些字符。它只适用于使用 (&) 字符的模式,这些字符由字符映射中的字符替换。
- 单击 Save。
SSN 列显示了为此结果集配置的屏蔽设置。
ResultSet5 中的 SSN 列仍然需要配置。此外,屏蔽需要跨结果保持一致,以保持数据的完整性。
- 选择 ResultSet5 中的 SSN 列,并从省略号菜单中打开 Data Constraint Settings 。
- 单击 Reference 字段并从下拉菜单中选择 ResultSet3 中配置的 SSN 列。
- 单击 Save。
模型中将绘制一条虚线,连接来自每个结果集的 SSN 列。这表明应用于 ResultSet3 SSN 列的屏蔽值也将应用于 ResultSet5 SSN 列。
生成屏蔽的数据
通过配置这些设置,我们现在可以屏蔽数据。
- 点击工具栏中的 Mask Data 按钮。
- 在提示时为屏蔽数据存储库指定一个名称。默认情况下,原始数据集的名称后面附加“_mask”。
- 单击 Mask。
接下来,我们将验证是否生成了一个新值。
- 单击 Data 选项卡并选择屏蔽存储库(ParabankDB_masked)。
- 单击数据集(parabank-login)并单击包含社会保障号的行。
- 展开记录并检查 SSN 列中的值。
- 返回到数据集页面,并单击具有 SSN 列的另一行。它将与社会保险号具有相同的值。
- 将这些值与 ParabankDB 存储库中的原始 SSN 列值进行比较。
最后,你可以单击 Tasks 选项卡查看审计跟踪,以实现遵从性目的。