在 Azure Pipelines 中管理安全性
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure Pipelines 安全性通过安全组和用户的层次结构控制对管道及其资源的访问。 该系统管理发布管道、任务组、代理池和服务连接等资源,尽管这些资源位于管道外部。 创建后,管道和资源从预定义的安全组和用户那里继承项目级权限,从而影响所有项目管道。
管理员通常具有不受限制的访问权限,参与者监督资源,读者具有只读权限,用户角色决定组分配。 有关详细信息,请参阅关于管道安全角色。
先决条件
安全领域 | 先决条件 |
---|---|
管道安全性 | - 要管理项目集合组,您必须是项目集合管理员组的成员。 - 要管理项目级别的用户和组,你必须是管理员组的成员或者被允许管理生成权限。 |
代理池安全性 | - 要在组织、集合或项目级别管理代理池安全性,你必须是项目集合管理员组的成员,或者具有代理池的管理员角色。 - 要在对象级别管理代理池安全性,你必须具有代理池的管理员角色。 |
部署组安全性 | - 要管理项目级部署组安全,你必须是管理员组的成员,或者被分配有管理员角色。 - 要管理单个部署组的安全性,你必须分配有管理员角色。 |
环境安全 | - 要管理项目级环境安全性,你必须是管理员组的成员,或者被分配有管理员角色。 - 要管理各个环境的对象级安全性,你必须分配有管理员角色。 |
库安全性 | - 要管理库安全性,你必须是管理员组的成员,或者被分配有管理员角色。 - 要管理单个库资产的安全性,你必须是管理员,或者具有适当的角色。 |
发布管道安全性 | - 要管理发布管道安全性,你必须是管理员组的成员,或者被允许管理发布权限。 - 必须创建发布管道。 |
服务连接安全性 | - 要管理服务连接安全性,你必须是项目管理员组的成员或具有管理员角色。 - 要在项目级别管理安全性,你必须是项目管理员组的成员,或者具有服务连接的管理员角色。 - 要在对象级别管理安全性,你必须具有服务连接的管理员角色。 |
任务组安全性 | 要管理任务组安全性,你必须是管理员组的成员,或者被允许管理任务组权限。 - 任务组必须存在。 |
在 Azure Pipelines 中设置管道权限
管道安全性遵循用户和组权限的分层模型。 项目级权限由项目中的所有管道在对象级别继承。 可以在项目和对象级别更改所有管道的继承权限和默认用户及组权限。 无法更改系统设置的权限。
下表显示了管道的默认安全组:
组 | 说明 |
---|---|
生成管理员 | 管理员生成权限,并管理管道和生成。 |
供稿人 | 管理管道和生成,但不管理生成队列。 此组包括所有团队成员。 |
项目管理员 | 管理员生成权限,并管理管道和生成。 |
读取者 | 查看管道和生成。 |
Project Collection Administrators | 管理员生成权限,并管理管道和生成。 |
项目集合生成管理员 | 管理员生成权限,并管理管道和生成。 |
项目集合生成服务帐户 | 管理生成。 |
项目集合测试服务帐户 | 查看管道和生成。 |
系统会自动创建<项目名称>生成服务(集合名称)用户,该用户是项目集合生成服务帐户组的成员。 该用户在项目中执行生成服务。
根据管道中使用的资源,管道可能包含其他内置用户。 例如,如果对源代码使用 GitHub 存储库,则包含 GitHub 用户。
下表显示了安全组的默认权限:
任务 | Readers | 作者 | 生成管理员 | 项目管理员 |
---|---|---|---|---|
查看生成 | ✔️ | ✔️ | ✔️ | ✔️ |
查看生成管道 | ✔️ | ✔️ | ✔️ | ✔️ |
管理生成权限 | ✔️ | ✔️ | ||
创建生成管道 | ✔️ | ✔️ | ✔️ | |
删除或编辑生成管道 | ✔️ | ✔️ | ✔️ | |
删除或销毁生成 | ✔️ | ✔️ | ||
编辑版本质量 | ✔️ | ✔️ | ✔️ | |
管理生成质量 | ✔️ | ✔️ | ||
管理生成队列 | ✔️ | ✔️ | ||
重写由生成执行的签入验证 | ✔️ | |||
对生成进行排队 | ✔️ | ✔️ | ✔️ | |
无限期保留 | ✔️ | ✔️ | ✔️ | ✔️ |
停止生成 | ✔️ | ✔️ | ||
更新生成信息 | ✔️ |
有关管道权限的说明,请参阅管道或生成权限。
设置项目级管道权限
要为项目中所有生成管道中的用户和组管理项目级权限,请执行以下步骤:
在项目中,选择管道。
选择更多操作 ,然后选择管理安全性。
选择用户或组,并将权限设置为允许、拒绝或未设置。
重复前一步,更改更多组和用户的权限。
关闭权限对话框以保存更改。
将用户或组添加到权限对话框
若要添加未在权限对话框中列出的用户和组,请执行以下步骤:
- 在搜索栏中输入用户或组,然后从搜索结果中选择用户或组。
- 设置权限。
- 关闭对话框。
再次打开安全对话框时,用户或组将列出。
从权限对话框中删除用户或组
要从权限列表中删除用户,请执行以下步骤:
选择用户或组。
选择删除并清除显式权限。
完成后,关闭对话框以保存所做更改。
要为项目中所有生成管道中的用户和组管理项目级权限,请执行以下步骤:
在项目中,选择管道。
选择更多操作 ,然后选择管理安全性。
若要添加未在权限对话框中列出的用户或组,请选择添加,输入用户或组,然后选择保存更改。
选择用户或组并设置权限。
重复前一步,更改更多组和用户的权限。
选择保存更改,也可以选择撤消更改以撤消更改。
若要从列表中删除用户或组,请选择用户或组,然后选择删除。
选择关闭。
项目级管道权限已设置完成。
要为项目中所有生成管道中的用户和组管理项目级权限,请执行以下步骤:
从项目中,选择生成。
选择文件夹图标,然后选择所有生成管道文件夹。
选择更多操作 >安全性。
若要添加未在权限对话框中列出的用户或组,请选择添加,输入用户或组,然后选择保存更改。
选择用户或组并设置权限。
如有必要,请选择保存更改或撤消更改。
重复前一步,更改更多组和用户的权限。
若要从列表中删除用户或组,请选择用户或组,然后选择删除。
选择关闭。
设置对象级管道权限
默认情况下,单个管道的对象级权限继承自项目级权限。 可以替代继承的项目级权限。
可以将权限设置为允许、拒绝或未设置(如果未继承权限)。 如果启用继承,则可以将显式设置的权限更改回继承的值。
要管理管道的权限,请执行以下步骤:
在项目中,选择管道。
选择管道,然后选择更多操作 ,并选择管理安全性。
选择用户或组并设置权限。
重复前一步,更改更多组和用户的权限。
完成后,关闭对话框以保存所做更改。
将用户或组添加到权限对话框
若要添加未在权限对话框中列出的用户和组,请执行以下步骤:
- 在搜索栏中输入用户或组,然后从搜索结果中选择用户或组。
- 设置权限。
- 关闭对话框。
再次打开安全对话框时,用户或组将列出。
从权限对话框中删除用户或组
除非禁用继承,否则无法删除继承的用户和组。 要从管道的权限中删除用户或组,请执行以下步骤:
选择用户或组。
选择删除并清除显式权限。
完成后,关闭对话框以保存所做更改。
默认情况下,单个管道的对象级权限继承项目级权限。 可以替代继承的权限。
可以将权限设置为允许、拒绝或未设置(如果未继承权限)。 如果启用继承,则可以将显式设置的权限更改回继承的值。
要单个管道设置权限,请执行以下步骤:
在项目中,选择管道。
选择管道,然后选择更多操作 ,并选择管理安全性。
若要添加未在权限对话框中列出的用户或组,请选择添加,输入用户或组,然后选择保存更改。
选择用户和组并设置权限。
如有必要,请选择保存更改或 *撤消更改。
若要删除用户或组,请选择用户或组,然后选择删除。 除非禁用继承,否则无法删除继承的用户或组。
完成后,选择关闭。
显式设置继承的用户或组权限时,将为该特定权限禁用继承。 若要还原继承,请将权限设置为未设置。 选择清除显式权限,将所有显式设置的权限重置为其继承的设置。 若要禁用所有用户和组权限的继承,请关闭继承设置。 重新启用继承后,所有用户和组的权限还原回其项目级设置。
默认情况下,单个管道的对象级权限继承项目级权限。 可以替代单个管道的这些继承权限。
可以将权限设置为允许、拒绝或未设置(如果未继承权限)。 如果启用继承,则可以将显式设置的权限更改回继承的值。
要为管道设置对象级权限,请执行以下步骤:
在项目中,从菜单中选择生成。
选择文件夹图标,然后选择所有生成管道文件夹。
选择更多操作 >安全性。
若要添加未在权限对话框中列出的用户或组,请选择添加,输入用户或组,然后选择保存更改。
选择用户或组并设置权限。
可以选择更多用户和组来更改其权限。
选择保存更改,也可以选择撤消更改以撤消更改。
若要删除用户或组,请选择用户或组,然后选择删除。 除非禁用继承,否则无法删除继承的用户和组。
完成后,选择关闭。
显式设置继承的用户或组权限时,将为该特定权限禁用继承。 若要还原继承,请将权限设置为未设置。 选择清除显式权限,将所有显式设置的权限重置为其继承的设置。 若要禁用所有用户和组权限的继承,请关闭继承设置。 重新启用继承时,所有用户和组的权限还原回其项目级设置。
在 Azure Pipelines 中设置部署组安全性
部署组是指安装了代理的一组物理或虚拟目标计算机。 部署组仅适用于经典发布管道。 你可以在以下情况下创建部署组:
- 当为来自组织部署池的项目预配依赖部署组时
- 在项目级别创建部署组时
- 当项目共享部署组时,将在接收方项目中创建依赖部署组
单个部署组从项目级分配中继承安全角色。 可以替代用户或组的项目级分配。 若要删除继承的用户或组,或降低继承角色的特权级别,必须禁用继承。
当部署组与另一个项目共享时,将在另一个项目中创建继承其安全角色的单独部署组。 如果共享被禁用,则部署组将从其他项目中删除。
下表显示了部署组的安全角色:
角色 | 说明 |
---|---|
读取者 | 只能查看部署组。 |
创建者 | 可以创建部署组。 此角色仅是项目级角色。 |
用户 | 可以查看和使用部署组。 |
服务帐户 | 可以查看代理、创建会话和侦听作业。 此角色仅为集合级或组织级角色。 |
管理员 | 可以监管、管理、查看和使用部署组。 |
下表显示了默认的用户和组角色分配:
组 | 角色 |
---|---|
[项目名]\参与者 | 创建者(项目级别),读者(对象级别) |
[项目名]\部署组管理员 | 管理员 |
[项目名称]\项目管理员 | 管理员 |
[项目名]\发布管理员 | 管理员 |
设置项目级部署组安全角色
执行以下步骤以为所有部署组设置项目级安全角色:
从项目中选择管道下的部署组。
选择“安全性”。
为用户和组设置角色。
要删除用户或组,请选择用户或组,然后选择删除 。
选择保存更改 以保存更改,或选择重置更改 以还原未保存的更改。
要添加未在安全性对话框中列出的项目用户或组,请执行以下步骤:
- 选择 添加 。
- 在搜索栏中输入用户或组,然后从搜索结果中选择用户或组。 可以添加多个用户和组。
- 选择角色。
- 选择添加以保存更改。
设置对象级部署组安全角色
执行以下步骤以为单个部署组设置安全角色:
从项目中选择管道下的部署组。
选择组下的部署组。
选择“安全性”。
为用户和组设置角色。 要降低继承角色的特权级别,请禁用继承。
要删除用户或组,请选择用户或组,然后选择删除 。 除非禁用继承,否则无法删除继承的用户和组。
选择保存更改 以保存更改,或选择重置更改 以还原未保存的更改。
当显式设置角色时,将禁用该用户或组的继承。 若要禁用所有用户和组的继承,请关闭继承设置。 重新启用继承时,所有用户和组的角色将还原为其项目级分配。
要添加未在安全性对话框中列出的项目用户或组,请执行以下步骤:
- 选择 添加 。
- 在搜索栏中输入用户或组,然后从搜索结果中选择用户或组。 可以添加多个用户和组。
- 选择角色。
- 选择添加以保存更改。
为 Azure Pipelines 中的环境设置安全性
环境捆绑 YAML 管道的部署目标,但与经典管道不兼容。 所有环境都将继承在项目级别分配给默认用户和组的安全角色。 你可以通过禁用继承来自定义各个环境的这些设置,包括删除继承的用户或组并调整特权级别。 此外,你还可以管理每个环境的管道访问。
下表显示了环境的安全角色:
角色 | 说明 |
---|---|
创建者 | 可以在项目中创建环境。 仅适用于项目级安全性。 参与者会自动被分配此角色。 |
读者 | 可以查看环境。 |
用户 | 可以在创建或编辑 YAML 管道时使用该环境。 |
管理员 | 可以管理权限,创建、管理、查看和使用环境。 环境的创建者被授予该环境的管理员角色。 管理员还可以向项目中的所有管道开放环境的访问权限。 |
下表显示了默认的用户和组角色分配:
组 | 角色 |
---|---|
[项目名]\参与者 | 创建者(项目级别)读者(对象级别) |
[项目名称]\项目管理员 | 创建者 |
[项目名称]\项目有效用户 | 读者 |
系统会自动为环境创建者分配该特定环境的管理员角色。 此角色分配是永久性的,并且无法更改。
设置项目级环境安全角色
要为所有环境设置项目级安全角色,请执行以下步骤:
在项目中,管道下的环境。
选择更多操作 ,然后选择安全性。
将用户和组的角色设置为管理员、创建者、用户或读者。
要删除用户或组,请选择用户或组,然后选择删除 。
选择保存以保存更改,或选择撤消以还原未保存的更改。
要添加未在安全性对话框中列出的项目用户或组,请执行以下步骤:
- 选择 添加 。
- 在搜索栏中输入用户或组,然后从搜索结果中选择用户或组。 可以添加多个用户和组。
- 选择角色。
- 选择添加以保存更改。
设置对象级环境安全性
默认情况下,对象级安全角色继承自项目级设置。 但是,你可以通过禁用继承来自定义各个环境的这些设置,包括删除继承的用户或组并调整特权级别。 此外,你还可以管理每个环境的管道访问。
设置对象级环境用户和组安全角色
要为环境设置用户和组安全角色,请执行以下步骤:
在项目中,在管道下选择环境。
选择环境。
选择更多操作 ,然后选择安全性。
将用户和组的角色设置为管理员、用户或读者。
要删除用户或组,请选择用户或组,然后选择删除 。 除非禁用继承,否则无法删除继承的用户和组。
选择保存以保存更改,或选择撤消以还原未保存的更改。
如果为用户或组显式设置角色,则会禁用其继承。 要停止所有人的继承,请停用继承选项。 如果重新激活继承,则会将所有用户和组重置为其原始项目级角色分配。
要添加未在安全性对话框中列出的项目用户或组,请执行以下步骤:
- 选择 添加 。
- 在搜索栏中输入用户或组,然后从搜索结果中选择用户或组。 可以添加多个用户和组。
- 选择角色。
- 选择添加以保存更改。
为环境设置管道访问
可以将管道权限设置为开放访问权限,以允许访问项目中的所有管道或限制对特定管道的访问。 只有项目管理员可以将管道权限设置为开放访问权限。
要设置对项目中所有管道的开放访问,请执行以下步骤:
选择更多操作 ,然后选择开放访问权限。
在确认对话框上,选择开放访问权限。
要限制访问和管理管道访问,请执行以下步骤:
选择限制访问。
选择添加管道 ,然后从下拉菜单中选择管道。
若要删除管道,请选择管道,然后选择撤销访问权限图标。
在 Azure Pipelines 中设置库安全性
此库可跨生成和发布管道促进资产共享,如变量组和安全文件。 它采用统一的安全模型,并允许为资产管理、创建和使用分配角色。 这些角色在库级别设置后,会自动应用于所有包含的资产,但可以被单独调整。
角色 | 说明 |
---|---|
管理员 | 编辑、删除和管理库资产的安全性。 资产的创建者会自动为资产分配此角色。 |
创建者 | 创建库资产。 |
读者 | 读取库资产。 |
用户 | 在管道中使用库资产。 |
下表显示了默认角色:
组 | 角色 |
---|---|
[项目名称]\项目管理员 | 管理员 |
[项目名]\生成管理员 | 管理员 |
[项目名称]\项目有效用户 | 读者 |
[项目名]\参与者 | 创建者(项目级别)读者(对象级别) |
[项目名]\发布管理员 | 管理员 |
项目名称生成服务(集合或组织名称) | 读者 |
对于单个库资产,会自动为创建者分配管理员角色。
设置项目级库安全角色
要管理所有库资产的访问,例如变量组和安全文件,请执行以下步骤:
在项目中,选择管道>库。
选择“安全性”。
选择一个用户或组,并将角色更改为读者、用户、创建者或管理员。
要删除用户或组,请选择用户或组,然后选择删除 。
选择保存更改 以保存更改,或选择重置更改 以还原未保存的更改。
要添加未在安全性对话框中列出的项目用户或组,请执行以下步骤:
- 选择 添加 。
- 在搜索栏中输入用户或组,然后从搜索结果中选择用户或组。 可以添加多个用户和组。
- 选择角色。
- 选择添加以保存更改。
设置安全文件安全角色
默认情况下,安全文件的安全角色继承自项目级库角色分配。 可以替代单个文件的这些分配。 若要删除继承的用户或组,或降低继承角色的特权级别,必须禁用继承。
会自动为安全文件的创建者分配对该文件的管理员角色,无法更改。
要为安全文件设置权限,请执行以下步骤:
- 在项目中,选择管道>库。
- 选择安全文件。
- 选择一个文件。
- 选择“安全性”。
- 为用户和组设置所需的角色。
- 要删除用户或组,请选择用户或组,然后选择删除 。 除非禁用继承,否则无法删除继承的用户和组。
- 选择保存更改 以保存更改,或选择重置更改 以还原未保存的更改。
当显式设置角色时,将禁用该用户或组的继承。 若要禁用所有用户和组的继承,请关闭继承设置。 重新启用继承时,所有用户和组的角色将还原为其项目级分配。
要添加未在安全性对话框中列出的项目用户或组,请执行以下步骤:
- 选择 添加 。
- 在搜索栏中输入用户或组,然后从搜索结果中选择用户或组。 可以添加多个用户和组。
- 选择角色。
- 选择添加以保存更改。
设置变量组安全角色
默认情况下,变量组的安全角色继承自项目级库角色分配。 可以为单个变量组替代这些分配。 若要删除继承的用户或组,或降低继承角色的特权级别,必须禁用继承。
会自动为变量组的创建者分配对该组的管理员角色,无法更改。
要为变量组设置访问权限,请执行以下步骤:
- 在项目中,选择管道>库。
- 选择变量组。
- 选择“安全性”。
- 为用户和组设置所需的角色。
- 要删除用户或组,请选择用户或组,然后选择删除 。 除非禁用继承,否则无法删除继承的用户和组。
- 选择保存更改 以保存更改,或选择重置更改 以还原未保存的更改。
当显式设置角色时,将禁用该用户或组的继承。 若要禁用所有用户和组的继承,请关闭继承设置。 重新启用继承时,所有用户和组的角色将还原为其项目级分配。
要添加未在安全性对话框中列出的项目用户或组,请执行以下步骤:
- 选择 添加 。
- 在搜索栏中输入用户或组,然后从搜索结果中选择用户或组。 可以添加多个用户和组。
- 选择角色。
- 选择添加以保存更改。
在 Azure Pipelines 中设置发布管道权限
创建发布管道后,可以为各个发布管道和阶段的所有发布管道和对象级权限设置项目级权限。 还可以为发布阶段设置权限,这是从对象级发布管道权限继承的权限子集。
下表显示了发布管道的权限层次结构:
- 项目级发布管道权限
- 对象级发布管道权限
- 对象级阶段权限
下表显示了默认用户和组角色:
组 | 角色 |
---|---|
供稿人 | 除管理发布权限之外的所有权限。 |
项目管理员 | 所有权限。 |
Readers | 可以查看管道和发布。 |
发布管理员 | 所有权限。 |
Project Collection Administrators | 所有权限。 |
<项目名称>生成服务(<组织/集合名称>) | 可以查看管道和发布。 |
项目集合生成服务器(<组织/集合名称>) | 可以查看管道和发布。 |
有关权限说明,请参阅权限和组。
设置项目级别发布管道权限
要更新所有发布的权限,请执行以下步骤:
1. 从项目中,选择管道>发布。
选择文件视图图标。
选择所有管道文件夹。
选择更多操作 ,然后选择安全性。
选择用户和组并更改其权限。
完成后,关闭对话框以保存所做更改。
将用户或组添加到权限对话框
若要添加未在权限对话框中列出的用户和组,请执行以下步骤:
- 在搜索栏中输入用户或组,然后从搜索结果中选择用户或组。
- 设置权限。
- 关闭对话框。
再次打开安全对话框时,用户或组将列出。
从权限对话框中删除用户或组
要从权限列表中删除用户,请执行以下步骤:
从项目权限页中,选择用户或组。
选择删除并清除显式权限。
完成后,关闭对话框以保存所做更改。
要设置所有发布的权限,请执行以下步骤:
从项目中,选择管道>发布。
选择文件视图图标。
选择所有管道文件夹。
选择更多操作 ,然后选择安全性。
若要添加未在权限对话框中列出的用户或组,请选择添加,输入用户或组,然后选择保存更改。
选择用户和组,并将权限设置为允许、拒绝或未设置,然后选择保存更改或撤消更改。
对每个用户或组重复前一步以修改其权限。
完成后,关闭对话框。
设置对象级发布管道权限
默认情况下,单个发布管道的对象级权限继承自项目级发布管道权限。 可以为特定的发布管道替代这些继承的权限。
要替代发布的权限,请执行以下步骤:
从项目中,选择管道>发布。
选择文件视图图标。
选择要修改的发布管道,然后选择更多操作 >安全性。
选择用户或组,将其权限设置为允许、拒绝或未设置。
完成后,关闭对话框以保存所做更改。
显式设置继承的用户或组权限时,将为该特定权限禁用继承。 若要还原继承,请将权限设置为未设置。 若要禁用所有用户和组权限的继承,请关闭继承设置。 重新启用继承后,所有用户和组的权限还原回其项目级设置。
将用户或组添加到权限对话框
若要添加未在权限对话框中列出的用户和组,请执行以下步骤:
- 在搜索栏中输入用户或组,然后从搜索结果中选择用户或组。
- 设置权限。
- 关闭对话框。
再次打开安全对话框时,用户或组将列出。
从权限对话框中删除用户或组
可以从发布管道中删除用户和组。 除非禁用继承,否则无法删除继承的用户和组。 要删除用户或组的发布管道权限,请执行以下步骤:
选择用户或组。
选择删除并清除显式权限。
完成后,关闭对话框以保存所做更改。
可以将权限设置为允许、拒绝或未设置(如果未继承权限)。 如果启用继承,则可以将显式设置的权限更改回继承的值。
从项目中,选择管道>发布。
选择文件视图图标。
选择要修改的发布管道,选择更多操作,然后选择安全性。
若要添加未在权限对话框中列出的用户或组,请选择添加,输入用户或组,然后选择保存更改。
选择一个用户和组,并将权限设置为允许、拒绝或未设置或继承值(例如允许(继承))。
选择保存更改,也可以选择撤消更改以撤消更改。 在选择另一个用户或组之前,必须保存更改以应用权限。
若要删除用户或组,请选择用户或组,然后选择删除。 除非禁用继承,否则无法删除继承的用户和组。
完成后,选择确定。
显式设置继承的用户或组权限时,将为该特定权限禁用继承。 若要还原继承,请将权限设置为未设置。 选择清除显式权限,将所有显式设置的权限重置为其继承的设置。 若要禁用所有用户和组权限的继承,请关闭继承设置。 重新启用继承后,所有用户和组的权限还原回其项目级设置。
设置发布阶段权限
阶段权限是从对象级发布管道权限继承的权限子集。
要设置阶段的权限,请执行以下步骤:
从项目中,选择管道>发布。
选择文件视图图标 ,然后选择所有管道。
选择要从所有管道修改的发布管道
选择要修改的阶段。
选择更多选项图标 ,然后选择安全性。
若要添加未在权限对话框中列出的用户或组,请选择添加,输入用户或组,然后选择保存更改。
选择用户和组,将其权限设置为允许、拒绝或未设置。
选择保存更改,也可以选择撤消更改以撤消更改。 在选择另一个用户或组之前,必须保存更改以应用权限。
可以选择更多用户和组来更改其权限。
若要删除用户或组,请选择用户或组,然后选择删除。 除非禁用继承,否则无法删除继承的用户和组。
完成后,选择确定。
显式设置继承的用户或组权限时,将为该特定权限禁用继承。 若要还原继承,请将权限设置为未设置。 选择清除显式权限,将所有显式设置的权限重置为其继承的设置。 若要禁用所有用户和组权限的继承,请关闭继承设置。 重新启用继承后,所有用户和组的权限还原回其项目级设置。
在 Azure Pipelines 中设置服务连接的安全性
服务连接用于连接到外部和远程服务。 可以为以下项设置服务连接安全性:
- 项目:权限在对象级别设置。
- 管道:权限在对象级别设置。
- 用户和组:安全角色在项目和对象级别设置。
下表显示了服务连接角色:
角色 | 用途 |
---|---|
读者 | 可以查看服务连接。 |
用户 | 可以在经典管道和 YAML 生成和发布管道中使用服务连接。 |
创建者 | 可以在项目中创建服务连接。 此角色仅是项目级角色。 |
管理员 | 可以使用服务连接并管理其他用户和组的角色。 |
下表显示了服务连接的默认安全角色:
组 | 角色 |
---|---|
[项目名称]\终结点管理员 | 管理员 |
[项目名称]\终结点创建者 | 创建者 |
创建服务连接的用户将自动分配该服务连接的管理员角色。
- 管道:权限在对象级别设置。
- 用户和组:安全角色在项目和对象级别设置。
下表显示了服务连接角色:
角色 | 目的 |
---|---|
用户 | 可以在经典管道和 YAML 生成和发布管道中使用服务连接。 |
管理员 | 可以使用服务连接并管理其他用户和组的角色。 |
默认情况下,[项目]/\终结点管理员组被分配了项目中的所有服务连接的管理员角色。 创建服务连接的用户将自动分配该服务连接的管理员角色。
有关详细信息,请参阅服务连接。
有关详细信息,请参阅服务连接。
设置项目级服务连接安全角色
要管理所有服务连接的安全角色,请执行以下步骤:
在项目中,选择项目设置 。
在管道下,选择服务连接。
选择更多操作 ,然后选择安全性。
若要更改角色,请选择用户或组,并从下拉菜单中选择角色。
要删除用户或组,请选择用户或组,然后选择删除 。
选择保存以保存更改,或选择撤消以还原未保存的更改。
要添加未在安全性对话框中列出的项目用户或组,请执行以下步骤:
- 选择 添加 。
- 在搜索栏中输入用户或组,然后从搜索结果中选择用户或组。 可以添加多个用户和组。
- 选择角色。
- 选择添加以保存更改。
设置对象级服务连接安全性
可以为用户和组设置安全角色,以及对服务连接的管道和项目访问权限。 默认情况下,单个服务连接将继承用户和组的项目级角色分配。
若要打开单个服务连接的安全对话框,请执行以下步骤:
- 在项目中,选择项目设置 。
- 在管道下,选择服务连接。
- 选择服务连接。
- 选择更多操作 ,然后选择安全性。
为用户和组设置服务连接安全角色
可以替代用户和组的继承角色。 必须禁用继承才能删除继承的用户或组,或降低继承角色的特权级别。
要管理单个服务连接的安全角色,请执行以下步骤:
在安全对话框的用户权限部分中,选择项目以管理项目级用户和组,或者选择组织以管理组织或集合级用户和组。
选择用户和组并更改其角色。 若要降低继承角色的特权级别,必须禁用继承。
要删除用户或组,请选择用户或组,然后选择删除 。 除非禁用继承,否则无法删除继承的用户和组。
选择保存以保存更改,或选择撤消以还原未保存的更改。
当显式设置角色时,将禁用该用户或组的继承。 若要禁用所有用户和组的继承,请关闭继承设置。 重新启用继承时,所有用户和组的角色将还原为其项目级分配。
若要添加安全对话框中未列出的项目用户或组,请执行以下操作:
- 选择 添加 。
- 在搜索栏中输入用户或组,然后从搜索结果中选择用户或组。 可以添加多个用户和组。
- 选择角色。
- 选择添加以保存更改。
设置服务连接管道权限
可以将管道权限设置为开放访问权限,允许所有管道使用服务连接,也可以限制对特定管道的访问。
当管道权限设置为开放访问权限时,可以通过选择限制访问选项来限制访问权限。
若要将管道添加到受限服务连接,请选择添加管道 ,然后从下拉菜单中选择管道。
若要将服务连接从受限更改为开放访问权限,请选择更多操作 ,然后选择开放访问权限。
设置服务连接项目权限
你可以跨多个项目共享服务连接。 项目权限控制哪些项目可以使用服务连接。 默认情况下,服务连接不会与任何其他项目共享。
- 只有“用户权限”中的组织级别管理员可以与其他项目共享服务连接。
- 与项目共享服务连接的用户至少应在目标项目中具有“创建服务连接”权限。
- 与项目共享服务连接的用户将成为该服务连接的项目级别管理员。 在目标项目中,项目级别的继承设置为“开”。
- 服务连接名称追加在项目名称之后,并且可以在目标项目范围内重命名。
- 组织级别管理员可以从任何共享项目取消共享服务连接。
默认情况下,访问权限仅限于当前项目。 若要授予对组织或集合中其他项目的访问权限,请选择添加项目。
为单个服务连接设置安全角色
若要为单个连接的用户和组设置安全角色,请执行以下步骤:
在项目中,选择项目设置 。
在“管道”下,选择服务连接。
选择服务连接。
选择用户或组,并将角色更改为用户或管理员。 若要降低继承角色的特权级别,必须为服务连接禁用继承。
选择保存更改 以保存更改,或选择重置更改 以还原未保存的更改。
当显式设置角色时,将禁用该用户或组的继承。 若要禁用所有用户和组的继承,请关闭继承设置。 重新启用继承时,所有用户和组的角色将还原为其项目级分配。
要添加未在安全性对话框中列出的项目用户或组,请执行以下步骤:
- 选择 添加 。
- 在搜索栏中输入用户或组,然后从搜索结果中选择用户或组。 可以添加多个用户和组。
- 选择角色。
- 选择添加以保存更改。
若要从列表中删除用户或组,请选择用户或组,然后选择删除 。 除非禁用继承,否则无法删除继承的用户和组。
如果在权限和服务连接方面遇到问题,请参阅排查 Azure 资源管理器服务连接问题。
在 Azure Pipelines 中设置任务组权限
任务组权限遵循分层模型。 默认情况下,所有任务组都继承项目级权限。 创建任务组后,可以修改单个任务组的项目级权限和对象级权限。
下表显示了任务组的权限:
权限 | 说明 |
---|---|
管理任务组权限 | 可以向任务组安全性添加和删除用户或组。 |
删除任务组 | 可以删除任务组。 |
编辑任务组 | 可以创建、修改或删除任务组。 |
下表显示了安全组的默认权限:
任务 | Readers | 作者 | 生成管理员 | 项目管理员 | 发布管理员 |
---|---|---|---|---|---|
管理任务组权限 | ✔️ | ✔️ | ✔️ | ||
删除任务组 | ✔️ | ✔️ | ✔️ | ||
编辑任务组 | ✔️ | ✔️ | ✔️ | ✔️ |
任务组的创建者对任务组拥有所有权限。
注意
YAML 管道中不支持任务组,但支持模板。 有关详细信息,请参阅 YAML 架构引用。
设置项目级任务组权限
要设置项目级任务组的权限,执行以下步骤:
在项目中,选择管道>任务组。
选择“安全性”。
选择用户和组,将其权限设置为允许、拒绝或未设置。
完成后,关闭对话框以保存所做更改。
将用户或组添加到权限对话框
若要添加未在权限对话框中列出的用户和组,请执行以下步骤:
- 在搜索栏中输入用户或组,然后从搜索结果中选择用户或组。
- 设置权限。
- 关闭对话框。
再次打开安全对话框时,用户或组将列出。
从权限对话框中删除用户或组
要从权限列表中删除用户,请执行以下步骤:
选择用户或组。
选择删除并清除显式权限。
完成后,关闭对话框以保存所做更改。
要设置项目级任务组的权限,执行以下步骤:
在项目中,选择管道>任务组。
选择“安全性”。
若要添加未在权限对话框中列出的用户或组,请选择添加,输入用户或组,然后选择保存更改。
选择一个用户或组,将权限设置为允许、拒绝或未设置。
选择保存更改,也可以选择撤消更改以撤消更改。 在选择另一个用户或组之前,必须保存更改以应用权限。
可以选择更多用户和组来更改其权限。
完成后,选择关闭。
设置对象级任务组权限
要为单个任务组设置权限,请执行以下步骤:
在项目中,选择管道>任务组。
选择任务组。
选择更多命令 ,然后选择安全性。
选择用户和组,将其权限设置为允许、拒绝或未设置。
完成后,关闭对话框以保存所做更改。
显式设置继承的用户或组权限时,将为该特定权限禁用继承。 将权限更改为未设置以还原继承。 若要禁用所有用户和组权限的继承,请关闭继承设置。 重新启用继承后,所有权限的设置还原到项目级别。
将用户或组添加到权限对话框
若要添加未在权限对话框中列出的用户和组,请执行以下步骤:
- 在搜索栏中输入用户或组,然后从搜索结果中选择用户或组。
- 设置权限。
- 关闭对话框。
再次打开安全对话框时,用户或组将列出。
从权限对话框中删除用户或组
可以从任务组中删除用户和组。 除非禁用继承,否则无法删除继承的用户和组。
选择用户或组。
选择删除并清除显式权限。
完成后,关闭对话框以保存所做更改。
可以将权限设置为允许、拒绝或未设置(如果未继承权限)。 如果启用继承,则可以将显式设置的权限更改回继承的值。
要为单个任务组设置权限,请执行以下步骤:
在项目中,选择管道>任务组。
选择任务组。
选择更多命令 ,然后选择安全性。
选择用户和组,将其权限设置为允许、拒绝或未设置。
完成后,关闭对话框以保存所做更改。
显式设置继承的用户或组权限时,将为该特定权限禁用继承。 将权限更改为未设置以还原继承。 若要禁用所有用户和组权限的继承,请关闭继承设置。 重新启用继承后,所有权限的设置还原到项目级别。
将用户或组添加到权限对话框
若要添加未在权限对话框中列出的用户和组,请执行以下步骤:
- 在搜索栏中输入用户或组,然后从搜索结果中选择用户或组。
- 设置权限。
- 关闭对话框。
再次打开安全对话框时,用户或组将列出。
从权限对话框中删除用户或组
可以从任务组中删除用户和组。 除非禁用继承,否则无法删除继承的用户和组。
选择用户或组。
选择删除并清除显式权限。
完成后,关闭对话框以保存所做更改。
可以将权限设置为允许、拒绝或未设置(如果未继承权限)。 如果启用继承,则可以将显式设置的权限更改回继承的值。
要设置任务组的权限,请执行以下步骤:
在项目中,选择管道>任务组。
选择任务组。
选择更多命令 >安全性。
若要添加未在权限对话框中列出的用户或组,请选择添加,输入用户或组,然后选择保存更改。
选择用户和组,将其权限设置为允许、拒绝或未设置。
选择保存更改,也可以选择撤消更改以撤消更改。 在选择另一个用户或组之前,必须保存更改以应用权限。
可以选择更多用户和组来更改其权限。
若要删除用户或组,请选择用户或组,然后选择删除。 除非禁用继承,否则无法删除继承的用户和组。
完成后,选择确定。
显式设置继承的用户或组权限时,将为该特定权限禁用继承。 将权限更改为未设置以还原继承。 选择清除显式权限,将所有显式设置的权限重置为其继承的设置。 若要禁用所有用户和组权限的继承,请关闭继承设置。 重新启用继承后,所有权限的设置还原到项目级别。
在 Azure Pipelines 中设置代理池的安全性
代理池是用于运行生成和发布作业的代理的集合。
可以创建具有组织范围或项目范围的代理池。 组织范围的代理池可供组织中的所有现有或新项目访问,默认情况下,每个组织都有两个代理池:Azure Pipelines 和 Default。 组织中的所有项目都可以访问这些默认池。
项目范围的代理池是在项目级别创建的,并且只能由该项目访问。
在组织设置中,可以管理组织中所有代理池和单个代理池的组织级别安全设置。 组织级别和项目级别安全角色都可以从项目设置进行管理。
可以创建具有集合范围或项目范围的代理池。 集合范围的代理池可供集合中的所有现有或新项目访问,默认情况下,每个集合都有两个代理池:Azure Pipelines 和 Default。 集合中的所有项目都可以访问这些默认池。
项目范围的代理池是在项目级别创建的,并且只能由该项目访问。
从集合设置中,可以管理集合中所有代理池和单个代理池的集合级别安全设置。 集合级别和项目级别的安全角色都可以在对象级别通过项目设置进行管理。
使用预定义的安全角色管理代理池的安全性。
下表显示了代理池的安全角色:
角色 | 用途 |
---|---|
读者 | 可以查看代理池。 |
用户 | 可以在经典和 YAML 生成和发布管道中使用代理池。 |
创建者 | 可以在项目中创建代理池。 此角色仅是项目级角色。 |
服务帐户 | 可以查看代理、创建会话和侦听代理池中的作业。 此角色仅在组织/集合级别设置。 |
管理员 | 可以管理和使用代理池,并管理其他用户和组的角色。 |
下表显示了代理池的默认项目和对象安全角色:
组 | 角色 |
---|---|
[项目名称]\项目管理员 | 管理员 |
[项目名]\生成管理员 | 管理员 |
[项目名称]\项目有效用户 | 读者 |
[项目名]\发布管理员 | 管理员 |
创建代理池的用户 | 管理员 |
将主体添加为用户
在代理池的“安全性”设置中添加主体(例如服务主体)之前,请将其添加为组织中的用户。
- 转到 “组织设置”。
- 选择用户。
- 添加具有基本访问权限或更高权限的服务主体。
为代理池设置组织安全性
可以管理组织中所有代理池或单个项目范围的代理池的集合级用户和组。 代理池的安全角色为读者、服务帐户和管理员。 用户和创建者角色在组织级别不可用。
为所有代理池设置组织安全性
默认情况下,没有任何用户或组对组织级别的所有池具有明确的角色。 你可以添加组织级别的用户和组,并为组织中的所有代理池管理安全角色。
要管理组织中所有代理池的安全角色,请执行以下步骤:
转到组织设置:,然后选择代理池。
选择“安全性”。
若要添加用户和组,请执行以下操作:
选择添加
输入用户或组,然后从搜索结果中选择它。
重复前一步,以添加更多用户和组。
选择角色,然后选择添加
若要从列表中删除用户或组,请选择用户或组,然后选择删除 。
若要更改安全角色,请选择用户或组,并从下拉列表中选择该角色。
选择保存更改 以保存更改,或选择重置更改 以还原未保存的更改。
关闭对话框。
为单个代理池设置组织安全性
单个代理池继承组织级安全分配。 Default 和 Azure Pipelines 代理池包括组织中每个项目的项目有效用户组。
在项目级别创建的代理池会自动分配 [<项目名称>]\项目有效用户组和代理池的创建者。 无法删除或修改创建者。 此处列出了从项目设置添加的任何组织级用户和组。
可以添加和删除组织级用户和组,并为单个代理池设置安全角色。 此级别的安全角色为读者、服务帐户和管理员。
要管理集合中所有代理池的安全角色,请执行以下步骤:
- 转到组织设置:,然后选择代理池。
- 选择代理池。
- 选择“安全性”。
- 若要添加用户和组,请执行以下操作:
- 选择添加
- 输入用户或组,然后从搜索结果中选择它。
- 重复前一步,以添加更多用户和组。
- 选择角色,然后选择添加。
- 要删除用户或组,请选择用户或组,然后选择删除 。
- 若要更改安全角色,请选择用户或组,并从下拉列表中选择该角色。
- 选择保存更改 以保存更改,或选择重置更改 以还原未保存的更改。
- 关闭对话框。
为代理池设置集合安全性
可以为集合中的所有代理池管理集合级别的用户和组,也可以在对象级别为项目范围的代理池管理用户和组。 代理池的安全角色为读者、服务帐户和管理员。 用户和创建者角色在集合级别不可用。
为所有代理池设置集合安全性
默认情况下,没有任何用户或组对集合中的所有池具有明确的角色。 可以添加集合级别的用户和组,并为集合中的所有代理池管理安全角色。
要管理集合中所有代理池的安全角色,请执行以下步骤:
转到集合设置:,然后选择代理池。
选择“安全性”。
若要添加用户和组,请执行以下操作:
选择添加
输入用户或组,然后从搜索结果中选择它。
重复前一步,以添加更多用户和组。
选择角色,然后选择添加。
若要从列表中删除用户或组,请选择用户或组,然后选择删除 。 必须关闭继承,或者用户或组不得从项目级安全设置继承。
若要更改安全角色,请选择用户或组,并从下拉列表中选择该角色。
选择保存更改 以保存更改,或选择重置更改 以还原未保存的更改。
关闭对话框。
为单个代理池设置集合安全性
单个代理池继承集合级安全分配。 Default 和 Azure Pipelines 代理池包括集合中每个项目的项目有效用户组。
在项目级别创建的代理池会自动分配 [<项目名称>]\项目有效用户组和代理池的创建者。 无法删除或修改创建者。 此处列出了从项目设置添加的任何集合级用户和组。
可以添加和删除集合级用户和组,并为单个代理池设置安全角色。 此级别的安全角色为读者、服务帐户和管理员。 若要降低继承角色的特权级别,必须禁用继承。
要管理集合中所有代理池的安全角色,请执行以下步骤:
转到集合设置:,然后选择代理池。
选择代理池。
选择“安全性”。
若要添加用户和组,请执行以下操作:
选择添加
输入用户或组,然后从搜索结果中选择它。
重复前一步,以添加更多用户和组。
选择角色,然后选择添加。
要删除用户或组,请选择用户或组,然后选择删除 。
若要更改安全角色,请选择用户或组,并从下拉列表中选择该角色。
选择保存更改 以保存更改,或选择重置更改 以还原未保存的更改。
关闭对话框。
为代理池设置集合安全性
可以为集合中的所有代理池管理集合级别的用户和组,更具体地说,也可以在对象级别为项目范围的代理池管理用户和组。 代理池的安全角色为读者、服务帐户和管理员。 用户和创建者角色在集合级别不可用。
为所有代理池设置集合安全性
默认情况下,没有任何用户或组对集合中的所有池具有明确的角色。 可以添加集合级别的用户和组,并为集合中的所有代理池管理安全角色。
要管理集合中所有代理池的安全角色,请执行以下步骤:
转到集合设置:,然后选择代理池。
选择所有代理池。
若要添加用户和组,请执行以下操作:
选择添加
输入用户或组,然后从搜索结果中选择它。
重复前一步,以添加更多用户和组。
选择角色,然后选择添加。
若要从列表中删除用户或组,请选择用户或组,然后选择删除 。
若要更改安全角色,请选择用户或组,并从下拉列表中选择该角色。
选择保存更改 以保存更改,或选择重置更改 以还原未保存的更改。
为单个代理池设置集合安全性
默认情况下,单个代理池从集合级别分配继承其用户和组角色。
可以添加和删除用户和组,并为单个代理池设置安全角色。 若要删除继承的用户或组,或降低继承角色的特权级别,必须禁用继承。
此级别的安全角色为读者、服务帐户和管理员。
要管理集合中所有代理池的安全角色,请执行以下步骤:
转到集合设置:,然后选择代理池。
选择代理池。
选择角色选项卡。
若要添加用户和组,请执行以下操作:
选择添加
输入用户或组,然后从搜索结果中选择它。
重复前一步,以添加更多用户和组。
选择角色,然后选择添加。
若要从列表中删除用户或组,请选择用户或组,然后选择删除 。
若要更改安全角色,请选择用户或组,并从下拉列表中选择该角色。
选择保存更改 以保存更改,或选择重置更改 以还原未保存的更改。
设置项目级代理池安全性
要为所有代理池设置项目级安全角色,请执行以下步骤:
在项目中,选择项目设置 ,并选择代理池。
选择“安全性”。
选择一个用户或组,并将角色设置为读者、用户、创建者或管理员。
要删除用户或组,请选择用户或组,然后选择删除 。
选择保存更改 以保存更改,或选择重置更改 以还原未保存的更改。
若要添加安全对话框中未列出的项目用户或组,请执行以下操作:
选择 添加 。
在搜索栏中输入用户或组,然后从搜索结果中选择用户或组。 可以添加多个用户和组。
选择角色。
选择添加以保存更改。
设置对象级代理池安全性
可以替代项目级用户和组角色分配,并为单个代理池设置管道权限。 若要删除继承的用户或组,或降低继承角色的特权级别,必须禁用继承。
若要打开安全对话框,请执行以下操作:
在项目中,选择项目设置 ,并选择代理池。
选择代理池。
选择“安全性”。
为单个代理池设置管道权限
若要为单个代理池设置管道权限,请执行以下操作:
选择限制权限。 只有当池不限于特定管道时,此选项才可用。
选择添加管道 。
从下拉菜单中选择要添加到代理池的管道。
若要开放对所有管道的访问权限,请选择更多操作 ,然后选择开放访问权限。
设置对象级代理池用户权限
在安全对话框的用户权限部分中:
选择一个用户或组,并将角色设置为读者、用户或管理员。
要删除用户或组,请选择用户或组,然后选择删除 。 除非禁用继承,否则无法删除继承的用户和组。
选择保存更改 以保存更改,或选择重置更改 以还原未保存的更改。
当显式设置角色时,将禁用该用户或组的继承。 若要禁用所有用户和组的继承,请关闭继承设置。 重新启用继承时,所有用户和组的角色将还原为其项目级分配。
要添加未在安全性对话框中列出的项目用户或组,请执行以下步骤:
选择 添加 。
在搜索栏中输入用户或组,然后从搜索结果中选择用户或组。 可以添加多个用户和组。
选择角色。
选择添加以保存更改。
要为单个代理池设置管道和用户安全角色和管道权限,请执行以下步骤。
转到代理池,并选择安全性。
使用授予对所有管道的访问权限开关,启用或禁用对项目中所有管道的权限:
若要为代理池设置对象级用户和组角色,请执行以下操作:
在安全对话框的用户权限部分中:
选择一个用户或组,并将角色设置为读者、用户或管理员。
要删除用户或组,请选择用户或组,然后选择删除 。 除非禁用继承,否则无法删除继承的用户和组。
选择保存更改 以保存更改,或选择重置更改 以还原未保存的更改。
当显式设置角色时,将禁用该用户或组的继承。 若要禁用所有用户和组的继承,请关闭继承设置。 重新启用继承时,所有用户和组的角色将还原为其项目级分配。
要添加未在安全性对话框中列出的项目用户或组,请执行以下步骤:
选择 添加 。
在搜索栏中输入用户或组,然后从搜索结果中选择用户或组。 可以添加多个用户和组。
选择角色。
选择添加以保存更改。