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