Azure DevOps Services | 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 访问令牌的范围来保护存储库。 仅向代理提供管道 resources
部分显式提到的存储库的访问令牌。
将存储库添加到管道需要具有 参与 权限的用户授权才能访问存储库。 有关详细信息,请参阅 保护存储库资源。
权限
对受保护资源、 用户权限 和 管道权限有两种类型的权限。
用户权限是受保护资源的防御前线。 应仅向需要权限的用户授予权限。 User 角色的资源成员可以管理审批和检查。
管道权限可防止将受保护的资源复制到其他管道。 必须具有 “管理员” 角色才能在项目中的所有管道中访问受保护的资源。
若要管理管道权限,请显式授予对信任的特定管道的访问权限。 请确保不要启用 开放访问,因为这会允许项目中的所有管道使用资源。 有关详细信息,请参阅 “关于管道资源 ”和 “添加资源保护”。
支票
用户和管道权限不会完全保护管道中的受保护资源。 还可以添加 检查 ,以指定必须满足的条件,以便任何管道中的阶段才能使用该资源。 在管道可以使用受保护的资源之前,可以要求特定的审批或其他条件。 有关详细信息,请参阅 定义审批和检查。
手动审批检查
可以阻止管道请求使用受保护的资源,直到指定用户或组手动批准。 此检查使你有机会查看代码,并在继续管道运行之前提供额外的安全层。
受保护的分支检查
如果有特定分支的手动代码评审过程,可以将此保护扩展到管道。 分支控制可确保只有经过授权的分支才能访问受保护的资源。 资源受保护分支检查可防止管道在未经授权的分支上自动运行。
营业时间检查
使用此检查来确保管道部署在指定的日期和时间范围内启动。