1.3.3 DoD实践型模型
DoD是美国国防部英文名称Department of Defense的缩写,2019年美国国防部为了推动国防部企业DevSecOps的落地,发布了一系列的DevSecOps实践规范。因为它是一套独立的、成体系化的指导DevSecOps落地的文件,所以在这里把它归类为DevSecOps的实践型参考模型。
1. DoD DevSecOps体系文件构成
在美国国防部的官网上,对外公开了其DevSecOps体系文件的目录,从这份目录来看一下其文件构成,如图1-15所示。
图1-15 DoD DevSecOps体系文件目录
从图1-15的目录结构可以看出,整个体系文件由DevSecOps V2.1规范说明、DevSecOps实施指南、DevSecOps参考设计、云原生接入、开源软件安全5个部分组成,每一个部分又分别包含不同的文件。从体系文件管理上来看,DevSecOps V2.1规范说明属于一级文件,定义了DevSecOps总体方针、策略和基本操作要求;DevSecOps实施指南属于二级文件,主要定义了DevSecOps中的关键活动、工具及操作指导;DevSecOps设计参考、云原生接入、开源软件安全均属于三级文件,为具体的安全设计提供参考指引。
从当前业界已公开的DevSecOps资料来看,DoD DevSecOps体系文件具有很高的实践参考价值,可以作为大多数企业开展DevSecOps工作的首选指导书。
2. DoD DevSecOps实践价值
美国国防部为了能够更迅速地应对安全战争与威胁,让新功能快速进场,通过内嵌安全到应用程序来解决此类问题,决定使用DevSecOps模型。意图通过DevSecOps文化,改变国防部IT部门中各个不同组织之间的协作流程、生产制造和运营维护,统一标准和要求,以加快从需求分析到成品交付的过程。
这套文件的技术栈是为美国国防部定制的,从图1-15公开的文件目录中包含云原生接入点、K8s、AWS等也可以看出,此技术栈不是面向公众全员的,仅是面向美国国防部企业的。但这份文件中涉及的技术概念、DevSecOps能力构成、落地保障措施等都将对DevSecOps的大范围应用产生深远的影响。
文件中首次对DevSecOps生态系统做了更具体的解释,除了包含一直被业界推崇的黄金管道之外,还有软件工厂、安全工具链及周边支持生态系统,如图1-16所示。
图1-16 DoD DevSecOps生态系统
在工具链方面,文件中直接用DevSecOps替代DevOps,或者说在这份文件里认为,DevOps的未来就是DevSecOps。它给出更大范围的活动与工具选择的概览,以及活动的输入、输出、活动收益等,涵盖计划、开发、构建、测试、发布、交付、部署、操作和监控的每个阶段。在实践保障方面,文件中阐述了组织、流程、技术和治理为DoD DevSecOps的四大支柱,如图1-17所示。
在持续改进方面,文件定义了DoD DevSecOps的成熟度模型,对DevSecOps的能力一共划分为9个层级,如图1-18所示。
总之,作为第一份业界公开的DevSecOps落地实践资料,DoD DevSecOps实践型模型为业界提供了详细的参考资料,并从文件体系构建、技术路线选择、DevSecOps平台选型等多个方面为业界提供最佳实践参考样例。
图1-17 DoD DevSecOps的四大支柱
图1-18 DoD DevSecOps成熟度模型