Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020
Azure Artifacts 使开发人员能够通过在单个源中托管各种类型的包来有效地管理依赖项。 使用灵活的权限设置,可以微调对包的访问权限,控制谁可以创建或管理源,以及管理如何从 Azure Pipelines 访问包。
Azure Artifacts 设置
使用 Azure Artifacts 设置,可以控制谁可以创建和管理管理员源。
注释
必须是源所有者或 项目集合管理员 才能配置 Azure Artifacts 设置。
- 登录到 Azure DevOps 组织并导航到项目。 
- 选择 “项目”,然后从下拉菜单中选择源。 
- 选择右侧的 Azure Artifacts 设置 图标。 
- 选择 “谁可以创建源 ”和 “谁可以管理源”,然后在完成后选择“ 保存 ”。   
源设置
在 Azure Artifacts 源设置中,可以管理源的各个方面,例如启用包共享、配置保留策略、添加新用户或组、管理视图权限以及设置或修改上游源。 下面介绍如何将新用户或组添加到源:
- 登录到 Azure DevOps 组织,然后导航到项目。 
- 选择 “项目”,然后从下拉菜单中选择源。 
- 选择右侧的齿轮图标以导航到 源设置。 
- 选择 “权限”,然后选择“ 添加用户/组”。   
- 添加新用户或组,并分配相应的 角色: - 源所有者:除了参与者权限外,还可以删除包、允许外部包版本、编辑源设置和管理上游源。
- 源发布者(参与者):可以发布、升级或弃用包以及协作者权限。
- 源和上游读取器(协作者):除了读取者权限外,还可以从上游源保存包。
- 源读取器:可以从源查看和下载包。
 
- 完成时选择“保存”。 
注释
默认情况下, 项目集合生成服务 (组织范围)和项目级 生成服务 (项目范围)将分配 源和上游读取者(协作者) 角色。
注释
默认情况下,对于新创建的组织范围的源,“项目集合生成服务”会自动被分配“源和上游读取者(协作者)”角色。
源角色和权限
Azure Artifacts 提供灵活的权限模型来管理源中的访问。 每个角色都有特定权限,用于确定用户或组可以执行的作。 下表概述了与每个角色关联的关键权限:
| 许可 | RSS阅读器 | 源和上游读取者(协作者) | 源发布者(参与者) | 源所有者 | 
|---|---|---|---|---|
| 列出源中的包 | ✓ | ✓ | ✓ | ✓ | 
| 下载/安装/恢复包 | ✓ | ✓ | ✓ | ✓ | 
| 从上游源保存包 | ✓ | ✓ | ✓ | |
| 发布软件包 | ✓ | ✓ | ||
| 将包提升为视图 | ✓ | ✓ | ||
| 弃用/取消列出/软停程序包 | ✓ | ✓ | ||
| 删除/取消发布包 | ✓ | |||
| 添加/删除上游源 | ✓ | |||
| 允许外部包版本 | ✓ | |||
| 编辑信息流设置 | ✓ | |||
| 删除源 | ✓ | 
注释
项目集合管理员 和 Azure Artifacts 管理员 会自动为项目中的所有源授予 源所有者 角色。
源视图设置
Azure Artifacts 中的源视图使用户可以共享特定包,同时使其他人保持私密。 常见的用例是共享已测试和验证的包版本,同时使包仍处于开发受限状态。
默认情况下,每个源包括三个视图: @Local、 @Prerelease和 @Release。 后两个是建议的视图,可以根据需要重命名或删除。 该 @Local 视图是默认设置,包括直接发布到源的所有包,以及从上游源保存的包。
重要
有权访问特定视图的用户可以通过该视图访问和下载信息流中的软件包,即使他们没有直接访问信息流的权限。 如果你想完全隐藏你的包,则必须限制对该源及其视图的访问。
- 登录到 Azure DevOps 组织,然后导航到项目。 
- 选择 “项目”,然后从下拉菜单中选择源。 
- 选择齿轮图标以导航到 源设置。 
- 选择 视图,选择视图旁边的省略号按钮,然后选择 “编辑” 以修改其权限。 
- 若要限制对视图的访问,请将可见性设置更改为 特定人员。 - 重要 - 视图会从父源继承权限。 如果将视图的可见性设置为 “特定人员 ”而不指定任何用户或组,则视图的权限将默认回到父源的权限。 
- 完成时选择“保存”。 访问权限列将更新以反映所做的更改。   
注释
若要将来自其他组织的源添加为上游源,目标源所有者必须与 与我的 Microsoft Entra 租户关联的组织中所有源和人员共享目标视图。 这可以通过导航到 源设置>视图、选择指定视图旁边的省略号、选择 “编辑”和调整权限来完成。
管道权限
若要从你的管道访问你的源,相应的生成标识必须拥有必要的权限。
项目级生成标识命名 [Project name] Build Service ([Organization name]),例如 FabrikamFiber Build Service (codesharing-demo) ,当组织级生成标识命名 Project Collection Build Service ([Organization name])时,例如 Project Collection Build Service (codesharing-demo)。 下面介绍如何将生成标识添加到源的权限:
- 登录到 Azure DevOps 组织,然后导航到项目。 
- 选择 “项目”,然后从下拉菜单中选择源。 
- 选择齿轮图标  以导航到“源设置”。 以导航到“源设置”。
- 选择 “权限”,然后选择“ 添加用户/组”。 添加你的生成标识并为其分配“源和上游读取者(协作者)”角色。 如果管道需要将包发布到源,请确保“项目集合生成服务”和“项目的生成服务”标识都具有“源发布者(贡献者)”角色。   
例子
请参阅以下示例,了解如何使用 Azure Pipelines 对包进行身份验证并发布到您的源。
| 包类型 | Article | 
|---|---|
| NuGet | 使用 Azure Pipelines 发布 NuGet 包 | 
| Npm | 使用 Azure Pipelines 发布 npm 包 | 
| Maven | 使用 Azure Pipelines 发布 Maven 工件 | 
| Python | 使用 Azure Pipelines 发布 Python 包 | 
| Cargo | 使用 Azure Pipelines 发布 Cargo 包 | 
| Universal Packages | 使用 Azure Pipelines 发布通用包 | 
| 包类型 | Article | 
|---|---|
| NuGet | 使用 Azure Pipelines 发布 NuGet 包 | 
| Npm | 使用 Azure Pipelines 发布 npm 包 | 
| Maven | 使用 Azure Pipelines 发布 Maven 工件 | 
| Python | 使用 Azure Pipelines 发布 Python 包 | 
| Cargo | 使用 Azure Pipelines 发布 Cargo 包 | 
| 包类型 | Article | 
|---|---|
| NuGet | 使用 Azure Pipelines 发布 NuGet 包 | 
| Npm | 使用 Azure Pipelines 发布 npm 包 | 
| Maven | 使用 Azure Pipelines 发布 Maven 工件 | 
| Python | 使用 Azure Pipelines 发布 Python 包 | 
注释
如果管道使用项目级生成标识,并且需要访问其他项目中的源,则必须将其他项目配置为至少授予 生成标识“编辑项目级信息”权限 。