两位行业专家总结了在构建支持星巴克移动应用所需的团队和流程过程中的一些经验和教训。
在最近的互联网安全会议上,两位帮助星巴克建设一个大型云计算项目的安全和合规负责人发表了演讲。几年前,星巴克要求合规自动化初创公司Shujinko的创始人马特·威尔斯(Matt Wells)和斯科特·施万(Scott Schwan)为他们建立必要的团队和流程,以支持星巴克开发的移动应用,采用完全符合支付卡行业(PCI)的安全云架构,并根据互联网安全中心(CIS)设定的标准进行衡量。
Shujinko的首席技术官马特·威尔斯(Matt Wells)解释道,“我们公司的20名工程师在大约9到12个月内构建了一个高度自动化、可扩展和可重复的环境。星巴克可以支持他们想要推出的所有产品。基于此,他们开始将其他应用程序转移到公共云上。”
Shujinko的首席技术官马特·威尔斯(Matt Wells)和首席执行官斯科特·施万(Scott Schwan)深入研究了他们在星巴克的工作细节,并分享了他们在如何将合规性融入企业云计算架构以及在此过程中扩展开发团队(DevSecOps)方面的技能。在这方面,他们采用了自己的语言并提出了一些意见。
1.将合规要求放入“完成”的定义中
Matt Wells说,“对于一个工程团队来说,在‘完井’的定义中包括合规要求是非常重要的。大多数时候,团队没有尽早开始对话和讨论。因此,“完整”的定义不包括与合规性或安全性相关的内容。因此,为团队建立这种联系极其重要。”
2.让工程师直接负责保护环境
Matt Wells说,“在特殊情况下,我们正在构建一个完整的云平台,我们对平台的安全性负责。为了能够尽早设定期望,也就是说,‘这很重要:如果你想加入这个团队,你将使用一些非常好的技术,但是你必须对安全性和合规性负责。如果没有通过审核,这将是我们团队的责任,而不是安全团队合规团队的责任。“3.在云计算工程团队和安全团队之间建立紧密的联系
4.在构建之前定义安全性程序和要求
5.将安全专业知识嵌入并培训工程团队
6.遵照法规自动加固环境
我们认为在扩展前设置这些程序很重要,因为随着工程师扩展基础设施,有时这些程序会影响他们构建某些技术的方式。对我们来说,这是设计阶段。”
7.自动化护栏
8.将基于合规性的测试构建到单元测试中
9.尽可能使用云原生控件
10.让工程师在差距评估中扮演重要角色
斯科特·施万(Scott Schwan)表示,“我们已经使用了支付卡行业所需的能够扫描新环境的供应商。因此,在运行脚本之后,我们立即运行脚本,并向他们提供报告。如果他们在支付卡行业仍然遇到问题,我们将确保他们返回sprint,将他们添加到Terraform中的基础架构代码中,这样他们下次设置时就不会遇到类似的问题。
这是在AWS拥有他们现在拥有的一些工具和服务之前。在那之前,我们必须建造它,因为那不是他们所拥有的。我们确保它融入团队精神。当时,CIS基准测试被用来获得良好的反馈,快速纠正并将其添加回代码中。”
Scott Schwan说,“我们总是需要验证合规性代码是否在运行,其中一些代码通过了基于合规性的测试。我们始终确保及时采取行动不会破坏合规性。
我们开始为代码编写单元测试,不仅针对函数,还针对安全性和合规性。我们希望确保团队每次部署新服务时都测试合规性标准。他们是否设置了密码策略并启用了日志记录?它是跨职能的。编写这些单元测试的不仅仅是安全工程师。团队成员对此也负有责任。”
Matt Wells说,“我们在这里做的一件事就是尽可能多地使用云本机控件。云的诞生并不意味着在云中提供控制。相反,它使用内置于云中的控件,这有时意味着来自云计算提供商,有时来自提供商。这完全取决于具体情况。”
Matt Wells说,“在构建阶段结束时,我们专注于完成该计划,以确保我们认为正常工作的内容是有效的。它可以在大多数情况下实现,但是在某些情况下,我们必须改变程序。最重要的是,我们实际上已经完成并验证了程序。
这需要进行差距评估。我们把它交给了建造它的工程师,并在团队中分配了评估责任。他们比其他人更了解环境,因为他们拥有环境并说,‘是的,我们确实有差距,我们必须解决这个问题。’”
极牛网精选文章《在云计算架构中按设计构建法规遵从性的10个技巧》文中所述为作者独立观点,不代表极牛网立场。如若转载请注明出处:https://geeknb.com/4159.html