Permission development guidelines
There are multiple types of permissions across GitLab, and when implementing anything that deals with permissions, all of them should be considered.
As a pre-requisite, familiarize yourself with our glossary first.
For more information, see:
- Authorization: Guidance on where to check permissions.
- Custom roles: Guidance on how to work on custom role, how to introduce a new ability for custom roles, how to refactor permissions.
DeclarativePolicyframework: Introduction toDeclarativePolicyframework used for authorization.- Granular access: Development guidelines for granular access control, including job tokens and granular Personal Access Tokens.
- Permissions conventions: Guidance on how to name new permissions and what should be included in policy classes.
- Predefined system of user roles: General overview about predefined roles, user types, feature specific permissions, and permissions dependencies.