{"id":7254,"date":"2024-03-10T07:22:00","date_gmt":"2024-03-10T05:22:00","guid":{"rendered":"https:\/\/www.almtoolbox.com\/blog\/?p=7254"},"modified":"2024-03-11T09:51:59","modified_gmt":"2024-03-11T07:51:59","slug":"what-are-custom-roles-in-gitlab","status":"publish","type":"post","link":"https:\/\/www.almtoolbox.com\/blog\/what-are-custom-roles-in-gitlab\/","title":{"rendered":"What are Custom Roles in GitLab?"},"content":{"rendered":"\n<p>GitLab offers default roles with predefined permissions for users within a project or group. <br>However, there&#8217;s also a feature called <em>Custom Roles<\/em> that provides more flexibility <br>and enables to tailor permission levels for task completion.<\/p>\n\n\n\n<p class=\"has-background\" style=\"background-color:#8dd2fc59\">Custom roles are available in GitLab Ultimate Edition (Self-managed and SaaS) only.<br>Contact us (<a href=\"mailto:gitlab@almtoolbox.com\" target=\"_blank\" rel=\"noreferrer noopener\">gitlab@almtoolbox.com<\/a>) If you&#8217;d like to learn more about GitLab Ultimate or your need pricing quote.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Here&#8217;s a breakdown of Custom Roles in GitLab:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Purpose:<\/strong> Grant granular access control by letting you define custom roles and assign specific permissions to them. This allows you to tailor user access according to your organization&#8217;s needs.<\/li>\n\n\n\n<li><strong>Benefits:<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>Principle of Least Privilege:<\/strong>&nbsp;You can assign only the necessary permissions to each role, enhancing security.<\/li>\n\n\n\n<li><strong>Customization:<\/strong>&nbsp;Create roles that precisely match your project or group&#8217;s workflow.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Permissions vs Abilities:<\/strong> The terms are often used interchangeably. An &#8220;ability&#8221; refers to an action a user can perform, mapped to GitLab&#8217;s Declarative Policy abilities. &#8220;Permission&#8221; is the user-facing term for an ability.<\/li>\n\n\n\n<li><strong>Creating and Assigning:<\/strong> As of GitLab 16.7, you can create, remove, and manage custom roles directly through the user interface.<\/li>\n<\/ul>\n\n\n\n<p>In essence, Custom Roles empower you to create a permission structure that aligns perfectly with your GitLab projects or groups, ensuring users have the right access to perform their tasks effectively.<\/p>\n\n\n\n<div style=\"height:26px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Demo: Custom Roles creation via User Interface (UI)<\/h3>\n\n\n\n<div style=\"height:26px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<iframe loading=\"lazy\" width=\"700\" height=\"393.75\" src=\"https:\/\/www.youtube.com\/embed\/pSQ3CCdfaAs?si=vIeN7A9PtnNIvCJy\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n\n\n\n<div style=\"height:24px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div style=\"height:26px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Demo: Ultimate Guest can view code on private repositories via Custom Role<\/h3>\n\n\n\n<p>GitLab allows you to extend guest users in a way they can read code &#8211; see how:<\/p>\n\n\n\n<iframe loading=\"lazy\" width=\"700\" height=\"393.75\" src=\"https:\/\/www.youtube.com\/embed\/46cp_-Rtxps?si=TKMCU3rzN-V53WOh\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n\n\n\n<div style=\"height:24px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Watch: Implementing Custom Roles and Granular Security Permissions with GitLab<\/h3>\n\n\n\n<div style=\"height:26px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<iframe loading=\"lazy\" width=\"700\" height=\"393.75\" src=\"https:\/\/www.youtube.com\/embed\/WyrhkpO5WkI?si=gBZvsxcIP2F1EVgc\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n\n\n\n<div style=\"height:26px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Related Articles:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>What are the <a href=\"https:\/\/www.almtoolbox.com\/blog\/gitlab-premium-vs-ultimate\/\" target=\"_blank\" rel=\"noreferrer noopener\">Differences Between GitLab Premium and GitLab Ultimate?<\/a><\/li>\n\n\n\n<li>Our <a href=\"https:\/\/almtoolbox.com\/gitlab\" target=\"_blank\" rel=\"noreferrer noopener\">GitLab webpage<\/a><\/li>\n\n\n\n<li>Tech docs about custom rules are <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/custom_roles.html\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a><\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>GitLab offers default roles with predefined permissions for users within a project or group. However, there&#8217;s also a feature called Custom Roles that provides more flexibility and enables to tailor permission levels for task completion. Custom roles are available in GitLab Ultimate Edition (Self-managed and SaaS) only.Contact us (gitlab@almtoolbox.com) If you&#8217;d like to learn more [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[166],"tags":[469,470,380,464],"class_list":["post-7254","post","type-post","status-publish","format-standard","hentry","category-gitlab","tag-custom-roles","tag-gitlab-dedicated","tag-gitlab-security","tag-gitlab-ultimate-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>What are Custom Roles in GitLab? - ALMtoolbox News<\/title>\n<meta name=\"description\" content=\"This article explains what are custom roles in GitLab , the benefits of using it and a relevant demo of how to use it\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.almtoolbox.com\/blog\/what-are-custom-roles-in-gitlab\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What are Custom Roles in GitLab? - ALMtoolbox News\" \/>\n<meta property=\"og:description\" content=\"This article explains what are custom roles in GitLab , the benefits of using it and a relevant demo of how to use it\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.almtoolbox.com\/blog\/what-are-custom-roles-in-gitlab\/\" \/>\n<meta property=\"og:site_name\" content=\"ALMtoolbox News\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/almtoolbox.israel\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-10T05:22:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-11T07:51:59+00:00\" \/>\n<meta name=\"author\" content=\"Tamir Gefen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Dikla\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tamir Gefen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/what-are-custom-roles-in-gitlab\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/what-are-custom-roles-in-gitlab\/\"},\"author\":{\"name\":\"Tamir Gefen\",\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/#\/schema\/person\/409e35aa3486f92208065230bb6ebb63\"},\"headline\":\"What are Custom Roles in GitLab?\",\"datePublished\":\"2024-03-10T05:22:00+00:00\",\"dateModified\":\"2024-03-11T07:51:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/what-are-custom-roles-in-gitlab\/\"},\"wordCount\":297,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/#organization\"},\"keywords\":[\"custom roles\",\"gitlab dedicated\",\"gitlab security\",\"gitlab ultimate\"],\"articleSection\":[\"GitLab\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.almtoolbox.com\/blog\/what-are-custom-roles-in-gitlab\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/what-are-custom-roles-in-gitlab\/\",\"url\":\"https:\/\/www.almtoolbox.com\/blog\/what-are-custom-roles-in-gitlab\/\",\"name\":\"What are Custom Roles in GitLab? - ALMtoolbox News\",\"isPartOf\":{\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/#website\"},\"datePublished\":\"2024-03-10T05:22:00+00:00\",\"dateModified\":\"2024-03-11T07:51:59+00:00\",\"description\":\"This article explains what are custom roles in GitLab , the benefits of using it and a relevant demo of how to use it\",\"breadcrumb\":{\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/what-are-custom-roles-in-gitlab\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.almtoolbox.com\/blog\/what-are-custom-roles-in-gitlab\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/what-are-custom-roles-in-gitlab\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.almtoolbox.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What are Custom Roles in GitLab?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/#website\",\"url\":\"https:\/\/www.almtoolbox.com\/blog\/\",\"name\":\"ALMtoolbox News\",\"description\":\"All the news of ALMtoolbox\",\"publisher\":{\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.almtoolbox.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/#organization\",\"name\":\"ALMtoolbox\",\"url\":\"https:\/\/www.almtoolbox.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.almtoolbox.com\/blog\/wp-content\/uploads\/\/2015\/10\/logo.png\",\"contentUrl\":\"https:\/\/www.almtoolbox.com\/blog\/wp-content\/uploads\/\/2015\/10\/logo.png\",\"width\":410,\"height\":190,\"caption\":\"ALMtoolbox\"},\"image\":{\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/almtoolbox.israel\/\",\"https:\/\/www.linkedin.com\/company\/almtoolbox\/\",\"https:\/\/www.youtube.com\/user\/GoMidjets\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/#\/schema\/person\/409e35aa3486f92208065230bb6ebb63\",\"name\":\"Tamir Gefen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d3d4df00aa386b2805c42441dfebcedd46abf25846febb352f00c11524d994c4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d3d4df00aa386b2805c42441dfebcedd46abf25846febb352f00c11524d994c4?s=96&d=mm&r=g\",\"caption\":\"Tamir Gefen\"},\"sameAs\":[\"https:\/\/x.com\/Dikla\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What are Custom Roles in GitLab? - ALMtoolbox News","description":"This article explains what are custom roles in GitLab , the benefits of using it and a relevant demo of how to use it","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.almtoolbox.com\/blog\/what-are-custom-roles-in-gitlab\/","og_locale":"en_US","og_type":"article","og_title":"What are Custom Roles in GitLab? - ALMtoolbox News","og_description":"This article explains what are custom roles in GitLab , the benefits of using it and a relevant demo of how to use it","og_url":"https:\/\/www.almtoolbox.com\/blog\/what-are-custom-roles-in-gitlab\/","og_site_name":"ALMtoolbox News","article_publisher":"https:\/\/www.facebook.com\/almtoolbox.israel\/","article_published_time":"2024-03-10T05:22:00+00:00","article_modified_time":"2024-03-11T07:51:59+00:00","author":"Tamir Gefen","twitter_card":"summary_large_image","twitter_creator":"@Dikla","twitter_misc":{"Written by":"Tamir Gefen","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.almtoolbox.com\/blog\/what-are-custom-roles-in-gitlab\/#article","isPartOf":{"@id":"https:\/\/www.almtoolbox.com\/blog\/what-are-custom-roles-in-gitlab\/"},"author":{"name":"Tamir Gefen","@id":"https:\/\/www.almtoolbox.com\/blog\/#\/schema\/person\/409e35aa3486f92208065230bb6ebb63"},"headline":"What are Custom Roles in GitLab?","datePublished":"2024-03-10T05:22:00+00:00","dateModified":"2024-03-11T07:51:59+00:00","mainEntityOfPage":{"@id":"https:\/\/www.almtoolbox.com\/blog\/what-are-custom-roles-in-gitlab\/"},"wordCount":297,"commentCount":0,"publisher":{"@id":"https:\/\/www.almtoolbox.com\/blog\/#organization"},"keywords":["custom roles","gitlab dedicated","gitlab security","gitlab ultimate"],"articleSection":["GitLab"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.almtoolbox.com\/blog\/what-are-custom-roles-in-gitlab\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.almtoolbox.com\/blog\/what-are-custom-roles-in-gitlab\/","url":"https:\/\/www.almtoolbox.com\/blog\/what-are-custom-roles-in-gitlab\/","name":"What are Custom Roles in GitLab? - ALMtoolbox News","isPartOf":{"@id":"https:\/\/www.almtoolbox.com\/blog\/#website"},"datePublished":"2024-03-10T05:22:00+00:00","dateModified":"2024-03-11T07:51:59+00:00","description":"This article explains what are custom roles in GitLab , the benefits of using it and a relevant demo of how to use it","breadcrumb":{"@id":"https:\/\/www.almtoolbox.com\/blog\/what-are-custom-roles-in-gitlab\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.almtoolbox.com\/blog\/what-are-custom-roles-in-gitlab\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.almtoolbox.com\/blog\/what-are-custom-roles-in-gitlab\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.almtoolbox.com\/blog\/"},{"@type":"ListItem","position":2,"name":"What are Custom Roles in GitLab?"}]},{"@type":"WebSite","@id":"https:\/\/www.almtoolbox.com\/blog\/#website","url":"https:\/\/www.almtoolbox.com\/blog\/","name":"ALMtoolbox News","description":"All the news of ALMtoolbox","publisher":{"@id":"https:\/\/www.almtoolbox.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.almtoolbox.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.almtoolbox.com\/blog\/#organization","name":"ALMtoolbox","url":"https:\/\/www.almtoolbox.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.almtoolbox.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.almtoolbox.com\/blog\/wp-content\/uploads\/\/2015\/10\/logo.png","contentUrl":"https:\/\/www.almtoolbox.com\/blog\/wp-content\/uploads\/\/2015\/10\/logo.png","width":410,"height":190,"caption":"ALMtoolbox"},"image":{"@id":"https:\/\/www.almtoolbox.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/almtoolbox.israel\/","https:\/\/www.linkedin.com\/company\/almtoolbox\/","https:\/\/www.youtube.com\/user\/GoMidjets"]},{"@type":"Person","@id":"https:\/\/www.almtoolbox.com\/blog\/#\/schema\/person\/409e35aa3486f92208065230bb6ebb63","name":"Tamir Gefen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.almtoolbox.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d3d4df00aa386b2805c42441dfebcedd46abf25846febb352f00c11524d994c4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d3d4df00aa386b2805c42441dfebcedd46abf25846febb352f00c11524d994c4?s=96&d=mm&r=g","caption":"Tamir Gefen"},"sameAs":["https:\/\/x.com\/Dikla"]}]}},"_links":{"self":[{"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/posts\/7254","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/comments?post=7254"}],"version-history":[{"count":11,"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/posts\/7254\/revisions"}],"predecessor-version":[{"id":7304,"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/posts\/7254\/revisions\/7304"}],"wp:attachment":[{"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/media?parent=7254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/categories?post=7254"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/tags?post=7254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}