In Azure DevOps, release pipeline permissions are controlled separately from build pipeline permissions and follow a hierarchy. To restrict users from creating or using release pipelines (including the New pipeline experience), permissions must be denied at the appropriate level and for the correct permissions.
Key points from the permission model:
- Release permissions are hierarchical:
- Project-level release pipeline permissions
- Object-level release pipeline permissions
- Stage-level permissions
- Default roles:
- Contributors have all release permissions except Administer release permissions.
- Readers can view pipelines and releases.
- Project/Release Administrators have all permissions.
- Relevant release object-level permissions include:
- Manage releases – controls adding/editing approvers and managing releases.
- Edit release pipeline – controls editing release configurations.
- View release pipeline and View releases – control visibility.
To restrict users from creating and using release pipelines, including the New pipeline entry point, apply these steps:
- Ensure users are not in any group that grants Contributor-like permissions at project level (for Pipelines). If they must remain in such groups for other reasons, use Deny at the release pipeline scope.
- Set project-level release pipeline permissions to Deny for the custom group or user:
- Go to Pipelines > Releases.
- Select the file view icon and then All pipelines.
- Choose More actions > Security.
- Add the user/group if not present.
- Set relevant permissions such as Edit release pipeline, Manage releases, Manage deployments, Manage release approvers, and View release pipeline to Deny.
- Close the dialog to save.
- If users still see or can use the New pipeline experience, verify there is no conflicting Allow from another group. In Azure DevOps, Deny overrides Allow, but if the user is in multiple groups, ensure at least one group explicitly has Deny for the release permissions listed above.
- If more granular restriction is needed (for specific release pipelines), override object-level permissions:
- In Pipelines > Releases, select the specific release pipeline.
- Select More actions > Security.
- For the user/group, set Allow/Deny/Not set as needed. Setting Deny on Edit release pipeline and Manage releases prevents managing that pipeline.
- To restore inheritance later, set permissions back to Not set or re-enable Inheritance.
If the goal is to prevent users from even viewing or modifying any release pipelines, combine:
- Project-level Deny on View release pipeline and View releases.
- Project-level Deny on Edit release pipeline, Manage releases, and related permissions.
This aligns with the documented guidance to restrict access to build and release pipelines by setting Edit release pipeline and View release pipeline to Deny at the object or project level.
References: