No results for ""
EXPAND ALL
  • Home
  • API docs

Creating custom roles and policies

Read time: 8 minutes
Last edited: Jul 11, 2024

Overview

This topic explains how to create and implement custom roles and policies in LaunchDarkly.

This topic only describes creating custom roles with the basic policy editor

If you need to use custom roles to address a scenario not covered in the documentation, you can write your own policies with the advanced editor. To learn more, read Using the advanced editor. For examples, read Example policies and templates.

Create a custom role

Before you can give an account member custom permissions in LaunchDarkly, you must create a custom role to assign to them.

To create a custom role:

  1. Click the gear icon in the left sidenav to view Organization settings.
  2. Click Roles.
  3. Click Create role. The "Create custom role" panel appears.
  4. Enter a human-readable Name for the role.
  5. Enter a Key for the role.
  6. (Optional) Enter a Description to explain what the role does.
  7. (Optional) To create a role with no access to any resources, uncheck "By default, members can view all LaunchDarkly content."
  8. Create a policy in the "Policy" fields.
  9. Click Save role.
Custom role limits

By default, LaunchDarkly allows you to create 1,000 custom roles per account. You can create more upon request, free of charge. To learn more, read How to right size when you are over LaunchDarkly system resource count limits.

You can also use the REST API: Create custom role

About starting roles

LaunchDarkly uses the built-in Reader role as the starting point for new custom roles when you create them. If you keep the By default, members can view all LaunchDarkly content box checked, the custom role starts with Reader permissions. You can use the role's policy to remove view permissions or allow the ability to modify resources.

You can also create custom roles with no access to any LaunchDarkly resources by unchecking the checkbox. To learn how, read Configuring roles with no access.

The starting role checkbox in the "Create custom role" panel.
The starting role checkbox in the "Create custom role" panel.

Create policies for custom roles

Policies are sets of actions a custom role is allowed or not allowed to take. You can create policies from the Roles page.

Create your own policies in the advanced editor

Advanced members can write custom policies of their own with the advanced editor. To open the advanced editor, click Advanced editor in the "Role policy" section.

The advanced editor is powerful. Before you use it, read Using the advanced editor.

To create a policy:

  1. Complete the steps in Create a custom role.
  2. In the "Create custom role" panel, click into the Choose resources for this policy statement field.
  3. Specify a resource this policy affects.
The resource finder can help

Many common LaunchDarkly items are resources, including flags, metrics, and more. If your LaunchDarkly project is large, it may be difficult to find the exact resource you need.

Click Resource finder to choose projects, feature flags, environments, metrics, and roles to add to your policy.

To learn more, read Find resource IDs.

  1. Under Allow or deny actions on the resource, choose an effect from the menu.
  2. Under Choose actions to allow or deny, choose one or more actions for the policy to enforce:
The "Actions" menu with options selected.
The "Actions" menu with options selected.
  1. Click Update. The results of your policy display:
A custom policy.
A custom policy.

Find resource IDs

You can find resource IDs with the resource finder, which you can access with the “resource finder” link in either the simple or advanced editor, or by using the keyboard shortcut + . (Mac) or ctl + . (Windows). All of your environments, members, feature flags, metrics, and roles will be available.

Give an account member a custom role

After you have created a custom role and policies for it, you must give that role to all members to whom you wish it to apply.

To give a member a custom role:

  1. Click the gear icon in the left sidenav to view Organization settings.
  2. Click Members.
  3. Find the account member you wish to give a custom role.
  4. Click that account member's name. The member's Permissions page opens.
  5. Click Edit member roles. A dialog appears.
A member's "Edit role" dialog.
A member's "Edit role" dialog.
  1. Choose Custom. A menu containing your organization's custom roles appears.
  2. Choose all the custom roles you wish to give the member.
  3. Click Save roles. You are returned to the permissions page.

You can also use the REST API: Modify an account member

Use Teams to assign roles to multiple members

You can use the Teams feature to group a set of members and assign them all the same custom roles. To learn more, read Teams.

You can also assign custom roles through your IdP with SSO or SCIM. For an in-depth guide on how to use custom roles with IdPs, read Creating custom roles.

View an account member's roles

To view the roles for an individual account member, read View individual member roles.

You can also use the REST API: Get account member

Remove an account member's custom role

If an account member changes function or needs their permissions modified, you can remove a custom role from them at any time.

To remove a custom role from a member:

  1. Click the gear icon in the left sidenav to view Organization settings.
  2. Click Members.
  3. Find the account member you wish to remove a custom role from.
  4. Click that account member's name. The member's "Permissions" page opens.
  5. Click Edit member roles. The "Edit role" dialog appears:
A member's "Edit role" dialog.
A member's "Edit role" dialog.
  1. Click the X icon on all the custom roles you wish to remove from the member. You may also choose a built-in role for this member.
  2. Click Save roles.

View custom role details

You can view details about a specific custom role. More information is available on the "Role policy" panel.

Use the "Role policy" panel to view detailed information about a custom role, including which projects and feature flags the role has permission to modify. You can also view each action the custom role can perform and what that action does.

Here is a screenshot of the "Role policy" panel:

The "Role policy" panel.
The "Role policy" panel.

To view details for custom roles from the Roles page:

  1. Click the gear icon in the left sidenav to view Organization settings.
  2. Click Roles.
  3. Find the role with details you wish to view and click Edit role. The "Edit custom role policy" panel appears.

You can also view details for custom roles from the Permissions tab for a given member:

  1. Navigate to the Members list.
  2. Click the name of a member.
  3. On the Permissions tab for the member, click the name of a custom role. The "Edit custom role policy" panel appears.
A member's "Permissions" tab with custom role names called out.
A member's "Permissions" tab with custom role names called out.

You can also use the REST API: Get custom role

Edit existing custom roles

Edit an existing policy at any time by clicking the pencil edit icon or add a new policy to a custom role by clicking Add statement.

To edit a custom role:

  1. Click the gear icon in the left sidenav to view Organization settings.
  2. Click Roles and find the role you wish to edit.
  3. Click Edit role. The "Edit custom role policy" panel appears.
  4. Change whatever features of the role you wish.
  5. Click Save changes.

You can also use the REST API: Update custom role

Delete custom roles

To delete a custom role:

  1. Click the gear icon in the left sidenav to view Organization settings.
  2. Click Roles and find the role you wish to delete.
  3. Click Edit role. The "Edit custom role" panel appears.
  4. Click Delete role.

You can also use the REST API: Delete custom role