资源安全性

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

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

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

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

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

先决条件

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

受保护的资源

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

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

存储库资源

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

权限

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

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

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

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

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

支票

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

配置检查的屏幕截图。

批准

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

分支控制

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

营业时间

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

查看所有检查

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