Manage permissions

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018

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

  1. Sign in to your Azure DevOps organization, and then navigate to your project.

  2. Select Artifacts, and then select your feed from the dropdown menu. Select the Azure Artifacts settings icon on the right.

    A screenshot showing how to access Azure Artifacts settings.

    Note

    By default, the Azure Artifacts settings icon is only visible to feed owners and project collection administrators.

  3. Choose the users or groups who should have the ability to create and/or administer feeds, and then select Save when you're done.

    Screenshot showing how to set up Azure Artifacts settings.

Feed settings

  1. Sign in to your Azure DevOps organization, and then navigate to your project.

  2. Select Artifacts, and then select your feed from the dropdown menu. Select the gear icon to navigate to your feed's settings.

    A screenshot showing how to navigate to the feed's settings.

  3. Select Permissions, and then select Add users/groups.

    A screenshot showing how to access feed permissions.

  4. Add new user(s)/group(s) and choose the appropriate Role for them.

    Screenshot showing how to add new users or groups.

  5. Select Save when you're done.

  1. Select Build and Release.

  2. Select Packages, and then select the gear icon to navigate to your feed's settings.

  3. Select Permissions, and then select Add user/group.

    A screenshot showing feed permissions in TFS.

  4. Add new user(s)/group(s) and choose the appropriate Role for them.

  5. 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 Collaborator role.

Note

By default, the Project Collection Build Service is automatically assigned the Collaborator role for newly created collection-scoped feeds.

Permissions table

Permission Reader Collaborator Contributor Owner Administrator
List/install/restore packages
Publish packages
Unlist packages (NuGet)
Deprecate packages (Npm)
Yank packages (Cargo)
Delete packages
Promote packages to a view
Add/remove upstream sources
Allow external package versions
Save packages from upstream sources
Edit feeds settings

Note

To access a project-scoped feed, a user must also have access to the project hosting 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 view. 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 feed and views.

  1. Sign in to your Azure DevOps organization, and then navigate to your project.

  2. Select Artifacts, and then select your feed from the dropdown menu. Select the gear icon to navigate to your feed's settings.

  3. 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.

    A screenshot showing how to change views visibility.

  4. Select Save when you're done. The access permissions column should reflect your changes.

    A screenshot showing the prerelease view permissions.

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. By default, feeds have the Project Collection Build Service role set to Collaborator. However, if you have configured your pipeline to run at project-scope, you will need to add the project-level build identity as a Reader or Contributor. Example: FabrikamFiber Build Service (codesharing-demo).

  1. Sign in to your Azure DevOps organization, and then navigate to your project.

  2. Select Artifacts, and then select your feed from the dropdown menu. Select the gear icon gear icon to navigate to Feed settings.

  3. Select Permissions, and then select Add users/groups. Add your build identity and set its role to a Contributor.

    A screenshot showing the build identity permission.

Pipelines permissions

To access your feed from your pipeline, the corresponding build identity must have the necessary permissions. if you have configured your pipeline to run at project-scope, you will need to add the project-level build identity as a Reader or Contributor. Example: FabrikamFiber Build Service (codesharing-demo).

  1. Sign in to your Azure DevOps organization, and then navigate to your project.

  2. Select Artifacts, and then select your feed from the dropdown menu. Select the gear icon gear icon to navigate to Feed settings.

  3. Select Permissions, and then select Add users/groups. Add your build identity and set its role to a Contributor.

Note

If you want to access a feed in a different project from your pipeline, you must configure the other project to provide read/write access to the build service.