资源安全性

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

本文介绍有助于保护 Azure Pipelines 中 受保护资源的 安全功能。 管道可能需要在运行期间访问开放或受保护的资源。

工件、管道、测试计划和工作项是 开放资源。 管道可以自由访问这些资源,可以通过订阅资源触发器事件来完全自动化工作流。 有关保护开放资源的详细信息,请参阅 “保护项目”。

受保护的资源 (如存储库和环境)需要更多的访问限制。 为了帮助保护受保护资源的安全,可以要求对管道进行权限、检查和批准才能访问受保护的资源。

本文是一系列教程的一部分,可帮助实现 Azure Pipelines 的安全措施。 有关更多信息,请参阅 Azure Pipelines 安全指南

先决条件

类别 要求
Azure DevOps - 在使 Azure DevOps 安全和保护 Azure Pipelines 中实施建议。
- 对 YAML 和 Azure Pipelines 的基本知识。 有关详细信息,请参阅 创建第一个管道
权限 - 修改管道权限: 项目管理员组的成员
- 要修改组织权限:必须是 项目集合管理员组的成员。

受保护的资源

受 Azure Pipelines 保护的资源包括以下项:

可以设置权限,以便只有项目中的特定用户和管道可以访问受保护的资源。 还可以定义在使用资源的管道阶段启动之前必须成功的检查和审批。 例如,您可以要求在管道阶段使用环境之前获得手动批准。 检查失败可能会导致流水线运行被挂起或失败。

存储库资源

将存储库添加到管道需要具有 参与 权限的用户授权才能访问存储库。 还可以通过将 Azure Pipelines 访问令牌的范围限制为仅在管道 resources 部分显式列出的存储库来保护存储库资源。 有关详细信息,请参阅 从管道安全访问存储库 和保护 存储库资源

权限

可以为受保护的资源设置 用户权限管道权限

仅向需要这些权限的用户授予 用户 权限。 User 角色的资源成员可以管理审批和检查。

管道权限可防范将受保护的资源复制到其他管道。 若要管理管道权限,请仅向信任的特定管道显式授予访问权限。

必须具有 “项目管理员” 角色,才能跨项目中的所有管道访问受保护的资源。 为了提高安全性,请不要启用 开放访问,这允许项目中的所有管道使用资源。 有关详细信息,请参阅 向受保护的资源添加管理员角色

用户和管道权限的屏幕截图。

支票

若要更全面地保护管道中的受保护资源,请添加需要满足的检查条件,以便管道在满足这些条件后使用受保护的资源。 可以要求特定的审批或其他条件。 有关详细信息,请参阅 定义审批和检查

配置检查的屏幕截图。

批准

可以阻止对受保护资源的流水线请求,等待由指定的用户或组进行手动审核。 此检查通过允许在管道运行继续之前查看代码来提供额外的安全层。

分支控制

分支控制可确保只有经过授权的分支才能访问受保护的资源。 资源受保护分支检查可防止管道在未经授权的分支上自动运行。 通过使用分支控制,可以扩展特定于分支的手动代码评审要求。

营业时间

使用此检查来确保管道部署在指定的日期和时间范围内启动。

查看所有检查

选择 “查看所有检查 ”以查看并应用其他检查,例如 所需的模板