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 by product

Each product defines its own set of roles. The following tables list every permission for each product: a check mark indicates that the role includes the permission. The Owner role includes every permission in every table.

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

NameActionPermission IDAdminUser
OrganizationReadplatform:organization:read✓✓
OrganizationWriteplatform:organization:write✓
BillingReadplatform:billing:read/*✓✓
BillingWriteplatform:billing:write/*✓
PaymentsReadplatform:payments:read✓✓
PaymentsWriteplatform:payments:write✓
MemberReadplatform:member:read✓✓
Member inviteWriteplatform:member_invite:write✓
MemberWriteplatform:member:write✓
Member roleWriteplatform:member_role:write/*✓
Owner addressReadplatform:owner_address:read✓✓
Owner addressWriteplatform:owner_address:write✓
API keyReadplatform:api_key:read✓✓
API keyWriteplatform:api_key:write✓✓
LimitsReadplatform:limits:read/platform✓✓
LimitsWriteplatform:limits:write/platform✓
Owner address linkingWriteplatform:owner_address:linking:write/*
LimitsReadplatform:limits:read/*
LimitsWriteplatform:limits:write/*

The last three permissions in the table are cross-product permissions that no Platform role includes. Product roles grant their product-scoped versions instead: for example, the CRE Admin role includes platform:owner_address:linking:write/cre and platform:limits:write/cre.

CRE

CRE roles control access to workflows, secrets, limits, and workflow owner addresses. CRE roles can only be assigned to organizations with full access status.

NameActionPermission IDAdminDeveloperViewer
Full CRE accesscre:*✓
WorkflowReadcre:workflow:read✓✓✓
Workflow artifactReadcre:workflow:artifact:read✓✓✓
Workflow artifactWritecre:workflow:artifact:write✓✓
WorkflowWritecre:workflow:write/private_registry✓✓
SecretReadcre:secret:read✓✓✓
SecretWritecre:secret:write✓✓
Member roleWriteplatform:member_role:write/cre✓
Owner address linkingWriteplatform:owner_address:linking:write/cre✓
LimitsReadplatform:limits:read/cre✓✓✓
LimitsWriteplatform:limits:write/cre✓

ACE

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

Policy manager

NameActionPermission IDAdminOperatorViewer
Policy manager policy engineReadace:policy_manager:policy_engine:read✓✓✓
Policy manager policy engineWriteace:policy_manager:policy_engine:write✓✓
Policy manager policy engine archiveWriteace:policy_manager:policy_engine:archive:write✓
Policy manager policyReadace:policy_manager:policy:read✓✓✓
Policy manager policyWriteace:policy_manager:policy:write✓✓
Policy manager policy archiveWriteace:policy_manager:policy:archive:write✓✓
Policy manager targetReadace:policy_manager:target:read✓✓✓
Policy manager targetWriteace:policy_manager:target:write✓✓
Policy manager target archiveWriteace:policy_manager:target:archive:write✓✓
Policy manager target accessReadace:policy_manager:target_access:read✓
Policy manager target accessWriteace:policy_manager:target_access:write✓
Policy manager implementationReadace:policy_manager:implementation:read✓✓✓
Policy manager implementationWriteace:policy_manager:implementation:write✓✓
Policy manager implementation archiveWriteace:policy_manager:implementation:archive:write✓

Identity manager

NameActionPermission IDAdminOperatorViewer
Identity manager registryReadace:identity_manager:registry:read✓✓✓
Identity manager registryWriteace:identity_manager:registry:write✓✓
Identity manager registry archiveWriteace:identity_manager:registry:archive:write✓
Identity manager registry accessReadace:identity_manager:registry_access:read✓
Identity manager registry accessWriteace:identity_manager:registry_access:write✓
Identity manager identityReadace:identity_manager:identity:read✓✓✓
Identity manager identityWriteace:identity_manager:identity:write✓✓
Identity manager identity archiveWriteace:identity_manager:identity:archive:write✓✓

Reporting and evaluation

NameActionPermission IDAdminOperatorViewer
Reporting policyReadace:reporting:policy:read✓✓✓
Reporting identityReadace:reporting:identity:read✓✓✓
Reporting targetReadace:reporting:target:read✓✓✓
Reporting transactionReadace:reporting:transaction:read✓✓✓
Reporting permitReadace:reporting:permit:read✓✓✓
Reporting registryReadace:reporting:registry:read✓✓✓
Evaluation permitReadace:evaluation:permit:read✓✓✓
Evaluation permitWriteace:evaluation:permit:write✓✓

Core

NameActionPermission IDAdminOperatorViewer
Core org configReadace:core:org_config:read✓✓✓
Core networkReadace:core:network:read✓✓✓
Core walletReadace:core:wallet:read✓✓✓
Core walletWriteace:core:wallet:write✓

Active monitoring

NameActionPermission IDAdminOperatorViewer
Active monitoring action variableReadace:active_monitoring:action_variable:read✓✓✓
Active monitoring contract groupReadace:active_monitoring:contract_group:read✓✓✓
Active monitoring contract groupWriteace:active_monitoring:contract_group:write✓✓
Active monitoring rule groupReadace:active_monitoring:rule_group:read✓✓✓
Active monitoring rule groupWriteace:active_monitoring:rule_group:write✓✓
Active monitoring monitored addressReadace:active_monitoring:monitored_address:read✓✓✓
Active monitoring monitored addressWriteace:active_monitoring:monitored_address:write✓✓
Active monitoring screening intervalReadace:active_monitoring:screening_interval:read✓✓✓
Active monitoring screening intervalWriteace:active_monitoring:screening_interval:write✓✓
Active monitoring decision logReadace:active_monitoring:decision_log:read✓✓✓
Active monitoring decision logWriteace:active_monitoring:decision_log:write✓✓
Active monitoring provider api keyReadace:active_monitoring:provider_api_key:read✓✓✓
Active monitoring provider api keyWriteace:active_monitoring:provider_api_key:write✓

Administration

NameActionPermission IDAdminOperatorViewer
Full ACE accessace:*✓
Member roleWriteplatform:member_role:write/ace✓

CRE Connect

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

NameActionPermission IDAdminOperatorViewer
NetworkReadcrec:network:read✓✓✓
OperationReadcrec:operation:read✓✓✓
OperationWritecrec:operation:write✓✓
Operation signatureWritecrec:operation:signature:write✓✓
WalletReadcrec:wallet:read✓✓✓
WalletWritecrec:wallet:write✓✓
Wallet archiveWritecrec:wallet:archive:write✓
ChannelReadcrec:channel:read✓✓✓
ChannelWritecrec:channel:write✓✓
Channel archiveWritecrec:channel:archive:write✓
WatcherReadcrec:watcher:read✓✓✓
WatcherWritecrec:watcher:write✓✓
Watcher archiveWritecrec:watcher:archive:write✓
QueryReadcrec:query:read✓✓✓
QueryWritecrec:query:write✓✓
EventReadcrec:event:read✓✓✓
Full CRE Connect accesscrec:*✓
Member roleWriteplatform:member_role:write/crec✓

Data Streams

Data Streams has a single role.

NameActionPermission IDAdmin
Full Data Streams self-serve accessdatastreams:*✓
Member roleWriteplatform:member_role:write/datastreams✓

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.