0
点赞
收藏
分享

微信扫一扫

DevSecOps平台架构系列-微软云Azure DevSecOps平台架构

目录

一、概述

二、Azure DevOps和黄金管道

2.1 概述

2.2 Azure DevOps架构说明

2.2.1 架构及管道流程图

2.2.2 架构内容

2.2.2.1 Azure Boards

2.2.2.2 Azure Repos

2.2.2.3 Azure Test Plans

2.2.2.4 Azure Pipelines

2.2.2.5 Azure Application Insights

2.2.2.6 Azure Web Apps

2.2.3 总结

三、Azure DevSecOps关键安全组件

3.1 安全组件概述

3.2 安全组件内容图表说明

四、Azure DevSecOps平台架构

4.1 Azure DevSecOps平台架构图

4.2 Azure DevSecOps平台架构组成

4.2.1 CI/CD平台

4.2.2 云基础设施

4.2.3 安全工具链

4.3 Azure DevSecOps关键流程

4.3.1 Azure AD身份验证

4.3.2 触发CI/CD流水线


一、概述

微软Azure云的DevSecOps是在Azure DevOps基础上构建起来的,在介绍其DevSecOps平台架构之前,先来了解一下两个相关背景知识:Azure DevOps和黄金管道、Azure DevSecOps关键安全组件。

二、Azure DevOps和黄金管道

2.1 概述

一般来说,采用DevOps来作为研发管理实践是为了加快从需求到应用程序上线的速度,缩短开发周期,通过一致性管理流程和自动化管道,保障应用程序的开发质量。Azure云也不例外,不同的是,Azure云自己开发了一系列的DevOps服务或组件,用于应用程序开发生命周期的端到端管理,包括规划、项目管理、代码管理、制品生成、版本发布等

2.2 Azure DevOps架构说明

2.2.1 架构及管道流程图

2.2.2 架构内容

2.2.2.1 Azure Boards

项目管理工具,以敏捷开发模式支持项目组成员,以Kanban和Scrum方式规划、跟踪需求开发及代码缺陷问题等。

2.2.2.2 Azure Repos

源代码管理工具,提供git存储库或版本控制系统,如集成GitHub。

2.2.2.3 Azure Test Plans

测试管理工具,包含多种测试工具集,通过多种工具测试验证应用程序。

2.2.2.4 Azure Pipelines

持续集成和交付管道,为应用程序提供自动化生成和发布服务。

2.2.2.5 Azure Application Insights

Azure自研的APM服务,应用于各种应用程序的性能监控与管理。

2.2.2.6 Azure Web Apps

发布在Azure云上的Web应用服务,即通过研发流水线开发出来的软件或应用程序。

2.2.3 总结

基于此管道之上,各个团队遵循DevOps管理流程,依托DevOps Server服务和Azure云,构建更快速、更可靠的DevOps实践。

三、Azure DevSecOps关键安全组件

3.1 安全组件概述

在Azure云环境中,为了云上业务持续稳定地运行,Azure自研了一系列安全组件,这些组件构成了Azure安全的整体防护体系。在DevSecOps中,这些组件也可整合到管理流程中去,作为流程中的一个技术组件。下面,将对其中部分关键的安全组件做简要介绍,以帮助大家理解Azure DevSecOps架构。

3.2 安全组件内容图表说明

这些组件覆盖了Azure安全能力的多个方面,如身份认证与鉴别、威胁防护、合规管理、应急响应等。通过整合这些组件,依托DevOps管理流程来实现DevSecOps,必起到事半功倍的效果。

四、Azure DevSecOps平台架构

4.1 Azure DevSecOps平台架构图

4.2 Azure DevSecOps平台架构组成

4.2.1 CI/CD平台

对应于架构图中的GitHub、Azure Pipelines、Terraform三个工具。其中GitHub充当代码管理工具,Azure Pipelines触发CI构建和自动化测试,Terraform充当自动化编排,进行云基础设施管理,如管理Docker容器镜像、Kubernetes服务、应用程序网关等。

4.2.2 云基础设施

对应于架构图中Azure Pipelines右侧部分,重点为图中灰色框中的内容。主要由Azure Kubernetes Service、Application Gateway和Azure Cosmos DB等构成。

4.2.3 安全工具链

安全工具链在这张架构图中体现得并不明显,或者说,Azure将安全特性融入了其他的产品之中(这也是为什么在1.2节中先介绍Azure安全组件的原因)。在架构图中能看到显性的安全工具/组件有:GitHub Advanced Security、GitHub Open Source Security、Azure Key Vault、Application Gateway、Azure Monitor等。

4.3 Azure DevSecOps关键流程

4.3.1 Azure AD身份验证

  • 开发的代码主要托管在GitHub,当开发人员访问GitHub时,GitHub将调用Azure AD进行身份验证。
  • Visual Studio Code的云端联机开发环境是开发人员日常工作的重点工作空间,开发人员根据Azure Boards的需求和问题完成代码编写后,继续托管在GitHub上。

4.3.2 触发CI/CD流水线

  • 当开发人员提交代码后,GitHub Actions通过CI/CD流水线触发GitHub的安全检查GitHub Advanced Security和GitHub Open Source Security。
  • 安全检查通过后进入Pipline流水线。
  • 在Pipline中,代码编译、代码构建后,生成容器镜像,存储在Azure容器注册表中,以便Kubernetes服务发布时使用。
  • 在容器镜像正式发布之前,Azure Pipelines以Terraform为管理工具,对云基础设施,如Azure Kubernetes Service、Application Gateway、Azure Key Vault和Azure Cosmos DB等资源进行安全策略管理。
  • 使用Azure Monitor、Defender for Cloud进行持续监控。
  • 整个平台依托CI/CD管道和安全组件完成安全能力的覆盖。
  • 安全自动化主要依赖Pipline流水线和云原生基础设置的代码化管理。
  • 安全能力既有平台自研,也有外部集成,综合多方能力完成DevSecOps平台能力构建。
  • Azure AD、Azure Monitor、Defender for Cloud等安全组件作为基础安全能力,在安全运营中起到了决定性的作用;项目管理工具、测试管理工具、源代码管理工具等周边生态系统为整个DevSecOps平台能力的构建提供了底层基座。

最后附上Azure DevOps 官网的地址,有兴趣的可以自己去看看:

Azure DevOps Services | Microsoft Azure

好了,本次内容就分享到这,欢迎大家关注《DevSecOps》专栏,后续会继续输出相关内容文章。如果有帮助到大家,欢迎大家点赞+关注+收藏,有疑问也欢迎大家评论留言!

举报

相关推荐

0 条评论