1.1.3 DevSecOps的重要组成
通过对DevSecOps核心理念的了解,读者对DevSecOps所包含的内容有了初步的印象。那么,当我们谈论DevSecOps时,它具体包含哪些内容或组成部分呢?这将是本节讨论的内容。
从前文中读者了解到,DevSecOps和其他安全模型一样是一个安全工程实践框架。作为一个框架或体系,在其落地过程中,通常由如下内容构成,如图1-5所示。
图1-5 体系构成示意图
一个框架或体系的落地,其基本构成一般包含管理方针/政策、过程参考/模型、操作指南、模板/工具4个部分,DevSecOps的体系落地自然也不例外。不同的是,在构建这些体系能力时,DevSecOps依托已有的DevOps体系来构建,将安全融入其中。下面,我们为DevSecOps在这4个部分中所承载的内容,做简单的说明。
•管理方针/政策。管理方针是DevSecOps工作开展的实施总纲,需要明确DevSecOps的适用范围、总体目标、运转模型、关键岗位与职责、风险准则、组织保障等,为整个DevSecOps工作的开展提供原则性指导纲领,一般由《DevSecOps管理办法》和《DevSecOps管理手册》组成。
•过程参考/模型。过程参考是DevSecOps顶级程序文件,用于定义DevSecOps的生命周期模型、模型中各个流程的输入输出、关键活动、度量指标,以及保障其落地相匹配的组织运转模式、人力模型等。一般由《DevSecOps规范》《DevSecOps基本要求》《DevSecOps实施指南》等文件构成,在部分大型集团企业中,对于过程参考,也会划分成两级文件,即顶级过程参考文件、专项过程参考文件。
•操作指南。操作指南是DevSecOps体系落地过程中,被各参与方使用最多的文件类型,主要由DevSecOps总体参考设计和专项参考设计指南构成,如《DevSecOps总体参考设计指南》《安全架构设计指引》《云原生安全操作手册》等,是指导DevSecOps工作的各个参与方开展规范操作的作业指导手册。
•模板/工具。模板/工具在DevSecOps中主要起到两方面作用:一方面是为了保障DevSecOps中各个关键活动及其输入输出的规范性而提供的标准模板文件,来定义输出产物的一致性;另一方面是为了提高DevSecOps的执行效率,统一建立工具平台支撑,加快DevSecOps落地。
从以上4个部分的构成我们可以看出,DevSecOps是一项体系性的工作,其组成部分包含管理制度、操作流程、组织保障等,涵盖了管理、技术、人员三方面的关键要素,这与其他管理体系是一致的。
在实际落地中,很多企业会根据自身的实际情况,对上述4个构成部分进行裁剪。或者说对上述4个构成部分之间的关系不做严格的拆分,而是从落地保障层面构建DevSecOps体系的组成。如图1-6所示。
图1-6 DevSecOps体系落地构成示意图
图1-6中,把DevSecOps体系文件和管理要求相关的内容放在第一层,把DevSecOps过程执行和落地运营放在第二层,把平台工具的支撑放在第三层。突显执行过程和平台支撑的重要性,并把流程管理、技术规范、组织运转等融入平台中去,通过平台之上的DevSecOps运营,推动整个DevSecOps体系的落地。