Skip to main content

Roles

Introduction

DIAL uses Roles to enable roles-based access to resources such as applications, AI models, toolsets, routes, conversations and prompts.

  • Refer to DIAL Core to learn how roles are defined in DIAL Core configuration.
  • Refer to Roles to lean more about roles in DIAL.
  • Refer to Tutorials to learn how to configure roles for API keys.
  • Refer to Tutorials to learn how to configure roles for JWT.

Main Screen

On this screen, you can find all roles defined in your instance of DIAL. Here, you can also add and manage roles.

Roles can also be defined directly in DIAL Core configuration.

Roles grid
ColumnDescription
IDUnique role's identifier.
Display NameRole's name displayed on UI.
DescriptionDescription of the given role.
Updated TimeLast update timestamp.
TopicsSemantic tags assigned to roles (e.g. "admin", "user").

Create Role

Follow these steps to create a new role:

  1. Click Create to invoke the Create Role modal.

  2. Define role's parameters:

    FieldRequiredDescription
    IDYesUnique role's identifier.
    Display NameYesRole's name displayed on UI.
    DescriptionNoDescription of the given role.
  3. Once all required fields are filled, click Create. The dialog closes and the new role configuration screen is opened. A new role entry will appear immediately in the listing once created.

Delete

Click Delete in the role's actions menu on the main screen or in the Configuration screen to permanently remove the selected role.

Configuration

Click any role to display the configuration screen.

Properties

In the Properties tab, you can define the identity and metadata for the role. These settings determine how the role appears throughout DIAL and help administrators understand its purpose.

FieldRequiredDescription
ID-Unique role's identifier.
Updated Time-Last update timestamp.
Creation Time-Creation timestamp.
Sync with core-Indicates the state of the entity's configuration synchronization between Admin and DIAL Core.
Synchronization occurs automatically every 2 mins (configurable via CONFIG_AUTO_RELOAD_SCHEDULE_DELAY_MILLISECONDS).
Important: Sync state is not available for sensitive information (API keys/tokens/auth settings).
Synced:
Entity's states are identical in Admin and in Core for valid entities or entity is missing in Core for invalid entities.
In progress...:
If Synced conditions are not met and changes were applied within last 2 mins (this period is configurable via CONFIG_EXPORT_SYNC_DURATION_THRESHOLD_MS).
Out of sync:
If Synced conditions are not met and changes were applied more than 2 mins ago (this period is configurable via CONFIG_EXPORT_SYNC_DURATION_THRESHOLD_MS).
Unavailable:
Displayed when it is not possible to determine the entity's state in Core. This occurs if:
- The config was not received from Core for any reason.
- The configuration of entities in Core is not entirely compatible with the one in the Admin service.
Display NameYesRole's name displayed on UI.
DescriptionNoDescription of the given role.
TopicsNoSemantic tags assigned to roles (e.g. "admin", "user").
Set cost limitsNoThese settings allow configuring token usage limitations.
Available values: Tokens per minute, Tokens per day, Tokens per week, Tokens per month.
In case limitations for a specific role are not set, the limitations configured for the default role apply. In case limitations for the default role are not set, the value is unlimited.
Refer to DIAL Core documentation to learn more about available usage and cost limitations for roles.
SharingNoUse to set the sharing limits that apply for specific types of resources in DIAL.
Expiration time refers to TTL of the sharing link. Default: 72 hrs.
Max users refers to the maximum number of users who can accept a sharing link for a resource being shared. The limit is applied to the shared resource. Default: 10 for APPLICATION and UNLIMITED for other resource types.
Refer to DIAL Core documentation to learn more about sharing limitations.

Entities

In the Entities tab, you can assign which Models, Applications, Toolsets or Routes this role can access, and within which rate limits.

ColumnDescription
IDUnique entity's identifier.
Display NameEntity's name displayed on UI.
DescriptionDescription of the given entity.
TypeEntity category: one of Models, Applications, Toolsets or Routes.
Tokens per minuteMaximum number of tokens this role may consume per minute when calling a given entity.
Available to applications and models.
Tokens per dayMaximum number of tokens this role may consume per day when calling a given entity.
Available to applications and models.
Tokens per weekMaximum number of tokens this role may consume per week when calling a given entity.
Available to applications and models.
Tokens per monthMaximum number of tokens this role may consume per month when calling a given entity.
Available to applications and models.

Available actions
ActionDescription
AddUse to add a new entity which the selected role can access.
RemoveUse to remove entities from the list to disable role's access to them.
Set unlimitedUse to set an unlimited token usage for selected entities.
Available to applications and models.

Keys

In the Keys tab, you can assign API keys for roles. API keys are defined in the Access Management → Keys section.

ColumnDescription
Display NameName of the key displayed on UI.
DescriptionDescription of the key.
IDUnique key identifier.
Creation timeKey's creation timestamp.
Key generation timeTimestamp of the key's secret value generation.
Expiration timeKey's expiration timestamp. Setting expirations enforces regular key rotation. Blank means no expiration (i.e. permanent until manually revoked).
StatusCurrent validity status of the key. A key is invalid in cases when there are no roles assigned to it, or its secret value is missing or is expired.
TopicsTags assigned to the key (e.g. "admin", "user").
Updated timeTimestamp of the last update.
ProjectName of the project the key was created for.

Available actions
ActionDescription
AddUse to add API keys which the selected role can use.
RemoveUse to disconnect the selected role from API keys. To delete API key, go to Keys.

Audit

The Activities section provides detailed visibility into all changes made to the selected role. This section mimics the functionality available in the global Audit → Activities menu, but is scoped specifically to the selected role.

JSON Editor

Advanced users with technical expertise can work with the roles properties in a JSON editor view mode. It is useful for advanced scenarios of bulk updates, copy/paste between environments, or tweaking settings not exposed on UI.

TIP: You can switch between UI and JSON only if there are no unsaved changes.

In JSON editor, you can use the view dropdown to select between Admin format and Core format. Note, that these formatting options are for your convenience only and do not render properties as they are defined in DIAL Core.

Working with JSON Editor
  1. Navigate to Access Management → Roles, then select the role you want to edit.
  2. Click the JSON Editor toggle (top-right). The UI reveals the raw JSON.
  3. Chose between the Admin and Core format to see and work with properties in the necessary format. Note: Core format view mode does not render the actual configuration stored in DIAL Core but the configuration in Admin service displayed in the DIAL Core format.
  4. Make changes and click Save to apply them.