构建一个可从数百万次 web 互动中收集数据的解决方案来评估合规性
David Harrison, Vishwas Chouhan, Umesh Kumar, Jeff Florentino, Vladislav Saling, 和 Senthil Nathan
目标
我们的企业有着数百万个网站页面, 客户每天都会浏览这些页面与我们互动交流. 只有以合规的方式收集有用的信息, 才能确保我们始终遵循一种基于 "原则" 的合规方法. 如果您的企业就是业界所说的那种典型企业, 即 40% 的 IT 都是 "影子"IT, 您能否保证在实践中充分践行了这些原则? 在本文中, 我们将提供一种可从日均数百万次 Web 互动中收集数据的解决方案来评估合规性.
当今局势
如今, 企业通常每天都会发生少则成百上千, 多则数百万次客户互动. 客户的实际 Web 体验是复杂的, 它涉及许多不同的业务流程和由许多组织创建的 Web 站点. 客户所见内容是衡量企业成功与否的主要指标. 能够评估客户实际看到的合规情况是非常值得投资的一个项目. 这涉及到处理大量数据, 并提取关键的合规与不合规指标. 就与客户接触的结果而言, 一种情况是仓促行动, 未能严格遵守相关原则, 也就是交付 MVP 模式的产品, 然后根据市场需求不断迭代; 另一种情况就是收购产品或使用第三方工具. 尽管一流的 DevOps 链有许多方式来扫描解决方案的零碎部分, 但是由于第三方工具可能在一种配置中兼容而在另一种配置中不兼容, 从而导致最终解决方案中的某些元素根本无法扫描. 我们还需要一种信息收集方法, 不必依赖开发人员即可打造一流的 DevOps 工具链. 我们需要一个完整的端到端解决方案, 它能够基于客户在网站上的浏览历程提供洞察, 但却不会拖慢客户的用户体验, 同时也不必依赖具体的开发人员来扫描解决方案的各个部分. 数据采集是一个广泛存在的大数据问题, 而您需要在浩瀚的数据海洋中寻找定海神针.
我们的解决方案
概括地讲, 我们的方法是先将一段 JavaScript 嵌入到设计模板中, 用于捕获将要执行的脚本. 此脚本会生成大量数据, 然后再对这些数据加以整理并持久保存. 服务器端处理部分包括实施更深入的规则, 映射规则违规的补救键, 持久记录所遇到的违规, 以及映射到主数据, 从而加强合规性分析和最终用户对指标仪表板的使用.
点击查看大图
这种数据采集方法将 Web 资产合规验证嵌入设计系统中, 进而能够从客户角度更主动地收集数据, 减少了各团队设置具体扫描过程的需求. 设计系统体现为可执行的模板, 它为整个企业提供了统一的外观. 可执行模板采用统一设计的价值在于, 它提供了一种有凝聚力的直观用户体验, 产品经理利用久经考验的设计概念和可执行模板, 而产品开发团队只需对模板稍加修改或完全不用修改即可实现这些概念. 合规环境十分复杂, 采用此方法可以有效地揭示产品经理对行为准则的遵守程度. 此外, 我们可以结合其他来源的更多数据, 进一步丰富合规视图. 我们可以添加主数据, 所有权管理链和其他扫描结果, 从而提供更完整的视图.
设计系统和可执行模板是一组复杂的内容和库, 可为相关产品提供一种通用且高效的 Web 用户体验. 随着我们的设计系统和可执行模板被单页应用 (SPA, 大多数产品的基础) 所采用, 这种方法所提供的独特解决方案适用范围非常之广, 缺乏丰富的 SPA 最终用户互动知识的扫描工具根本无法企及. 很多时候, 虽然通过扫描发现登录页是合规的, 但我们还需要了解应用以及将解决方案与最终用户联系起来的其他生态系统深处到底发生了什么.
设计模板中嵌入的 JavaScript 可以使用与网页相同的兼容技术, 这有助于确保我们仅采集经过允许或得到许可的数据. 此脚本可使用 Akamai 位置 API 和 TrustArc Cookie 许可值, 确保我们不会从明确拒绝收集数据的数据主体收集数据, 也不会从必须明确同意才能收集数据的地理位置收集数据. 此脚本可执行高级获取规则, 并将其分析的有效内容发送给相关服务, 该服务则将数据放入 Kafka(或 IBM Message Hub)队列中. IBM Streams 实现可从 Kafka 队列获取该数据, 支持相关服务对该临时事务有效内容执行服务器端规则. 服务器端处理部分包括实施更深入的规则, 将修复键映射到违规行为, 持久记录所遇到的违规, 以及映射到主数据, 从而加强合规性分析和最终用户对指标仪表板的使用. IBM Streams 和服务器端规则的执行结果会存储在 Postgres 持久存储库中. 通过实现 Elastic Search 促进快速且灵活的查询, 并在此基础上构建一个服务层, 用于公开可在指标仪表板上显示的 API. 该服务层用于添加内容和链接, 违规解释和修复方法.
结束语
我们的企业需要一种方法来评估最终客户对我们的基于原则的合规方法的看法. 尽管有许多 "扫描工具" 可供开发人员使用, 但这些扫描工具只是众多可用工具的冰山一角. 我们需要确认将扫描工具嵌入 DevOps 管道的最佳做法, 以避免部署不可信的解决方案, 还要认识到这些扫描不会评估最终客户使用的整体解决方案. 客户的端到端体验很复杂, 具有许多配置 / 集成变体; 因此, 我们需要以最终客户的视角来测试解决方案的执行情况.
我们设计的方法将 Web 资产合规性验证嵌入到设计系统中, 缓解了各个团队设置特定过程来运行扫描的需求. 合规环境非常复杂, 此方法是一种展示产品经理在多大程度上追求有原则行为的有效方法. 此外, 我们可以结合使用来自其他来源的更多数据, 以丰富合规性视图.
我们可以利用这一合规态势来建议应该拦截的 Web 资产, 从而降低 IBM 品牌受损的不合规活动的风险. 这个解决方案不是一种 "一劳永逸" 的实现, 而是会随着其他许多隐私法律和安全最佳实践变得更加具体, 而且也会扩展在前端用户的浏览器执行中可以看到检测的元素的功能.
本文翻译自: Enable real-time streaming big data for compliance assessment(2018-09-26)
评论
来源: http://www.ibm.com/developerworks/cn/analytics/library/enabling-real-time-streaming-big-data-for-compliance-assessment/index.html