IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  Information Management  >

使用 Optim Data Privacy Solution 和 InfoSphere Federation Server 伪装文本文件

在测试场景中维护法规遵从性

developerWorks
文档选项

未显示需要 JavaScript 的文档选项

英文原文

英文原文


级别: 初级

Dan Callahan, 执行 IT 专家, IBM

2009 年 8 月 20 日

在包含有敏感数据的环境中,不仅需要屏蔽传统的关系数据库中的数据,还需要屏蔽可能用于测试场景的文本文件。客户需要持续地向供应商、外部测试员,甚至是内部测试员发送文件,这些文件包含的数据可能受到法规的制约。在本文中,学习如何通过使用 IBM® InfoSphere™ Federation Server 为文本文件中的数据创建一个传统的关系表(别名)来去除文本文件中的隐私数据的身份,然后使用 IBM Optim™ Data Privacy Solution 应用数据隐私算法。

简介

IBM Optim 为流线化测试数据的管理提供一个解决方案,从而更快、更轻松地创建能够反映端到端业务流程的适当测试数据库。这个解决方案可以通过 Data Privacy Solution 进行扩展,后者提供强大的数据转换功能,通过屏蔽私密的公司数据让您可以在应用程序测试中安全地使用它们。这些转换的应用范围非常广泛,从简单的数据屏蔽到针对复杂数据元素(比如信用卡号、邮件地址和身份识别号)的预打包转换算法。

在带有敏感数据的环境中,不仅需要屏蔽传统的关系数据库中的数据,还需要屏蔽可能用于测试场景的文本文件。客户需要持续地向供应商、外部测试员,甚至是内部测试员发送文件,这些文件包含的数据可能受到法规的制约。

本文向您展示如何结合使用 Optim Test Data Management Solution and Data Privacy 和 InfoSphere Federation Server 实现这个目标。为此,您需要使用 Optim Open Data Manager 将文本文件数据映射到表中,然后这些表被定义为 ODBC 数据源,并且 InfoSphere Federation Server 可以通过 ODBC 包装器访问它们。如图 1 所示:


图 1. 使用 InfoSphere Federation Server 中间件访问文本文件
使用 InfoSphere Federation Server 中间件访问文本文件;图表使用了柱形、方框和箭头

本文描述的步骤包括:

  • 确认您满足先决条件。您需要具有 Optim Test Data Management 和 Data Privacy Option,支持的最低版本为 7.1。Optim Open Data Manager 需要 5.0.1 或更新版本,InfoSphere Federation Server 需要 9.5 或更新版本。您还需要一个 Optim 文本文件许可。
  • 定义需要屏蔽的 文本文件 (delim1.txt) 和随后的输出文件 (delim2.txt),从而使 Optim 可以通过 Optim Open Data Manager 访问它们。
  • 将文件定义为 ODBC 数据源,以使 InfoSphere Federation Server 可以访问它们。
  • 将数据源定义到 InfoSphere Federation Server,包括 ODBC 包装器、别名和用户映射。
  • 提取数据、定义屏蔽算法,并在屏蔽后将其插入到新的输出文件 (delim2.txt)。在这个例子中的屏蔽使用 Optim 内部的一个简单函数 (substring),但是仅当这些文件带有关系表时才可以使用完整的屏蔽功能。




回页首


确认满足先决条件

Optim Test Data Management and Privacy 需要使用 7.1 版本,Attunity 需要使用 5.0.1 版本,InfoSphere Federation Server 需要使用 9.5 版本。

  1. 启动 Optim 并单击 Help > About Optim...

    图 2. Optim 版本级别验证
    显示如何验证 Optim 版本级别的屏幕截图

    将显示版本号和级别:



    图 3. Optim 版本级别
    显示 Optim 版本级别的屏幕截图

  2. 启动 Attunity Studio 并单击 Help > About Attunity Studio…

    图 4. 验证 Attunity 的版本级别
    显示如何验证 Attunity 的版本级别的屏幕截图

    将显示版本号和级别:



    图 5. Attunity 的版本级别
    显示 Attunity 版本级别的屏幕截图

