设置管道权限
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
管道权限和角色有助于安全地管理管道。 可以在组织、项目和对象级别为项目中的所有管道或单个管道设置分层权限。 可以使用安全组或通过添加单个用户来更新管道权限。
管道权限和角色有助于安全地管理管道。 可以在组织、服务器、项目和对象级别为项目中的所有管道或单个管道设置分层权限。 可以使用安全组或通过添加单个用户来更新管道权限。
对象级权限比组织级权限更精细,因此可以提高管道的安全性。 例如,由于拥有组织级权限,用户可以访问 Azure Repos 存储库。 但是,由于该对象/管道的权限,可能会阻止该用户手动运行管道。
在本文中,我们将权限细分为以下权限级别:
有关详细信息,请参阅权限、访问权限和安全组入门、保护 Azure Pipelines 和验证参与者的权限。
有关 Azure CLI 设置权限的相关信息中,请参阅 Azure CLI 参考。
先决条件
- 若要为项目级组管理权限,并将用户添加到 Azure Pipelines,必须成为“项目管理员”。 有关详细信息,请参阅项目级组权限。
- 若要管理集合组的权限,必须成为项目集合管理员。 有关详细信息,请参阅集合级组权限。
- 设置管道权限时,请注意以下信息。
- 在许多情况下,可能需要将“删除生成管道”设置为“允许”。 否则,这些团队成员无法删除他们自己的生成管道。
- 如果没有“删除生成”权限,用户就无法删除他们自己已完成的生成。 但是,他们可以使用保留策略自动删除不需要的旧生成。
- 建议不要直接向用户授予权限。 更好的做法是将用户添加到生成管理员组或其他组中,并管理该组的权限。
有关详细信息和最佳做法,请参阅保护 Azure Pipelines。
分配给内置安全组的默认权限
构建
任务 | Readers | 作者 | 生成管理员 | 项目管理员 |
---|---|---|---|---|
查看生成 | ✔ | ✔ | ✔ | ✔ |
查看生成管道 | ✔ | ✔ | ✔ | ✔ |
管理生成权限 | ✔ | ✔ | ||
删除或编辑生成管道 | ✔ | ✔ | ✔ | |
删除或销毁生成 | ✔ | ✔ | ||
编辑版本质量 | ✔ | ✔ | ✔ | |
管理生成质量 | ✔ | ✔ | ||
管理生成队列 | ✔ | ✔ | ||
重写由生成执行的签入验证 | ✔ | |||
对生成进行排队 | ✔ | ✔ | ✔ | |
无限期保留 | ✔ | ✔ | ✔ | ✔ |
停止生成 | ✔ | ✔ | ||
更新生成信息 | ✔ |
发布
任务 | 利益干系人 | Readers | 作者 | 项目管理员 | 发布管理员 |
---|---|---|---|---|---|
批准发布 | ✔ | ✔ | ✔ | ✔ | |
查看发布 | ✔ | ✔ | ✔ | ✔ | ✔ |
查看发布管道 | ✔ | ✔ | ✔ | ✔ | |
管理发布权限 | ✔ | ✔ | |||
删除发布管道或阶段 | ✔ | ✔ | ✔ | ||
删除发布 | ✔ | ✔ | ✔ | ||
编辑发布管道 | ✔ | ✔ | |||
编辑发布阶段 | ✔ | ✔ | ✔ | ||
管理部署 | ✔ | ✔ | |||
管理发布审批者 | ✔ | ✔ | ✔ | ||
管理版本 | ✔ | ✔ |
任务组
任务 | Readers | 作者 | 生成管理员 | 项目管理员 | 发布管理员 |
---|---|---|---|---|---|
管理任务组权限 | ✔ | ✔ | ✔ | ||
删除任务组 | ✔ | ✔ | ✔ | ||
编辑任务组 | ✔ | ✔ | ✔ |
设置项目级管道权限
执行以下步骤,为所有管道设置项目级权限。
登录组织 (
https://dev.azure.com/{yourorganization}
)。在项目中,依次选择“管道”>“管道”。
选择“更多操作”>“管理安全性”。
修改与 Azure DevOps 组关联的权限(例如,生成管理员),或为单个用户修改权限。
对安全组或单个用户的权限选择“允许”或“拒绝”,然后退出屏幕。
项目级管道权限已设置完成。
生成和 YAML 管道权限遵循分层模型。 可以在项目级别为所有权限设置默认值,并重写单个生成管道的权限。
若要在项目级别为项目中的所有管道设置权限,请从“生成”中心主页上的操作栏中选择“安全性”。
设置单个管道权限
执行以下步骤,为单个管道设置权限。
在项目中,依次选择“管道”>“管道”。
选择单个管道,然后选择“更多操作”>“管理安全性”。
设置权限,然后“保存”更改。
若要设置或重写单个管道的权限,请从单个管道的上下文菜单中选择“安全性”。
管道权限参考
可以为项目中的所有管道或单个管道设置以下权限。 项目集合和项目组已设置有默认值。 例如,默认情况下,项目集合管理员、项目管理员和生成管理员拥有以下全部权限。
权限 | 说明 |
---|---|
管理生成权限 | 可以更改此处列出的任何其他权限。 |
删除生成管道 | 可以删除生成管道。 |
删除生成 | 可以删除管道的生成。 已删除的生成在销毁前会在“已删除”选项卡中保留一段时间。 |
销毁生成 | 可以从“已删除”选项卡中删除生成。 |
编辑生成管道 | 可以创建管道并保存对生成管道的任何更改,包括配置变量、触发器、存储库和保留策略。 |
编辑版本质量 | 可以向生成添加标记。 |
管理生成质量 | 仅适用于 XAML 生成 |
管理生成队列 | 仅适用于 XAML 生成 |
重写由生成执行的签入验证 | 适用于 TFVC 封闭签入生成。 不适用于拉取请求生成。 |
将生成排队 | 可以将新生成排入队列。 |
编辑队列生成配置 | 在对新生成进行排队时,可以指定自由文本参数(例如,类型 object ))和管道变量的值。 |
无限期保留 | 可以启用生成的无限期保留标志。 |
停止生成 | 可以停止由其他团队成员或系统排队的生成。 |
更新生成信息 | 建议忽略此权限。 它的目的是启用服务帐户,而不是团队成员。 |
查看生成管道 | 可以查看生成管道。 |
查看生成 | 可以查看属于生成管道的生成。 |
所有团队成员都是“参与者”组的成员。 这个组权限允许定义和管理生成和发布。 最常见的内置组包括读者、参与者和项目管理员。
有关详细信息,请参阅以下文章:
设置发布权限
发布管道的权限遵循分层模型。 可以在项目级别设置默认权限,也可以在单个发布管道上重写这些权限。
设置所有发布权限
执行以下步骤可以更新所有发布的权限。
选择文件视图。
选择“所有管道”文件夹。
选择“更多操作”,然后选择“安全性”。
设置权限,然后“保存”更改。
设置单个发布权限
执行以下步骤可以更新单个发布的权限。
选择你要修改的发布。
选择“更多操作”>“安全性”。
设置权限,然后“保存”更改。
若要为项目中的所有发布定义设置项目级别权限,请从中打开快捷菜单
若要设置或重写特定发布管道的权限,请从该管道名称旁边的“”图标中打开快捷菜单。 然后选择“安全性”以打开“权限”对话框。
若要为发布管道中的各个阶段指定安全设置,请在从发布管道编辑器中某个阶段的“更多操作”打开的快捷菜单上选择“安全性”,打开“权限”对话框。
发布权限参考
下表定义了发布的权限。 范围列说明了是否可以在项目、发布管道或阶段级别设置权限。
权限 | 说明 |
---|---|
管理发布权限 | 可以更改此处列出的任何其他权限。 范围:项目、发布管道、阶段 |
创建发布 | 可以创建新的发布。 范围:项目、发布管道 |
删除发布管道 | 可以删除发布管道。 范围:项目、发布管道 |
删除发布阶段 | 可以删除发布管道中的阶段。 范围:项目、发布管道、阶段 |
删除发布 | 可以删除管道的发布。 范围:项目、发布管道 |
编辑发布管道 | 可以保存对发布管道的任何更改,包括配置变量、触发器、项目、保留策略以及发布管道的某个阶段内的配置。 若要更新发布管道中的特定阶段,用户还需要“编辑发布阶段”权限。 范围:项目、发布管道 |
编辑发布阶段 | 可以编辑发布管道中的阶段。 若要保存对发布管道的更改,用户还需要“编辑发布管道”权限。 此权限还可以控制用户是否可以在特定发布实例的阶段内编辑配置。 用户还需要“管理发布”权限才能保存修改后的发布。 范围:项目、发布管道、阶段 |
管理部署 | 可以启动发布到阶段的部署。 此权限仅适用于通过在发布中选择“部署”或“重新部署”操作手动启动的部署。 如果阶段的条件设置为任何类型的自动部署,系统会自动启动部署,不会检查创建了发布的用户的权限。 如果条件设置为在某个阶段后启动,则手动启动的部署不会等待这些阶段成功完成。 范围:项目、发布管道、阶段 |
管理发布审批者 | 可以在发布管道中添加或编辑阶段的审批者。 此权限还可以控制用户是否可以在特定发布实例的阶段内编辑审批者。 范围:项目、发布管道、阶段 |
管理版本 | 可以在发布中编辑配置。 若要编辑发布实例中特定阶段的配置(包括标记为 settable at release time 的变量),用户还需要“编辑发布阶段”权限。 范围:项目、发布管道 |
查看发布管道 | 可以查看发布管道。 范围:项目、发布管道 |
查看发布 | 可以查看属于发布管道的发布。 范围:项目、发布管道 |
团队项目集合和项目组已设置有所有权限的默认值。 例如,默认情况下,项目集合管理员、项目管理员和发布管理员会被授予先前列出的所有权限。 参与者将获得除“管理发布权限”之外的所有权限。 默认情况下,除“查看发布管道”和“查看版本”外,读者不具有所有其他权限。
设置任务组权限
使用任务组可将管道中已定义的一系列任务合并为单个可重用的任务。
任务组权限遵循分层模型。 可以在项目级别设置默认权限,也可以在单个任务组管道上重写这些权限。
设置项目级任务组权限
执行以下步骤,更新项目级任务组的权限。
注意
YAML 管道中不支持任务组,但支持模板。 有关详细信息,请参阅 YAML 架构引用。
在项目中,选择“管道”>“任务组”。
选择“安全”。
对安全组或单个用户的权限选择“允许”或“拒绝”。
设置管道级任务组权限
执行以下步骤,更新管道级任务组的权限。
在项目中,选择“管道”>“任务组”。
选择任务组。
选择“更多操作”>“安全性”。
对安全组或单个用户的权限选择“允许”或“拒绝”。
任务组权限参考
权限 | 说明 |
---|---|
管理任务组权限 | 可以向任务组安全性添加和删除用户或组。 |
删除任务组 | 可以删除任务组。 |
编辑任务组 | 可以创建、修改或删除任务组。 |
设置代理池权限
可以使用预定义角色,以分层方式为所有池或单个池配置代理池的安全性。 执行以下步骤,为所有池设置代理池权限。
设置所有代理池权限
执行以下步骤,更新所有代理池的权限。
在项目中,选择“项目设置”>“代理池”。
选择“安全”。
设置权限,然后“保存”更改。
设置单个代理池权限
执行以下步骤,为单个代理池设置权限。
在代理池中,选择代理。
选择“安全”。
设置权限,然后“保存”更改。
设置库权限
使用变量组存储要在多个生成和发布管道中提供的值。 定义角色以帮助配置共享库实体的安全性。 还可以配置角色的继承。
库权限参考
角色 | 说明 |
---|---|
管理员 | 可以编辑/删除和管理库项的安全性。 |
创建者 | 可以创建库项。 |
读者 | 只能读取库项。 |
用户 | 可以在管道中使用库项。 |
设置服务连接权限
为所有服务连接或单个连接配置权限。
设置所有服务连接权限
执行以下步骤,为所有服务连接配置权限。
- 在项目中,选择“项目设置”。
- 在“管道”下,选择“服务连接”。
- 设置权限,然后“保存”更改。
设置单个服务连接权限
执行以下步骤,为单个服务连接配置权限。
在项目中,打开服务连接。
选择“更多操作”>“安全性”。
设置权限,然后“保存”更改。
从项目级管理上下文的“服务”页向以下角色添加用户。 有关如何创建和管理这些资源的详细信息,请参阅生成和发布的服务连接。
如果在权限和服务连接方面遇到问题,请参阅排查 Azure 资源管理器服务连接问题。
服务连接权限参考
角色 | 说明 |
---|---|
用户 | 可以在创作生成或发布管道时使用终结点。 |
管理员 | 可以管理服务连接的所有其他角色的成员身份,并使用终结点创作生成或发布管道。 系统会自动将创建了服务连接的用户添加到该池的管理员角色。 |
设置部署池权限
可以为所有部署组设置默认的安全角色,并管理单个部署组的安全角色。
设置所有部署池权限
在项目中,选择“项目设置”。
在“管道”下,选择“部署组”。
设置权限,然后“保存”更改。
设置单个部署组权限
- 在项目中,打开部署池。
- 选择“更多操作”>“安全性”。
- 设置权限,然后“保存”更改。
部署池权限参考
角色 | 说明 |
---|---|
读取者 | 只能查看部署池。 |
服务帐户 | 可以查看代理、创建会话和侦听代理池中的作业。 |
用户 | 可以查看和使用部署池来创建部署组。 |
管理员 | 可以管理、查看和使用部署池。 |
设置环境权限
可以使用角色和用户权限来控制谁可以创建、查看和管理环境。 将角色层次结构应用于所有环境或一个环境。
设置所有环境权限
在项目中,选择“项目设置”。
在“管道”下,选择“环境”。
设置权限,然后“保存”更改。
设置单个环境权限
从“更多操作”中选择“安全性”以更改所有环境的权限。
- 在项目中,打开环境。
- 选择“更多操作”>“安全性”。
- 设置权限,然后“保存”更改。
环境权限参考
角色 | 说明 |
---|---|
创建者 | 全局角色,可从环境中心安全选项获取。 此角色的成员可以在项目中创建环境。 默认情况下,参与者会被添加为成员。 在不存在环境的情况下触发 YAML 管道所必需。 |
读者 | 此角色的成员可以查看环境。 |
用户 | 此角色的成员可以在创建或编辑 YAML 管道时使用环境。 |
管理员 | 此角色的成员可以管理权限、创建、管理、查看和使用环境。 在特定环境下会默认将创建者添加为管理员。 管理员还可以向所有管道开放环境的访问权限。 |
重要
创建环境时,只有创建者具有管理员角色。
角色 | 说明 |
---|---|
创建者 | 全局角色,可从环境中心安全选项获取。 此角色的成员可以在项目中创建环境。 默认情况下,参与者会被添加为成员。 在不存在环境的情况下触发 YAML 管道所必需。 |
读者 | 此角色的成员可以查看环境。 |
用户 | 此角色的成员可以在创建或编辑 YAML 管道时使用环境。 |
管理员 | 除了使用环境之外,此角色的成员还可以管理环境的所有其他角色的成员身份。 默认情况下,创建者会被添加为成员。 |
常见问题
请参阅以下有关管道权限的常见问题解答 (FAQ)。
问:为什么我无法创建新管道?
答:需要“编辑生成管道”权限才能创建新管道。 若要添加权限,请打开所有管道的安全设置,并验证是否为安全组将“编辑生成管道”设为“允许”。
如果仍无法创建管道,检查你的访问级别是否设为“利益干系人”。 如果你拥有利益干系人访问权限,请将你的访问权限更改为“基本”。
问:为什么有消息提示我需要授权资源才能继续运行?
答:需要先授权资源,然后才能使用它们。 此规则的例外情况是,当你首次创建管道时,YAML 文件中引用的所有资源都将自动获得授权。 只要运行管道的用户有权访问该资源,就可以为该管道授权资源。
若要授权“所有管道”访问代理池等资源,请执行以下步骤。
在项目中,选择“设置”>“管道”>“代理池”。
为特定代理池选择“安全性”,然后更新权限以授予对所有管道的访问权限。
有关详细信息,请参阅 YAML 中的资源。
相关文章
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