Permissions and roles are an alpha feature of ZenML and are in active
development.
Permissions
The following global permissions are available within ZenML.read: Read permission on all resources. write: Write permission on all resources. me: Permission for a user to edit their own user metadata (username, password, etc.)To view the available permissions through the CLI simply run:zenml permission list
Roles
Users are granted Permissions through Roles. You can list all roles with their associated permissions by running.zenml role list
Default Roles
By default, ZenML comes with two roles.admin: The admin role grants all permissions globally. (Permissions: read, write, me )guest: The guest role lets users change their own user data and grants general global read access. (Permissions: read, me )
Custom Roles
You can also create your own roles through the CLI:zenml role create <ROLE_NAME> -p read -p write -p me
Assigning roles to users
Roles can be assigned to users through the CLI:zenml role assign <ROLE_NAME> --user <USER_NAME>alternatively this can also be done during user creationzenml user create <USER_NAME> --role <ROLE_NAME>By default, user creation through the UI will grant the user admin rights. This default behaviour will change in the next iteration of the Dashboard as the role will be selectable during user creation and in the User settings menu.
Listing active role assignments
If you want to inspect which roles have been assigned to which users, simply run:zenml role assignment list
Limitations
For the time being all roles apply permissions locally. This may change in the future. Feel free to let us know on Slack or through our Roadmap if this is important for you.
Permissions and roles only become relevant if you are running through a deployed ZenML Server. In local settings with a direct connection to a SQLite Database user access is not limited/granted by roles.
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"ZenML","colors":{"primary":"#3E1F8D","light":"#7848F6","dark":"#7848F6"},"favicon":"/favicon.svg","logo":{"dark":"https://mintlify.s3-us-west-1.amazonaws.com/zenml/logo/dark.svg","light":"https://mintlify.s3-us-west-1.amazonaws.com/zenml/logo/light.svg"},"navbar":{"links":[{"label":"Home","href":"https://zenml.io/home"},{"label":"Blog","href":"https://blog.zenml.io"}],"primary":{"type":"button","label":"Get Started","href":"https://github.com/zenml-io/zenml/tree/main/examples/quickstart"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/zenml/","slack":"https://zenml.io/slack-invite","github":"https://github.com/zenml-io/zenml","twitter":"https://twitter.com/zenml_io","youtube":"https://www.youtube.com/@ZenML"}},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"zenml","hasAudioNarration":false,"actualSubdomain":"zenml","customDomains":[],"gitSource":{"type":"github","owner":"mintlify-onboarding","repo":"zenml","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6ae91426b34e8aacd7503b08:success","clientVersion":"0.0.4138","searchFilterCounts":[{"language":"default","tag":"Component Gallery","count":142},{"language":"default","tag":"Documentation","count":52},{"language":"default","tag":"Advanced Guide","count":20},{"language":"default","tag":"Orchestrators","count":11},{"language":"default","tag":"Starter Guide","count":11},{"language":"default","tag":"In-depth Configuration","count":9},{"language":"default","tag":"Getting Started","count":9},{"language":"default","tag":"Container Registries","count":8},{"language":"default","tag":"Secrets Managers","count":8},{"language":"default","tag":"Practical MLOps","count":7}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"starter-guide/collaborate/roles-and-permissions","slug":"/starter-guide/collaborate/roles-and-permissions","pageMetadata":{"title":"User Roles \u0026 Permissions","description":"How roles and permissions work within ZenML","href":"/starter-guide/collaborate/roles-and-permissions"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"How roles and permissions work within ZenML\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Warning,{children:_jsx(_components.p,{children:`Permissions and roles are an alpha feature of ZenML and are in active\ndevelopment.`})}),`\n`,_jsx(Heading,{level:`2`,id:`permissions`,children:`Permissions`}),`\n`,_jsx(_components.p,{children:`The following global permissions are available within ZenML.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`read`}),`: Read permission on all resources. `,_jsx(_components.strong,{children:`write`}),`: Write permission on all resources. `,_jsx(_components.strong,{children:`me`}),`: Permission for a user to edit their own user metadata (username, password, etc.)`]}),`\n`,_jsx(_components.p,{children:`To view the available permissions through the CLI simply run:`}),`\n`,_jsx(_components.p,{children:_jsx(_components.code,{children:`zenml permission list`})}),`\n`,_jsx(Heading,{level:`2`,id:`roles`,children:`Roles`}),`\n`,_jsxs(_components.p,{children:[`Users are granted `,_jsx(_components.strong,{children:`Permissions`}),` through `,_jsx(_components.strong,{children:`Roles`}),`. You can list all roles with their associated permissions by running.`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.code,{children:`zenml role list`})}),`\n`,_jsx(Heading,{level:`3`,id:`default-roles`,children:`Default Roles`}),`\n`,_jsx(_components.p,{children:`By default, ZenML comes with two roles.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`admin`}),`: The admin role grants all permissions globally. (Permissions: read, write, me )`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`guest`}),`: The guest role lets users change their own user data and grants general global read access. (Permissions: read, me )`]}),`\n`,_jsx(Heading,{level:`3`,id:`custom-roles`,children:`Custom Roles`}),`\n`,_jsx(_components.p,{children:`You can also create your own roles through the CLI:`}),`\n`,_jsx(_components.p,{children:_jsx(_components.code,{children:`zenml role create \u003cROLE_NAME> -p read -p write -p me`})}),`\n`,_jsx(Heading,{level:`2`,id:`assigning-roles-to-users`,children:`Assigning roles to users`}),`\n`,_jsx(_components.p,{children:`Roles can be assigned to users through the CLI:`}),`\n`,_jsx(_components.p,{children:_jsx(_components.code,{children:`zenml role assign \u003cROLE_NAME> --user \u003cUSER_NAME>`})}),`\n`,_jsx(_components.p,{children:`alternatively this can also be done during user creation`}),`\n`,_jsx(_components.p,{children:_jsx(_components.code,{children:`zenml user create \u003cUSER_NAME> --role \u003cROLE_NAME>`})}),`\n`,_jsxs(_components.p,{children:[`By default, user creation through the UI will grant the user `,_jsx(_components.code,{children:`admin`}),` rights. This default behaviour will change in the next iteration of the Dashboard as the role will be selectable during user creation and in the User settings menu.`]}),`\n`,_jsx(Heading,{level:`2`,id:`listing-active-role-assignments`,children:`Listing active role assignments`}),`\n`,_jsx(_components.p,{children:`If you want to inspect which roles have been assigned to which users, simply run:`}),`\n`,_jsx(_components.p,{children:_jsx(_components.code,{children:`zenml role assignment list`})}),`\n`,_jsx(Heading,{level:`3`,id:`limitations`,children:`Limitations`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`For the time being all roles apply permissions locally. This may change in the future. Feel free to let us know on `,_jsx(_components.a,{href:`https://zenml.slack.com/join/shared%5Finvite/zt-t4aw242p-K6aCaUjhnxNOrLR7bcAb7g#/shared-invite/email`,children:`Slack`}),` or through our `,_jsx(_components.a,{href:`https://zenml.hellonext.co/roadmap`,children:`Roadmap`}),` if this is important for you.`]}),`\n`,_jsxs(_components.li,{children:[`Permissions and roles only become relevant if you are running through a `,_jsx(_components.a,{href:`https://docs.zenml.io/getting-started/deploying-zenml`,children:`deployed ZenML Server`}),`. In local settings with a direct connection to a SQLite Database user access is not limited/granted by roles.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"User Roles \u0026 Permissions","description":"How roles and permissions work within ZenML","href":"/starter-guide/collaborate/roles-and-permissions"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Permissions","slug":"permissions","depth":2,"children":[]},{"title":"Roles","slug":"roles","depth":2,"children":[{"title":"Default Roles","slug":"default-roles","depth":3,"children":[]},{"title":"Custom Roles","slug":"custom-roles","depth":3,"children":[]}]},{"title":"Assigning roles to users","slug":"assigning-roles-to-users","depth":2,"children":[]},{"title":"Listing active role assignments","slug":"listing-active-role-assignments","depth":2,"children":[{"title":"Limitations","slug":"limitations","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"subdomain":"zenml","siteName":"ZenML","title":"User Roles \u0026 Permissions - ZenML","navMaps":{"firstHrefInVersion":{"0.31.1":{"href":"/starter-guide/collaborate/roles-and-permissions","matchLevel":0}},"firstHrefInLanguage":{}},"originalFileLocation":"starter-guide/collaborate/roles-and-permissions.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"How roles and permissions work within ZenML\">\u003cmeta data-mint-head name=\"application-name\" content=\"ZenML\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/zenml/_generated/favicon/apple-touch-icon.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/zenml/_generated/favicon/favicon-32x32.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/zenml/_generated/favicon/favicon-16x16.png?v=3\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/zenml/_generated/favicon/favicon.ico?v=3\">\u003cmeta data-mint-head property=\"og:title\" content=\"User Roles \u0026amp; Permissions - ZenML\">\u003cmeta data-mint-head property=\"og:description\" content=\"How roles and permissions work within ZenML\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"ZenML\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://zenml.mintlify.app/starter-guide/collaborate/roles-and-permissions\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://zenml.mintlify.site/_mintlify/api/og/v2?division=Collaboration\u0026amp;title=User+Roles+%26+Permissions\u0026amp;description=How+roles+and+permissions+work+within+ZenML\u0026amp;theme=d8a2be9d1cf4281f5cf2a416\u0026amp;signature=d071602ae5c4d9dfc05c10e77f3d332442e3d920475c9befe9a7f1ea3b76968e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"User Roles \u0026amp; Permissions - ZenML\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"How roles and permissions work within ZenML\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://zenml.mintlify.site/_mintlify/api/og/v2?division=Collaboration\u0026amp;title=User+Roles+%26+Permissions\u0026amp;description=How+roles+and+permissions+work+within+ZenML\u0026amp;theme=d8a2be9d1cf4281f5cf2a416\u0026amp;signature=d071602ae5c4d9dfc05c10e77f3d332442e3d920475c9befe9a7f1ea3b76968e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/zenml/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"ZenML\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3E1F8D\">\u003clink data-mint-head rel=\"canonical\" href=\"https://zenml.mintlify.app/starter-guide/collaborate/roles-and-permissions\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/starter-guide/collaborate/roles-and-permissions.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://zenml.mintlify.app/#organization\",\"name\":\"ZenML\",\"url\":\"https://zenml.mintlify.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintlify.s3-us-west-1.amazonaws.com/zenml/logo/light.svg\"}},{\"@type\":\"WebSite\",\"@id\":\"https://zenml.mintlify.app#website\",\"name\":\"ZenML\",\"url\":\"https://zenml.mintlify.app\",\"publisher\":{\"@id\":\"https://zenml.mintlify.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://zenml.mintlify.app/starter-guide/collaborate/roles-and-permissions#webpage\",\"url\":\"https://zenml.mintlify.app/starter-guide/collaborate/roles-and-permissions\",\"name\":\"User Roles \u0026 Permissions\",\"description\":\"How roles and permissions work within ZenML\",\"isPartOf\":{\"@id\":\"https://zenml.mintlify.app#website\"},\"breadcrumb\":{\"@id\":\"https://zenml.mintlify.app/starter-guide/collaborate/roles-and-permissions#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://zenml.mintlify.app/starter-guide/collaborate/roles-and-permissions#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Starter Guide\",\"item\":\"https://zenml.mintlify.app/starter-guide/pipelines\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Collaboration\",\"item\":\"https://zenml.mintlify.app/starter-guide/collaborate\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"User Roles \u0026 Permissions\",\"item\":\"https://zenml.mintlify.app/starter-guide/collaborate/roles-and-permissions\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://zenml.mintlify.app/starter-guide/collaborate/roles-and-permissions#article\",\"headline\":\"User Roles \u0026 Permissions\",\"name\":\"User Roles \u0026 Permissions\",\"description\":\"How roles and permissions work within ZenML\",\"url\":\"https://zenml.mintlify.app/starter-guide/collaborate/roles-and-permissions\",\"mainEntityOfPage\":{\"@id\":\"https://zenml.mintlify.app/starter-guide/collaborate/roles-and-permissions#webpage\"},\"publisher\":{\"@id\":\"https://zenml.mintlify.app/#organization\"},\"isPartOf\":{\"@id\":\"https://zenml.mintlify.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"ZenML\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"ZenML\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/starter-guide/collaborate/roles-and-permissions.md","siteName":"ZenML","nav":{"global":null,"versions":[{"version":"0.31.1","anchors":[{"anchor":"Documentation","icon":"book-open","groups":[{"group":"Getting Started","pages":[{"title":"Introduction","href":"/getting-started/introduction"},{"title":"Core Concepts","href":"/getting-started/core-concepts"},{"title":"Installation","href":"/getting-started/installation"},{"group":"Deploying ZenML","pages":[{"title":"Deploying ZenML","href":"/getting-started/deploying-zenml"},{"title":"One Click Deployment using CLI","href":"/getting-started/deploying-zenml/cli"},{"title":"Deploying with Docker","href":"/getting-started/deploying-zenml/docker"},{"title":"Deploying with Helm","href":"/getting-started/deploying-zenml/helm"}]},{"title":"Architecture Diagrams","href":"/getting-started/architecture-diagrams"},{"title":"Examples","href":"/getting-started/examples"}]},{"group":"Starter Guide","pages":[{"group":"Pipelines","pages":[{"title":"Pipelines","href":"/starter-guide/pipelines"},{"title":"Dashboard Overview","href":"/starter-guide/pipelines/dashboard"},{"title":"Fetching Pipelines","href":"/starter-guide/pipelines/fetching-pipelines"},{"title":"Step Parameterization and Caching","href":"/starter-guide/pipelines/parameters-and-caching"}]},{"group":"Stacks","pages":[{"title":"Stacks","href":"/starter-guide/stacks"},{"title":"Registering Stacks","href":"/starter-guide/stacks/registering-stacks"},{"title":"Managing Stacks","href":"/starter-guide/stacks/managing-stacks"}]},{"group":"Collaboration","pages":[{"title":"Collaboration","href":"/starter-guide/collaborate"},{"title":"Connecting to a Deployed ZenML","href":"/starter-guide/collaborate/zenml-deployment"},{"title":"Inviting Users","description":"How to add users to your ZenML deployment","href":"/starter-guide/collaborate/users"},{"title":"User Roles \u0026 Permissions","href":"/starter-guide/collaborate/roles-and-permissions"}]}]},{"group":"Advanced Guide","pages":[{"group":"In-depth Configuration","pages":[{"title":"In-depth Configuration","description":"Configure pipelines at will with ZenML.","href":"/advanced-guide/pipelines"},{"title":"Runtime Settings","href":"/advanced-guide/pipelines/settings"},{"title":"Containerization (Docker)","href":"/advanced-guide/pipelines/containerization"},{"title":"Passing Custom Data Types through Steps (Materializers)","href":"/advanced-guide/pipelines/materializers"},{"title":"Specifying Step Resources","href":"/advanced-guide/pipelines/step-resources"},{"title":"Enabling GPU-backed hardware","href":"/advanced-guide/pipelines/gpu-hardware"},{"title":"Scheduling Pipeline Runs","href":"/advanced-guide/pipelines/scheduling-runs"},{"title":"Accessing Metadata within Steps","href":"/advanced-guide/pipelines/step-metadata"},{"title":"Controlling the Step Execution Order","href":"/advanced-guide/pipelines/step-order"}]},{"group":"Extending Stacks","pages":[{"title":"Extending Stacks","href":"/advanced-guide/stacks"},{"title":"Writing Custom Flavors","href":"/advanced-guide/stacks/custom-flavors"},{"title":"Managing Stack Component States","href":"/advanced-guide/stacks/stack-state-management"},{"title":"Managing External Services","href":"/advanced-guide/stacks/manage-external-services"}]},{"group":"Practical MLOps","pages":[{"title":"Practical MLOps","href":"/advanced-guide/practical-mlops"},{"title":"Stack Recipes","href":"/advanced-guide/practical-mlops/stack-recipes"},{"title":"Switching Orchestration","href":"/advanced-guide/practical-mlops/switching-orchestration"},{"title":"Secrets Management","href":"/advanced-guide/practical-mlops/secrets-management"},{"title":"Tracking Experiments","href":"/advanced-guide/practical-mlops/tracking-experiments"},{"title":"Validating Data","href":"/advanced-guide/practical-mlops/validating-data"},{"title":"Deploying Models and Batch Inference","href":"/advanced-guide/practical-mlops/deploying-models"}]}]},{"group":"Guidelines","pages":[{"title":"Best Practices","href":"/guidelines/best-practices"},{"title":"Global Configuration","href":"/guidelines/global-config"},{"title":"System Environmental Variables","href":"/guidelines/system-environmental-variables"},{"title":"Migration Guide 0.20.0","href":"/guidelines/migration-zero-twenty"}]},{"group":"Misc","pages":[{"title":"Contribution Guide","href":"/misc/contributing"},{"title":"Debugging Guide","href":"/misc/debugging"},{"title":"External Integration Guide","href":"/misc/integrating"},{"title":"Usage Analytics","href":"/misc/usage-analytics"}]},{"group":"Reference","pages":[{"title":"Community \u0026 Content","href":"/reference/community-and-content"},{"title":"Glossary","href":"/reference/glossary"},{"title":"FAQ","href":"/reference/faq"},{"title":"CLI Cheat Sheet","href":"/reference/cheat-sheet"}]}]},{"anchor":"Component Gallery","icon":"grid-2","pages":[{"title":"Component Gallery","href":"/component-gallery/categories"}]},{"anchor":"CLI Reference","href":"https://apidocs.zenml.io/latest/cli/","icon":"rectangle-terminal"},{"anchor":"API Reference","href":"https://apidocs.zenml.io","icon":"code"},{"anchor":"Github","href":"https://github.com/zenml-io/zenml","icon":"github"}]}]},"basePath":"","title":"User Roles \u0026 Permissions - ZenML","buildId":"dpl_715YoAgvjTGBDdo8RtXmHKM22b5p","deploymentId":"dpl_715YoAgvjTGBDdo8RtXmHKM22b5p","dynamics":[],"chunks":[]}