为了对文本文件使用 Attunity,您需要适当的文本文件许可文件,因此按照以下步骤进行注册:

  1. 在 Windows 提示符中,输入:
    cd C:\Program Files\Attunity\Server\bin

  2. 然后输入:
    nav_util register OptimFLAT06-15-09.txt

  3. 最后会显示 OK。

要查看 InfoSphere Federation Server 的级别,请通过 DOS 命令提示符输入命令 db2licm –l,返回的结果如下所示:

  • Product name: "InfoSphere Federation Server"
  • License type: "CPU"
  • Expiry date: "Permanent"
  • Product identifier: "wsfs"
  • Version information: "9.5"




回页首


根据 Optim 定义文本文件以使用 Attunity Studio File-Table Mapping

在很多情况下都需要屏蔽文本文件数据。为了利用 Optim Data Privacy Solution 中的各种算法,文件必须是可以访问的,就像访问带有列的关系表那样。然后,您可以在 Optim 工具中选择需要屏蔽的列,并利用 Optim 提供的功能和算法。

在这个小节中,使用 Attunity Studio 定义需要屏蔽的文本文件 (DELIM1.txt) 和输出文件 (DELIM2.txt)。在这个例子中,文本文件仅包含一行:

              DAN,222,PRINCETON

  1. 打开 Attunity Studio 开始定义文本文件。默认的视图是 Configuration,如果没有显示,请单击菜单选项 Window > Show view > Configuration

    图 6. Attunity 配置屏幕
    显示 Attunity 配置屏幕的屏幕截图

  2. 展开 localhost,右键单击 NAV,然后选择 Edit Binding

    图 7. Edit Binding
    显示如何选择 Edit Binding 的屏幕截图

  3. 将 DELIM 添加到您的数据源,并按下组合键 CTRL + S 或单击 NAV Window 选项卡保存设置,然后关闭编辑窗口(如果文件没有进行界定,而仅是平面的,那么类型应该为 type="ADD-FLAT")。

    图 8. 添加数据源
    显示如何添加数据源的屏幕截图

  4. 在 Configuration 视图中,右键单击 DELIM 数据源,然后选择 Edit metadata

    图 9. 编辑元数据
    显示如何编辑元数据的屏幕截图

  5. 展开 DELIM 数据源,然后右键单击 Tables 并选择 New table

    图 10. 创建表
    显示如何创建表的屏幕截图

  6. 右键单击该表,然后输入 DELIM1 作为表名,然后单击 Finish

    图 11. 新表向导
    显示新表向导的屏幕截图

    文件描述面板将显示在右边。

  7. 单击下一个面板上的 Browse 按钮,选择您的文件名,并选择作为分隔符和引号的特殊字符。(在这个例子中,我们选择逗号作为分隔符)。

    图 12. 表参数向导
    显示表参数向导的屏幕截图

  8. 在面板的底部选择 Columns 选项卡。
  9. 在右上角单击 Insert 按钮,并填写表的第一列的列名(例如 COL1),然后单击 OK

    图 13. 表列向导
    显示表列向导的屏幕截图

  10. 展开数据类型并向下滚动,直到找到您需要的数据类型。
  11. 选择 varstring 作为第一列的数据类型,它包含 “DAN”:

    图 14. 表属性向导
    表属性向导的屏幕截图

  12. 接下来,您需要选择一个长度。在表示尺寸的列中滚动,并选择 10 作为长度。
  13. 单击 Down 按钮,然后单击 Insert 按钮,并对所有列重复该操作。

    图 15. 表属性向导
    表属性向导的屏幕截图

