Manage permissions
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure Artifacts enables you to publish, consume, and store various types of packages in your feed. By configuring permissions for your feed, you can manage access to your packages and control who can interact with them.
Azure Artifacts settings
Sign in to your Azure DevOps organization, and then navigate to your project.
Select Artifacts, and then select your feed from the dropdown menu. Select the Azure Artifacts settings icon on the right.
Note
By default, the Azure Artifacts settings icon is only visible to feed owners and project collection administrators.
Choose the users or groups who should have the ability to create and/or administer feeds, and then select Save when you're done.
Feed settings
Sign in to your Azure DevOps organization, and then navigate to your project.
Select Artifacts, and then select your feed from the dropdown menu. Select the gear icon to navigate to your feed's settings.
Select Permissions, and then select Add users/groups.
Add new user(s)/group(s) and choose the appropriate Role for them.
Select Save when you're done.
Note
By default, the Project Collection Build Service (org-scoped) and the project-level Build Service (project-scoped) are assigned the Feed and Upstream Reader (Collaborator) role.
Note
By default, the Project Collection Build Service is automatically assigned the Feed and Upstream Reader (Collaborator) role for newly created collection-scoped feeds.
Permissions table
Permission | Feed Reader | Feed and Upstream Reader (Collaborator) | Feed Publisher (Contributor) | Feed Owner |
---|---|---|---|---|
List packages in the feed | ✓ | ✓ | ✓ | ✓ |
Download/install/restore packages | ✓ | ✓ | ✓ | ✓ |
Save packages from upstream sources | ✓ | ✓ | ✓ | |
Publish packages | ✓ | ✓ | ||
Promote packages to a view | ✓ | ✓ | ||
Deprecate/unlist/yank packages | ✓ | ✓ | ||
Delete/unpublish packages | ✓ | |||
Add/remove upstream sources | ✓ | |||
Allow external package versions | ✓ | |||
Edit feed settings | ✓ |
Note
Azure Artifacts Administrators, including Project Collection Administrators, automatically have the Feed Owner role on all feeds.
Note
In Azure Artifacts, feeds may be scoped to a single project or to the entire organization. To access a project-scoped feed, a user must also have access to the project containing that feed.
Feed views settings
Feed views enable users to share certain packages while keeping others private. A common scenario for using a feed view is sharing a package version that has already been tested and validated but keeping packages under development private.
By default, there are three views in a feed: @Local, @Prerelease, and @Release. The latter two are suggested views that you can rename or delete as desired. The @Local view is the default view and it includes all the packages published to the feed as well as all the packages downloaded from upstream sources.
Important
Users who have access to a specific view are able to access and download packages from the feed through that view even if they don't have direct access to that feed. If you want to completely hide your packages, you must restrict access to both the feed and its views.
Sign in to your Azure DevOps organization, and then navigate to your project.
Select Artifacts, and then select your feed from the dropdown menu. Select the gear icon to navigate to your feed's settings.
Select Views, and then select the ellipsis button, and then select Edit to modify its permission. To restrict access to your view, change its visibility to specific people.
Select Save when you're done. The access permissions column should reflect your changes.
Important
Views inherit permissions from the parent feed. If you set a view's visibility to Specific people without specifying any users or groups, the view's permissions will default back to the permissions of its parent feed.
Pipelines permissions
To access your feed from your pipeline, the corresponding build identity must have the necessary permissions. If your pipeline is unable to access your feed, you might need to add the corresponding build identity to your feed's permissions.
Tip
- The project-level build identity is named
[Project name] Build Service ([Organization name])
, for exampleFabrikamFiber Build Service (codesharing-demo)
. - The organization-level build identity is named
Project Collection Build Service ([Organization name])
, for exampleProject Collection Build Service (codesharing-demo)
.
Sign in to your Azure DevOps organization, and then navigate to your project.
Select Artifacts, and then select your feed from the dropdown menu. Select the gear icon to navigate to Feed settings.
Select Permissions, and then select Add users/groups. Add your build identity and set its role to Feed and Upstream Reader (Collaborator). If you have a pipeline that needs to publish packages to the feed, set the role to Feed Publisher (Contributor) instead.
Note
If you want to access a feed in a different project from your pipeline, and your pipeline uses the project-level build identity, you must set up the other project to grant that identity at least the "Read project-level information" permission.