Azure 上的安全开发最佳做法

此系列文章介绍了在为云开发应用程序时要考虑的安全活动和控制措施。 其中还说明了 Microsoft 安全开发生命周期 (SDL) 的各个阶段及生命周期各阶段中要考虑的安全问题和概念。 目标是帮助你定义可在生命周期的每个阶段中使用的活动和 Azure 服务,以便设计、开发和部署更安全的应用程序。

这些文章中提出的建议来自于我们在 Azure 安全性方面的经验以及我们客户的经验。 可以使用这些文章作为参考,来了解在开发项目的某个特定阶段应考虑哪些事项,但我们还是建议你至少从头到尾通读一遍所有的文章。 阅读所有文章可让你了解在项目早期阶段可能会忽视的概念。 在发布产品之前落实这些概念,可帮助你构建安全的软件、满足安全合规性要求并降低开发成本。

构建和部署安全的 Azure 应用程序,会涉及专业程度各不相同的软件设计人员、开发人员和测试人员,这些文章旨在为他们提供参考资源。

概述

对于任何应用程序,安全性都是最重要的方面之一,但提供良好的安全性并非易事。 幸运的是,Azure 提供了许多服务,可帮助你保护云中的应用程序。 这些文章介绍了可在软件开发生命周期各阶段实施的活动和 Azure 服务,以帮助你开发更安全的代码以及在云中部署更安全的应用程序。

安全开发生命周期

要遵循安全软件开发的最佳做法,就必须将安全性集成到软件开发生命周期的每个阶段(从需求分析到维护),而无论项目方法如何(waterfall、agile 或 DevOps)。 随着引入关注的数据泄露和运营方面的安全缺陷被利用等情况的发生,越来越多的开发人员理解了解决安全性问题是需要贯穿整个开发过程的。

在开发生命周期中,解决问题的时间越晚,那么解决问题要耗费的成本也就越高。 安全性问题也不例外。 如果在软件开发早期阶段漠视安全问题,那么后面的每个阶段可能会继承前面的阶段中存在的漏洞。 最终产品将会积累很多安全问题,还可能会发生数据泄露。 将安全性融入开发生命周期的每个阶段,会有助于及早发现问题,并且有助于降低开发成本。

我们按照 Microsoft 安全开发生命周期 (SDL) 的各个阶段来介绍活动和 Azure 服务,你可以利用它们在生命周期的各个阶段中完成安全软件开发实践。

SDL 各阶段包括:

Security Development Lifecycle

在这些文章中,我们将 SDL 的各个阶段划分为三类:设计、开发和部署。

让组织的安全团队共同参与

你的组织可能有正式的应用程序安全计划,用于在开发生命周期过程中自始至终为你提供安全活动方面的帮助。 如果你的组织有安全性和合规性团队,那么在开始开发应用程序前一定要请他们一起参与进来。 在 SDL 的每个阶段都要询问他们,是否存在一些被你忽视的任务。

我们理解,许多读者可能没有可以合作的安全性或合规性团队。 这些文章有助于为你在 SDL 各阶段需要考虑的安全性问题和决策提供指导。

资源

以下资源可用于了解有关开发安全应用程序的详细信息,以及帮助保护 Azure 上的应用程序:

Microsoft 安全开发生命周期 (SDL)–SDL 是 Microsoft 的一个软件开发过程,可帮助开发人员构建更加安全的软件。 它有助于在满足安全性合规要求的同时降低开发成本。

开放式全球应用程序安全性项目 (OWASP) - OWASP 是一个在线社区,它提供 Web 应用程序安全性领域的免费文章、方法、文档、工具和技术。

Microsoft 标识平台 - Microsoft 标识平台是由 Microsoft Entra 标识服务和开发人员平台演变而来。 它是一个全功能平台,包含身份验证服务、开源库、应用程序注册和配置、完整的开发人员文档、代理示例,以及其他开发人员内容。 Microsoft 标识平台支持 OAuth 2.0 和 OpenID Connect 这样的行业标准协议。

Azure 安全最佳做法和模式 - 一组安全性最佳做法,供你在使用 Azure 设计、部署和管理云解决方案时使用。 指导旨在为 IT 专业人员提供资源。 这可能包括构建和部署安全的 Azure 解决方案的设计人员、架构师、开发者和测试人员。

后续步骤

下面的文章中推荐了一些安全控制措施和活动,有助于设计、开发和部署安全的应用程序。