现在,我们复制一个 DELIM1 的副本,称之为 DELIM2。

  1. 为此,您需要将定义导出到一个 XML 文件。在 Metadata explorer 中,右键单击 Tables,然后选择 Export XML definitions...

    图 16. 表副本向导
    显示表副本向导的屏幕截图

  2. 填写文件名 (DELIM12) 或单击 Browse 选择一个不同的默认目录(默认目录为 C:\Program Files\Attunity\Studio),然后单击 Finish 保存导出的文件:

    图 17. 表副本向导
    显示表副本向导的屏幕截图

  3. 在 Windows Explorer,转到 C:\Program Files\Attunity\Studio 并使用 Microsoft® Notepad 打开文件:

    图 18. Windows Explorer > Notepad
    显示如何使用 Notepad 打开文件的屏幕截图

  4. 复制粘贴 DELIM1 表,并在复制行将其名称更改为 DELIM2:

    图 19. Notepad
    显示如何将 DELIM1 表复制粘贴到 Notepad 的屏幕截图

  5. 将文件保存为 DELIM12,以表明 DELIM1 和 DELIM2 表都位于该文件中。
  6. 在 Attunity Studio 中回到 Metadata explorer 以导入该文件。右键单击 Tables 然后选择 Import XML definitions…

    图 20. 导入 XML 定义
    显示如何导入 XML 定义的屏幕截图

  7. 找到该文件,并将文件类型更改为 *.*,然后在 DELIM12 文件中单击 Open
  8. 单击 Finish 导入第二个表的定义:

    图 21. 完成 XML 导出
    显示如何完成 XML 导出的屏幕截图

    DELIM2 表将显示在 DELIM1 表的下方:



    图 22. 显示表向导
    显示表向导的屏幕截图

在进入下一步之前,使用 NAV_UTIL 测试到主数据源的连接。确保您能够从主 DELIM1 和副表进行选择。DELIM2 是空的,但您能够看到它。使用 nav_util 工具按照以下说明进行测试:

  1. 转到 c:\Program Files\Attunity-5.0\bin(或其他安装目录)。
  2. 输入 nav_util execute DELIM

    图 23. 列表输出
    显示列表输出的屏幕截图

  3. 输入 select * from DELIM1;

    图 24. 选择 DELIM1 输出
    显示选择 DELIM1 输出的屏幕截图





回页首


定义 ODBC 数据源

现在,我们已经为定义 ODBC 数据源做好准备,完成定义之后,InfoSphere Federation Server 就可以访问它们了。

  1. 转到 Start > Control Panel > Administrative Tools > Data Sources (ODBC)
  2. 高亮显示 System DSN,然后单击 Add…

    图 25. ODBC Data Source Administrator
    ODBC Data                             Source Administrator 的屏幕截图

  3. 高亮显示 Attunity Connect Driver,然后单击 Finish

    图 26. Attunity Connect Driver
    显示如何选择 Attunity Connect Driver 的屏幕截图

  4. 在第一个屏幕中填入名称 (DELIM),然后单击 Next

    图 27. Attunity DSN 属性
    Attunity DSN 属性的屏幕截图

  5. 采用默认配置,然后单击 Next

    图 28. Attunity Binding
    Attunity Binding 窗口屏幕截图

  6. 勾选复选框 Select default data sourceSingle,然后单击省略号 (...) 按钮选择数据源:

    图 29. Attunity Extended Properties
    Attunity Extended Properties 窗口屏幕截图

  7. 单击加号 (+) 展开数据源,然后高亮显示您的数据源 (DELIM) 并单击 OK

    图 30. 浏览查找数据源
    显示如何浏览查找数据源的屏幕截图

  8. 单击 OK 完成该步骤:

    图 31. ODBC Administrator > Finish
    ODBC Administrator 屏幕截图





回页首


将数据源定义到 InfoSphere Federation Server

