RBAC (Role-Based Access Control)

Role-based access control (RBAC) determines what each member of your organization can do on the Chainlink Platform. This page describes the roles available for each product, what each role can do, and how to manage roles for your organization members.

How RBAC works

Each organization member is assigned a role for each product. The role determines the permissions the member has for that product. For example, a member can be a CRE Admin and an ACE Viewer at the same time.

  • A member can hold a different role for each product.
  • A member can have no role for a product. A member without a role for a product has no access to that product.
  • Roles are managed per product. A member's role for one product does not affect their access to other products.

The Owner role

The first user to create an organization is automatically assigned the Owner role. The Owner role includes every permission for every product, including all future products. This covers:

  • Managing members and their roles for every product
  • Creating and managing API keys
  • Managing organization settings, billing, and addresses

There is exactly one Owner per organization, and the Owner role cannot be transferred.

Roles and permissions

Each product section below starts with a summary of its roles, followed by a table of the permissions each role includes. A check mark indicates that the role includes the permission. The Owner role includes every permission in every table.

Reading permission IDs

Each permission has an ID in the format product:resource:action. You see these IDs when you choose API key permissions, and in error messages when a request is missing a permission. Most IDs follow the same few patterns:

  • read permissions let you view a resource. write permissions let you create and update it.
  • archive:write permissions let you archive a resource. Archiving is separate from write because archiving some resources also affects everything built on them. For this reason, some roles can create and update a resource but not archive it.
  • A suffix after a slash limits a permission to one scope. For example, platform:member_role:write/cre allows changing CRE roles only, and platform:member_role:write/* allows changing roles for every product.
  • Permissions that start with platform: but end with a product scope, such as platform:limits:write/cre, are organization-level permissions limited to that product. They appear in that product's table.

Chainlink Platform roles control access to organization-level features such as members, API keys, addresses, billing, and limits. Every member has a Platform role.

RoleDescription
AdminFull access to manage the Chainlink Platform for your organization: invite and remove members, change any member's roles, and manage API keys.
UserFor developers and operations team members. Can view organization information and members, and can view and create API keys.
PermissionDescriptionAdminUser
platform:organization:readView organization information.✓✓
platform:organization:writeEdit organization information.✓
platform:billing:read/*View billing information for all products.✓✓
platform:member:readView the members of the organization.✓✓
platform:member_invite:writeInvite new members to the organization.✓
platform:member:writeRemove members from the organization.✓
platform:member_role:write/*Change members' roles for every product.✓
platform:owner_address:readView the organization's addresses in the address book.✓✓
platform:api_key:readView the organization's API keys.✓✓
platform:api_key:writeCreate and edit API keys.✓✓
platform:limits:read/platformView organization-level limits, such as the maximum overdraft.✓✓
platform:limits:write/platformChange organization-level limits that support self-serve changes.✓

Only the Owner can change limits for every product (platform:limits:write/*). Product Admin roles include the product-scoped version instead. For example, the CRE Admin role includes platform:limits:write/cre. Only limits that support self-serve changes can be changed this way. To change other limits, contact Chainlink.

CRE

CRE roles control access to workflows, secrets, limits, and workflow owner addresses.

RoleDescription
AdminFull CRE access, including managing secrets, changing CRE limits and roles, and linking workflow owner addresses, which is required to deploy workflows to the onchain registry.
DeveloperDeploy, pause, and delete workflows in the private registry, and manage secrets. Cannot link workflow owner addresses, so cannot deploy to the onchain registry.
ViewerView-only access to CRE, for monitoring workflows in the UI.
PermissionDescriptionAdminDeveloperViewer
cre:workflow:readView workflows.✓✓✓
cre:workflow:artifact:readDownload workflow artifacts.✓✓✓
cre:workflow:artifact:writeUpload workflow artifacts, which is required to deploy a workflow.✓✓
cre:workflow:write/private_registryDeploy, pause, activate, and delete workflows in the private registry.✓✓
cre:secret:readList secrets.✓✓✓
cre:secret:writeCreate, update, and delete secrets.✓✓
platform:owner_address:linking:write/creLink and unlink workflow owner addresses, which is required to deploy workflows to the onchain registry.✓
platform:limits:read/creView CRE limits, such as the maximum spend per workflow execution.✓✓✓
platform:limits:write/creChange CRE limits that support self-serve changes, such as the maximum spend per workflow execution.✓
platform:member_role:write/creChange members' CRE roles.✓

ACE

ACE roles control access to policy engines, policies, targets, identities, evaluations, and active monitoring.

RoleDescription
AdminFull ACE access, including archiving policy engines and registries, granting cross-org access, and changing members' ACE roles.
OperatorCreate and manage policies, targets, identities, evaluations, and active monitoring. Cannot archive policy engines, registries, extractors, or policy types, create wallets, or grant cross-org access.
ViewerView-only access to ACE.

Policy manager

PermissionDescriptionAdminOperatorViewer
ace:policy_manager:policy_engine:readRead policy engines.✓✓✓
ace:policy_manager:policy_engine:writeCreate and update policy engine.✓✓
ace:policy_manager:policy_engine:archive:writeArchive policy engine (affects everything deployed under it).✓
ace:policy_manager:policy:readRead policies and data validator instances.✓✓✓
ace:policy_manager:policy:writeCreate and update policy and data validator instances.✓✓
ace:policy_manager:policy:archive:writeArchive policy and data validator instances.✓✓
ace:policy_manager:target:readRead targets and their protections.✓✓✓
ace:policy_manager:target:writeCreate and update target and its protections.✓✓
ace:policy_manager:target:archive:writeArchive target and its protections.✓✓
ace:policy_manager:target_access:readRead a target's cross-org evaluation access grants.✓
ace:policy_manager:target_access:writeGrant and revoke cross-org evaluation access to a target.✓
ace:policy_manager:implementation:readRead extractors and policy types.✓✓✓
ace:policy_manager:implementation:writeCreate and update extractor or policy type (updates affect every instance built on it).✓✓
ace:policy_manager:implementation:archive:writeArchive extractor or policy type (affects every instance built on it).✓

Identity manager

PermissionDescriptionAdminOperatorViewer
ace:identity_manager:registry:readRead identity and credential registries, and credential types.✓✓✓
ace:identity_manager:registry:writeCreate and update identity or credential registry, and credential types.✓✓
ace:identity_manager:registry:archive:writeArchive identity or credential registry (affects everything deployed under it).✓
ace:identity_manager:registry_access:readRead a registry's cross-org access grants.✓
ace:identity_manager:registry_access:writeGrant and revoke cross-org read access to a registry.✓
ace:identity_manager:identity:readRead identities and credentials.✓✓✓
ace:identity_manager:identity:writeCreate and update identity, and assign credentials.✓✓
ace:identity_manager:identity:archive:writeArchive identity and credentials.✓✓

Reporting

PermissionDescriptionAdminOperatorViewer
ace:reporting:policy:readRead the reporting service's policy view.✓✓✓
ace:reporting:identity:readRead the reporting service's identity view.✓✓✓
ace:reporting:target:readRead the reporting service's target view.✓✓✓
ace:reporting:transaction:readRead the reporting service's transaction view.✓✓✓
ace:reporting:permit:readRead the reporting service's permit view.✓✓✓
ace:reporting:registry:readRead the reporting service's registry usage view.✓✓✓

Evaluation

PermissionDescriptionAdminOperatorViewer
ace:evaluation:permit:readRead evaluation permits.✓✓✓
ace:evaluation:permit:writeCreate evaluation permit.✓✓

Core

PermissionDescriptionAdminOperatorViewer
ace:core:org_config:readRead organization details.✓✓✓
ace:core:network:readRead supported networks.✓✓✓
ace:core:wallet:readRead wallets.✓✓✓
ace:core:wallet:writeCreate wallet.✓

Active monitoring

PermissionDescriptionAdminOperatorViewer
ace:active_monitoring:action_variable:readRead action variables.✓✓✓
ace:active_monitoring:contract_group:readRead contract groups.✓✓✓
ace:active_monitoring:contract_group:writeCreate contract groups.✓✓
ace:active_monitoring:rule_group:readRead rule groups.✓✓✓
ace:active_monitoring:rule_group:writeCreate and update rule groups.✓✓
ace:active_monitoring:monitored_address:readRead monitored addresses.✓✓✓
ace:active_monitoring:monitored_address:writeAdd addresses to the screening watch list.✓✓
ace:active_monitoring:screening_interval:readRead the screening interval.✓✓✓
ace:active_monitoring:screening_interval:writeSet, remove, start and stop the screening interval.✓✓
ace:active_monitoring:decision_log:readRead decision logs.✓✓✓
ace:active_monitoring:decision_log:writeDismiss and enforce decision logs.✓✓
ace:active_monitoring:provider_api_key:readRead screening-provider API key metadata.✓✓✓
ace:active_monitoring:provider_api_key:writeSet and remove screening-provider API keys.✓✓

Administration

PermissionDescriptionAdminOperatorViewer
platform:member_role:write/aceChange members' ACE roles.✓

CRE Connect

CRE Connect roles control access to operations, wallets, channels, watchers, queries, and events.

RoleDescription
AdminFull CRE Connect access, including archiving wallets, channels, and watchers, and changing members' CRE Connect roles.
OperatorCreate and manage operations, wallets, channels, watchers, and queries. Cannot archive resources.
ViewerView-only access to CRE Connect.

Core

PermissionDescriptionAdminOperatorViewer
crec:network:readRead available blockchain networks.✓✓✓
crec:wallet:readRead wallets.✓✓✓
crec:wallet:writeCreate or update wallet.✓✓
crec:wallet:archive:writeArchive wallet.✓

Operations

PermissionDescriptionAdminOperatorViewer
crec:operation:readRead operations and search by initiator/signer/canceller.✓✓✓
crec:operation:writeCreate operation (draft or pre-signed).✓✓
crec:operation:signature:writeSign (finalize) or cancel operation.✓✓

Channels

PermissionDescriptionAdminOperatorViewer
crec:channel:readRead channels.✓✓✓
crec:channel:writeCreate or update channel.✓✓
crec:channel:archive:writeArchive channel.✓

Watchers

PermissionDescriptionAdminOperatorViewer
crec:watcher:readRead watchers.✓✓✓
crec:watcher:writeCreate or update watcher.✓✓
crec:watcher:archive:writeArchive watcher.✓

Queries

PermissionDescriptionAdminOperatorViewer
crec:query:readRead queries.✓✓✓
crec:query:writeCreate query.✓✓

Events

PermissionDescriptionAdminOperatorViewer
crec:event:readRead events, run history, and search events.✓✓✓

Administration

PermissionDescriptionAdminOperatorViewer
platform:member_role:write/crecChange members' CRE Connect roles.✓

Data Streams

Data Streams has a single role.

RoleDescription
AdminAccess to your organization's Data Streams subscription, and the ability to assign other members as Data Streams Admins. Each member gets their own API credentials while sharing access to the organization's Data Streams.
PermissionDescriptionAdmin
platform:member_role:write/datastreamsChange members' Data Streams roles.✓

Managing member roles

Members with the appropriate permissions can assign and change roles for other members:

  • Platform Admins can manage member roles for all products.
  • Product Admins (for example, CRE Admins) can manage member roles for their product.
  • The Owner can manage member roles for all products.

To assign or change a member's roles, see Assigning and Modifying Roles.

What's next?

Get the latest Chainlink content straight to your inbox.