【编者按】作者 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. .net转java了

    公司技术部门  要求.net全体转向java 本来要看看.net core的 看来是没必要了  现在国内互联网公司.net是越来越少  不知道为何会这样 不过java的生态圈 确实是很强大 也很丰富 ...

  2. HTML+CSS学习笔记(3)- 认识标签(2)

    HTML+CSS学习笔记(3)- 认识标签(2) 1.使用ul,添加新闻信息列表 在浏览网页时,你会发现网页上有很多信息的列表,如新闻列表.图片列表, 这些列表就可以使用ul-li标签来完成.ul-l ...

  3. 20141014--判断语句switch case

    1. switch case break(跳出) 距离break 最近的大括号,跳出这个大括号,执行大括号之后的命令 switch case 必须与 break 一同使用. 分别输入月份 几号 输出是 ...

  4. Bootstrap学习笔记(一) 排版

    Bootsrap是一款优秀的前端开发框架,我从慕课网上开始学习Bootstrap,以下我学习过程中的一些笔记及代码. 首先学习排版: 从Bootstrap网站下载Bootstrap3中文文档(V3.3 ...

  5. 小黑的镇魂曲(HDU2155:贪心+dfs+奇葩解法)

    题目:点这里 题目的意思跟所谓的是英雄就下100层一个意思……在T秒内能够下到地面,就可以了(还有一个板与板之间不能超过H高). 接触这题目是在昨晚的训练赛,当时拍拍地打了个贪心+dfs,果断跟我想的 ...

  6. C# 代理HTTP请求

    目的: 应该有不少人需要去某些网站不停爬取数据,有时会使用HTTPRequest一直请求某个网站的某个网址.有的网站比如 QQ空间,赶集网(这是我测试的网站),不停刷新会提醒你的账号异常,可能会查封你 ...

  7. 韩顺平细说Servlet视频系列之tom相关内容

    韩顺平细说Servlet视频系列之tom相关内容 tomcat部署项目操作(注意:6.0版本以后的支持该操作,5.x版本需要另外配置?待验证!) 项目发布到tomcat的webapps文件下,然后启动 ...

  8. 构造函数继承关键apply call

    主要我是要解决一下几个问题: 1.        apply和call的区别在哪里 2.        apply的其他巧妙用法(一般在什么情况下可以使用apply) 我首先从网上查到关于apply和 ...

  9. Class<Object>与Class<?>有何区别呢

    1.? 和 Object 差不多,不过还是有差别.在这种情况下: class<? extends SomeClass> , Object就不能用了 Object是一个具体的类名,而?是一个 ...

  10. 1090. Highest Price in Supply Chain (25)

    时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue A supply chain is a network of r ...