现在,让我们将两个分隔文件定义到 InfoSphere Federation Server。(本文假设在进入下一步之前 InfoSphere Federation Server 已经安装并且正常运行)。然后,您将把这些文件与 ODBC 包装器关联起来,从而让 InfoSphere Federation Server 能够使用 ODBC 从这些文件提取数据或向其中插入数据。

  1. 在 DB2 Control Center 展开您的数据库和 Federation Objects,然后单击并选择 Create Wrapper

    图 32. Control Center
    DB2 Control Center 的屏幕截图

  2. 选择 ODBC 包装器类型,然后为您的包装器填入名称 (DELIM):

    图 33. Create Wrapper
    显示 Create Wrapper 窗口的屏幕截图

  3. 单击 Settings 选项卡。
  4. 将 DB2_FENCED 的值更改为 “Y”,然后单击 OK 保存设置:

    图 34. 包装器设置
    显示如何指定包装器设置的屏幕截图

  5. 展开该包装器并右键单击 Server Definitions,然后选择 Create...

    图 35. 创建服务器定义
    显示如何创建服务器定义的屏幕截图

  6. 然后,您可以看到一些服务器,并选择您所需的服务器。单击 Discover… 按钮:

    图 36. 创建服务器定义
    显示如何创建服务器定义的屏幕截图

  7. 对于当前选择的对象,取消选择所有复选框,然后选择所需的数据源:

    图 37. 服务器选择
    服务器选择屏幕截图

  8. 单击 Properties… 按钮,然后单击 Settings 选项卡。
  9. 确保勾选 PUSHDOWNDB2_MAXIMAL_PUSHDOWN 复选框,将其作为服务器并将 “N” 值改为 “Y”:

    图 38. 服务器设置
    显示如何选择服务器设置的屏幕截图

  10. 现在,您需要将本地用户 ID 映射到在 Attunity Studio 中使用的 NAV 用户 ID。从 Object 视图右键单击 User Mapping,然后选择 Create

    图 39. 创建用户映射
    显示如何创建用户映射的屏幕截图

  11. 单击希望用于本地登录的用户,并通过单击向右箭头 (>) 按钮将其移动到第二个面板,然后单击 Settings 选项卡:

    图 40. 用户定义
    用户定义屏幕截图

  12. 现在,在 Settings 文件夹中,填充将用于 Attunity 的用户 ID 和密码。在这个例子中,用户 ID 和密码都为 “nav”:

    图 41. 用户设置
    用户设置屏幕截图

  13. 单击 OK 完成设置。
  14. 现在,您需要创建别名。右键单击 Nicknames,然后选择 Create...

    图 42. 创建别名
    显示如何创建别名的屏幕截图

  15. 单击 Add,然后填充远程模式 (public) 和远程表名 (DELIM1),完成之后单击 OK

    图 43. 添加第一个别名
    显示如何添加第一个别名的屏幕截图

  16. 重复相同的步骤为 DELIM2 添加第二个别名:

    图 44. 添加第二个别名
    显示如何添加第二个别名的屏幕截图

创建别名的其他方法

您还可以使用 Discovery 查找和创建别名。

  1. 右键单击 Nicknames 然后选择 Create
  2. 单击右边的 Discover...
  3. 图 45 显示了这个步骤的屏幕截图,从该处可以填写用户 ID(nav)和密码(nav):

    图 45. 发现别名
    显示如何发现别名的屏幕截图

  4. 完成之后单击 OK
  5. 检查您需要定义的别名,然后单击 OK

    图 46. 选择别名
    显示如何选择别名的屏幕截图





回页首


提取数据并去除身份信息

