【编者按】作者 Aaron Volkmann 是 CERT Division 高级研究员,在本文中,他对 DevOps 自动化违反 SOX 法案进行了阐述。同时,也简单的提出了如何通过 CI 来避免这个问题,本文系OneAPM工程师翻译。

为了解决类似 Enron、Worldcom 以及 Tyco 等公司暴露出的财务欺诈丑闻,21世纪初期美国国会颁布了萨班斯-奥克斯利法案(SOX Act)。SOX 法案要求上市公司通过一系列内部控制手段,确保向投资者披露正确的财务信息。在一家 IT 公司中,遵守 SOX 方案的主要准则之一就在于:确保没有任何员工可以单方面地在生产环境中变更软件代码。DevOps 的自动化技术,如持续集成(CI)持续交付(CD)、基础设施即代码(IaC)从表面上看,似乎已经不再遵守 SOX 法案了。本文将会探讨 DevOps 自动化如何能够让公司在保持兼容性的同时,还能从实际上提高其合规程度。

当软件控制进程从传统的手动方式转换为更加自动化的过程时,很多公司都担心检查会被忽略,平衡被打破的同时也造成公司违反 SOX 法案。在图一中所展示的传统场景中,一名开发者对某个软件进行变更后,先将代码提交进入评审流程,然后通过手工或系统进行打包准备部署。新版本被提交到变更控制流程中,准备部署到生产环境中。在管理者批准将变更实施到生产环境之后,由生产服务工程师进行部署。尽管管理该过程有很多办法,但仍无法确保评审的代码版本就是部署到生产环境的那个版本。

通过使用 CI 服务器(如图二所示),software shop 可以记录与追踪每个源代码文件的哪个版本构成了软件的相应版本。在持续部署的过程中会有停顿,人们在此时对变更进行检查,准备投入生产环境;任何未经授权的变更都不能通过该环节。

CI 使得对打包软件所使用源代码文件的确切版本进行记录与审核成为可能。software shop 同样可以具备集中自动化测试的能力,这样就能一一扫描每个软件 build,寻找安全缺陷。

另一个可能抵制自动化的领域是服务器基础设施配置。在 SEI,由于需要管理员手动查看服务器build,经常会有人反对使用 IaC 作为服务器配置。在使用 IaC 工具(Chef,Docker 或者Puppet)时,可以将基础设施配置脚本作为可验证、可测试、可信赖的软件构件,相信它能够产生可靠且能够复制的结果。IaC 让开发者有机会集中精力开发和测试配置脚本,同时允许自动化抄送测试服务器镜像,减少人为错误的风险。

每家公司甚至各公司内的每个科技/商业领域都可能会有独特的需求和限制。在特定领域,达标的自动化水平可能也会不同。通过仔细将机器布置到位,让自动化进程按部就班,这样一来控制、审核和保护公司资源的能力,还有确保遵守如 SOX 法案这样联邦法规的可能性只会增加。

原文链接:A DevOps a Day Keeps the Auditors Away (and Helps Organizations Stay in Compliance with Federal Regulations such as Sarbanes-Oxley)

OneAPM 是应用性能管理领域的新兴领军企业,能帮助运维人员进行故障预警和定位,减少业务系统维护的工作量,同时还能提供可追溯的性能数据,量化运维部门的业务价值。想告别加班熬夜,欢迎免费注册使用!

