对于DevOps来说,既然要实现业务敏捷,其除了要面临前面章节述及的传统开发安全管理方法的挑战外,还要面临将敏捷理念扩展到软件运营过程的安全问题。只有实现开发、运营全过程的有效安全管理,企业才能真正地实现价值的端到端流动。
具体来说,DevOps追求的是持续集成、持续交付、持续部署,整个过程不仅要实现业务价值的快速交付,也要达到安全合规要求。下面从文化、业务以及技术3个角度介绍DevOps的安全挑战。
1)安全合规团队与开发、运营团队的文化冲突。部门之间的隔阂让开发和安全团队难以进行高效的协作。DevOps打破了原有的开发团队和运营团队的孤岛状态,实现开发和运营团队的高效协作。但是安全团队怎样和开发运营一体化团队协作,安全团队什么时候介入,安全问题怎么划分等是随之而来的挑战。
2)基础设施和架构的转变带来交付速度和安全要求难以平衡。DevOps的引入、开发技术的创新势必会加快对用户需求响应的速度和软件产品的交付速度。在安全层面,一方面会因为新技术如容器、API等的引入而带来新的安全风险,另一方面会因为快速迭代而难以平衡开发团队对速度的追求和安全团队对安全的要求。
3)DevOps技术自动化和传统安全技术自动化匹配度低。DevOps希望采用自动化的工具提高持续集成、持续交付以及持续部署速度,但是传统的安全工具检测时间长、误报率高、人员介入频繁等弊端,导致无法柔和、低侵入地嵌入现有的开发流程,强行结合必定导致产品交付周期延长,业务部门和安全部门的矛盾加剧,从而无法发挥DevOps的优势。
综合来看,在DevOps引入过程中,我们不仅要考虑DevOps给企业带来的便利,也要考量DevOps带来的一些挑战。安全合规要求是众多挑战中的重点之一,因为企业最终不只是将软件产品快速交付,更重要的是将安全可靠的软件产品快速交付。