在这个小节中,使用 IBM Optim 定义一个提取文件(使用访问定义文件),然后使用定义的屏蔽算法从 DELIM1 提取数据,并将数据从提取文件插入到 DELIM2。

  1. 启动 Optim。
  2. 选择 Options > Product…

    图 47. 启动 Optim
    显示如何启动 Optim 的屏幕截图

  3. 输入您的 Optim 密码(optim),然后选择 OK

    图 48. Optim 密码
    显示如何输入 Optim 密码的屏幕截图

  4. 单击 Database
  5. 勾选复选框 Allow OPTIM PK/Rels on DB Views,然后单击 OK。(选择 Allow Primary Keys and Relationships on Database Views 允许 Optim 访问数据库中的视图)。

    图 49. Optim 数据库选项
    Optim 数据库选项屏幕截图

  6. 要开始提取过程,请选择 File > New > Extract

    图 50. 开始提取
    显示如何开始提取的屏幕截图

  7. 填充 Description 字段(对于记住它的用途很有用),为新的提取文件指定一个名称,为访问定义选择 Named 单选按钮,并输入一个访问定义名称,然后单击访问定义编辑器的图标(跑步者图标右边第二个;图 51 已圈出):

    图 51. Extract Request Editor
    Extract Request Editor 的屏幕截图

  8. 单击 Start Table 浏览列表:

    图 52. 浏览 Start Table
    显示如何浏览 Start Table 的屏幕截图

  9. 高亮显示您的主分隔文件表 (DELIM1),单击 Select,然后关闭访问定义,并保存:

    图 53. 选择 start 表
    显示如何选择 start 表的屏幕截图

  10. 单击跑步者图标按钮提取数据。
  11. 如果没有出现 NO RUNSTATS 消息屏幕,请单击 Proceed。您应该会看到类似于图 54 的屏幕,它包含来自表的统计数据:

    图 54. 统计数据报告
    显示统计数据报告的屏幕截图

  12. 关闭提取窗口,并将提取名称保存为 DELIM11。
  13. 为了使用屏蔽进行插入,请选择 File > New > Insert 并填充以下关于插入的字段:
    • Description:插入 delim22
    • Source File:DELIM11.xf(原文件就是刚才提取的文件)
    • Control File:Text1.cf
    • Table Map Name:DB2ADMIN.DELIM22(表映射是新的,您将编辑它)


    图 55. 插入请求
    插入请求的屏幕截图 - Insert Request Editor

  14. 通过单击表映射编辑器图标(跑步者图标往右第二个)编辑表映射。表映射用于定义您将如何屏蔽列。您可以在 Optim 的基础函数中进行选择(例如 SUBSTRING),或使用用于屏蔽信用卡号的更复杂算法。

    图 56. Insert Request Editor
    Insert Request Editor 屏幕截图

  15. 使用限定符和新的列映射填充表映射。
  16. 填充 Column Map ID 和列映射名(在 Column Map 或 “LOCAL” 下),然后右键单击列映射并选择 Open Column Map。确保将目标表更改为新的表 (DELIM2)。

    图 57. Table Map Editor
    Table Map Editor 屏幕截图

  17. 通过在包含 COL3 的字段中输入下面的内容可以屏蔽列 3:SUBSTR(COL3,1,5)

    图 58. 屏蔽列
    显示如何屏蔽列的屏幕截图

  18. 关闭并保存列编辑器,然后关闭表映射编辑器。
  19. 单击跑步者图标对第二个分隔文件执行插入:

    图 59. 运行插入请求
    显示如何运行插入请求的屏幕截图

    应该会出现一个统计数据屏幕,详细显示插入的内容:



    图 60. 插入统计数据
    插入统计数据的屏幕截图

  20. 从第二个分隔文件选择,或通过浏览找到该文件,看看是否发生了屏蔽。(注意,列映射的子字符串简化了输出)。
    C:\flat>type delim2.txt
         "DAN","222","PRINC"





回页首


结束语

基于生产数据的高质量测试数据是测试策略的重要组成部分。然而,有意或者无意地将隐私数据用于测试可能会带来严重的后果。Optim Test Data Management 和 Data Privacy Option 的结合提供了一个优秀的解决方案,它不仅能够生成足以反映业务对象的适当测试数据库,而且还能够使用各种算法去除隐私数据的身份信息。

本文展示了如何使用 InfoSphere Federation Server 将文本文件映射到表来扩展这些功能,从而可以通过 Optim Test Data Management 和 Data Privacy Solution 的强大功能提取文本文件中的隐私数据并去除其身份识别信息。





回页首


致谢

特别感谢 Tim Smith 和 Kathy Zeidenstein 为本文提供技术指导并进行了编辑。



参考资料

学习

获得产品和技术

讨论
  • Optim LUW 论坛:和已经在 Optim LUW 产品组合中实现了这些解决方案之一的人员分享新想法和经验。

  • Optim z/OS 论坛:和已经在 Optim z/OS 产品组合中实现了这些解决方案之一的人员分享新想法和经验。

  • Integrated Data Management 专家博客:查找有关以下主题的独特见解、建议、提示、技巧和经验,包括数据建模、数据库应用程序开发、数据库管理、性能监控等等。

  • 参与 developerWorks blogs 并加入 developerWorks 社区。


关于作者

Dan Callahan

Dan Callahan 是 Information Management 团队中关注 DB2 的高级认证 IT 专家,他研究所有运行 DB2 以及与 DB2 集成的产品和平台。他于 1987 年作为 MVS 系统程序员/数据库分析员加入 IBM,现在主要关注 DB2 for Linux, UNIX, and Windows 以及任何与 DB2 集成的产品。他还在中国和德国讲授关于 Information Management 软件产品组合的各种主题。




对本文的评价








IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款