谈 DevOps 自动化时,也应该考虑到 SOX 等法案的更多相关文章

  1. DevOps - 自动化工具

    章节 DevOps – 为什么 DevOps – 与传统方式区别 DevOps – 优势 DevOps – 不适用 DevOps – 生命周期 DevOps – 与敏捷方法区别 DevOps – 实施 ...

  2. 技术沙龙|京东云DevOps自动化运维技术实践

    自动化测试体系不完善.缺少自助式的持续交付平台.系统间耦合度高服务拆分难度大.成熟的DevOps工程师稀缺,缺少敏捷文化--这些都是DevOps 在落地过程中,或多或少会碰到的问题,DevOps发展任 ...

  3. 沙龙报名 | 京东云DevOps——自动化运维技术实践

    随着互联网技术的发展,越来越多企业开始认识DevOps重要性,在企业内部推进实施DevOps,期望获得更好的软件质量,缩短软件开发生命周期,提高服务稳定性.但在DevOps 的实施与落地的过程中,或多 ...

  4. 浅谈.NET编译时注入(C#-->IL)

    原文:浅谈.NET编译时注入(C#-->IL) .NET是一门多语言平台,这是我们所众所周知的,其实现原理在于因为了MSIL(微软中间语言)的一种代码指令平台.所以.NET语言的编译就分为了两部 ...

  5. GeneXus DevOps 自动化构建和部署流程

    以下视频详细介绍了GeneXus DevOps自动化构建和部署流程,包括通过MS Bulid来管理自动化流程,自动化的架构,以及在GeneXus Server上使用Jenkins做为自动化引擎. 视频 ...

  6. Python测试开发-浅谈如何自动化生成测试脚本

    Python测试开发-浅谈如何自动化生成测试脚本 原创: fin  测试开发社区  前天 阅读文本大概需要 6.66 分钟. 一 .接口列表展示,并选择 在右边,点击选择要关联的接口,区分是否要登录, ...

  7. UI自动化时,解决selenium中无法点击Element:ElementClickInterceptedException

    在跑自动化时,页面上有2个下拉框,两个下拉框无论屏蔽哪一段都会成功,但是同时放开跑时会报错,百度给的解释是上面的下拉框元素覆盖了下面下拉框的元素定位,才会导致报错 百度的解决办法有2种: elemen ...

  8. 浅谈PHP自动化代码审计技术

    原文出处: exploit   欢迎分享原创到伯乐头条 0×00 由于博客实在没什么可以更新的了,我就把目前做的事情总结一下,当做一篇博客,主要是谈一谈项目中所运用的一些技术.目前市面上有不少PHP的 ...

  9. 浅谈DevOps

    DevOps: Development和Operations的组合,是一种软件开发方法,涉及软件在整个开发生命周期中的持续开发,持续测试,持续集成,持续部署和持续监控. 可以把DevOps看作系统开发 ...

随机推荐

  1. 如何将 select top 4 id from table1 赋值 给 declare @id1 int,@id2 int,@id3 int,@id4 int

    declare @id1 int,@id2 int,@id3 int,@id4 int ),) select @sickcode = sickcode,@sfrq =sfrq from tablena ...

  2. MySQL免安装版配置

    mysql版本:mysql-5.5.33-win32 1.解压免安装包到指定目录MYSQL_HOME2.cmd进入MYSQL_HOME\bin 注册mysql服务:mysqld --install M ...

  3. Swift项目开发实战-基于分层架构的多版本iPhone计算器-直播公开课

    Swift项目开发实战-基于分层架构的多版本iPhone计算器-直播公开课 本课程采用Q Q群直播方式进行直播,价值99元视频课程免费直播.完整的基于Swift项目实战,手把手教你做一个Swift版i ...

  4. YSPASYS 中小型企业简单员工评价考核系统

    背景:公司运营接近2年时间了,随着不断的有员工入职.离职,使用信息化管理员工各类信息是一件很有必要的事儿.诸如员工基本信息,内部公告,资产盘点,客户管理,工作周报,优秀员工评选,请假.外出.报销.采购 ...

  5. (转)mysql、sqlserver、oracle的默认事务的隔离级别

    1.mysql的默认事务的隔离级别:可重复读取(repeatable read); 2.sqlserver的默认事务的隔离级别:提交读取(read committed); 3.oracle的默认事务的 ...

  6. 移动端高清、多屏适配方案 [来源:http://div.io/topic/1092]

    Lovesueee 发布于 8 月前 移动端高清.多屏适配方案 背景 开发移动端H5页面 面对不同分辨率的手机 面对不同屏幕尺寸的手机 视觉稿 在前端开发之前,视觉MM会给我们一个psd文件,称之为视 ...

  7. rolling hash

    也是需要查看,然后修改,rolling hash, recursive hash, polynomial hash, double hash.如果一次不够,那就2次.需要在准备一个线段树,基本的线段树 ...

  8. Java权限讲解

    Java访问权限就如同类和对象一样,在Java程序中随处可见. Java的访问权限,根据权限范围从大到小为:public > protected > package > privat ...

  9. 实现android支持多线程断点续传下载器功能

    多线程断点下载流程图: 多线程断点续传下载原理介绍: 在下载的时候多个线程并发可以占用服务器端更多资源,从而加快下载速度手机端下载数据时难免会出现无信号断线.电量不足等情况,所以需要断点续传功能根据下 ...

  10. [转]PHP5.5安装PHPRedis扩展

    phpredis是个人觉得最好的一个php-redis客户端,因为其提供的function与redis的命令基本一致,降低的了学习成本,同时功能也很全面. 一.linux安装方法 phpredis下载 ...