Setting permissions in Azure DevOps - azure-devops

I need some of my users to see/update only the boards others to see Repos, others to see the Pipelines only. Is there a way to set such permissions?
I couldn't find any default permission that does this

The lowest access level we can give is stakeholder and set users as Project Reader, this makes Repos invisible at most.Users can still see Boards and Pipelines,but without permission to update.
If you don't want some users to see Repos, then you can set the access level of these users to Stakeholder, and then check the project in Manage projects that you want the user to enter, so that these users can only see Boards and Pipelines without Repos in the project. Note:Make sure that the project you want these users to enter is a private project.
You can also set up the following settings to make the content in Repos inaccessible.
Setting: Project Settings -> Repos Repositories ->select the users or groups which you want to set permission -> change the Read permission to Deny
In addition you can make the build pipeline and release pipeline in the Pipelines service invisible to the specified users.
Settings: Pipelines Builds -> Click "⋮" choose Security -> select the users or groups you want to set permissions -> Change the View build pipeline permission to Deny
The same setting in Releases can make the release pipeline invisible.
Hope this helps.

Related

How Do I Restrict Access To Viewing Azure DevOps Project Settings?

I want to add a group/user to an Azure DevOps project with just access to repositories and pipelines.
If I deny "View project-level information" they don't have access to the project at all.
If I allow the "View project-level information" it gives them a read-only access to the Project Settings including permissions to see users and members of other groups etc.
It seems unbelievable that such a basic security and privacy hole exists.
Am I missing something in the config because I have never seen this in any other application and I find it hard to believe that everyone else using Azure DevOps finds this acceptable.
The easiest equivalent is GitHub (that Microsoft now owns) and you can't see the project settings if you are just a contributor.
How do I give external contractors access to the project to work but prevent them from viewing the Project Settings?
There is no possibility to restrict access to the Team Project - Project Settings page. The only thing that comes close is the feature that is now in preview: Limit user visibility and collaboration to specific projects, which will enable you to restrict access to the Organization Settings. You could suggest this feature in the Microsoft Developer Community.

Issue in team members access to azure devops project

I have added multiple team members to two different teams in Azure Devops project. But team members are not able to see organization, project and dashboards when they login to devops account?
team members are not able to see organization, project and dashboards
Users cannot see the organization, you can first check whether these users have been added to the organization in Users of Organization Settings.
Then you can check whether the user has the permission to access the project on the Manage user page.
Regarding that users cannot see the projects, you can check whether the “View project-level information” permission of the team is set to Deny in the Permissions of Projects Settings.
Regarding that the user cannot see the dashboard, there should be no permission to restrict it. All users in the project should be able to see the dashboard. Can you share the screenshots about this issue?
In addition, you can try to let users log in with incognito window to see if the problem exists. Check if your organization is connected to AAD.
This is the answer for my additional questinos.
To get an access to Devops project user must be added in the organization either as stakeholder or owner
Once they are owner or stakeholder they are able to access all the features.

User unable to configure taskboard settings on sprint in Azure DevOps

I have a user who is both Project Admin and Team Admin (all teams) within a project in Azure DevOps. They appear to be unrestricted within the project except when they attempt to modify sprint taskboard settings. They are immediately presented with a warning:
'You do not have sufficient permissions to configure cards for this
team. You must either be a team administrator or a project
administrator.'
As the user is both project/team admin and able to modify the project's process, I'm at a loss as to what is missing. Or could this possibly be a bug? This is the only thing within the project that is blocking the user.
The screen is under 'Boards/Sprints/[Sprint Name]/[Cog icon in top right]'
The access level of this user is stakeholder. Please contact members of the Project Collection Administrators group to change the access level of the user to Basic.
Users with Stakeholder access level have partial access to Azure Boards in private projects. You can find more detailed information about access level in this document.

Manage permissions to run azure devops pipelines and permissions to change variable groups pragmatically

I am reading through this documentation - https://learn.microsoft.com/en-us/rest/api/azure/devops, I can't see a clear answer on how one can manage permissions to run pipelines and permissions to edit variable groups through the Rest API.
For security management with REST APIs you can refer to Security for details. Some of the REST APIs are not documented, however we can track them by develop tools (the simplest way is pressing F12 in your browser).
In your scenario seems you are trying to manage the permission of the pipelines in a specific project. If so, we can navigate to the Pipeline node -> Manage security -> Select the specific group/user to set the permission accordingly, (Just track the APIs when do the actions).
To run the pipelines, we at least need the View build pipeline , View builds, Queue builds permissions. You can also set other permissions as needed.
For example, just Deny the Queue builds permission for the Contributors group:
POST https://dev.azure.com/{organization}/{Project}/_api/_security/ManagePermissions?api-version=5.1
Sample Request Body:
{"updatePackage":"{\"IsRemovingIdentity\":false,\"TeamFoundationId\":\"24cb2a78-4d79-49d6-b96c-bf0ac65d7032\",\"DescriptorIdentityType\":\"Microsoft.TeamFoundation.Identity\",\"DescriptorIdentifier\":\"S-1-9-1551374245-3809964236-1275365961-2582801090-4223875273-1-492339072-1927234371-3142690236-612141869\",\"PermissionSetId\":\"33344d9c-fc72-4d6f-aba5-fa317101a7e9\",\"PermissionSetToken\":\"cc7017e3-044c-498a-99f2-6ac2fbc338c9\",\"RefreshIdentities\":false,\"Updates\":[{\"PermissionId\":2,\"PermissionBit\":128,\"NamespaceId\":\"33344d9c-fc72-4d6f-aba5-fa317101a7e9\",\"Token\":\"cc7017e3-044c-498a-99f2-6ac2fbc338c9\"}],\"TokenDisplayName\":null}"}
Do the same things to track the APIs to manage the variable groups.
In addition, you can also use the Azure CLI to manage the permissions, refer to az devops security for details.

Azure DevOps - deny access to repo

In Azure DevOps, is it possible to have users accessing all services except for the repo? By that I mean they should not be able to see any sourcecode.
Thanks
You can set deny permissions for all Git repositories for a project, or for a single repository.
Open the web portal and choose the project where you want to add users or groups.
To set the set the permissions for all Git repositories for a project, choose Git Repositories and then choose the security group whose permissions you want to manage.
Set all the permissions to "Deny" and then save the changes.
Setting permissions for all Git repositories for a project, or for a single repository is as follows.
Open the web portal and choose the project where you want to add users or groups.
To set the permissions for all Git repositories for a project, choose Git Repositories and then choose the security group or user whose permissions you want to manage. You can search for the user or group if not shown on the list as shown below
Set all the permissions to "Deny" or as dim fit and then save the changes.
click to see image