确定用于保护 YAML 管道的方法

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

请考虑采用增量方法来增强管道的安全性。 虽然实施我们提供的所有指导是理想的做法,但不要因为建议的数量而不知所措。 首先进行一些改进,即使无法立即解决所有问题。

安全相互依赖

安全建议是相互依赖的。 你的姿势依赖于你实施的特定建议,进而与 DevOps 和安全团队的关注和组织策略保持一致。

考虑在关键领域优先考虑安全性,同时接受一些权衡,以便在其他方面方便。 例如,如果使用 extends 模板来要求所有生成在容器中运行,则可能不需要为每个项目单独分配代理池

从几乎为空的模板开始

从最小模板开始,并逐步强制实施扩展。 此方法可确保在实施安全做法时,具有涵盖所有管道的集中起点。

有关详细信息,请参阅模板

禁止创建经典管道

注意

此功能从 Azure DevOps Server 2022.1 开始提供。

如果独占使用 YAML 管道,请禁用经典生成和发布管道的创建。 此预防措施可防止 YAML 和经典管道共享同一资源(例如服务连接)带来的安全问题。

独立禁用经典生成管道和经典发布管道的创建。 禁用两者后,无法通过用户界面或 REST API 创建经典生成管道、经典发布管道、任务组或部署组。

若要禁用经典管道的创建,请转到组织设置项目设置,然后在“管道”部分下选择“设置”。 在“常规”部分,打开“禁止创建经典生成管道”和“禁止创建经典发布管道”。

如果在组织级别启用此功能,则它适用于该组织中的所有项目。 但是,如果将其禁用,则可以选择性地为特定项目启用它。

为了提高新创建的组织的安全性,从 Sprint 226 开始,默认情况下,我们禁用为新组织创建经典生成和发布管道。

后续步骤