OPC UA Well-Known Roles

From OPC Labs Knowledge Base

The table below is a re-write of "Well-Known Roles" table from OPC 10000-3 (OPC Unified Architecture Part 3: Address Space Model), Release 1.05.06. We have created columns for the distinct separate permissions, and filled in the grid according to the prose in the original table.

OPC UA Well-Known Roles Suggested Permissions
BrowseName Browse and read non-security related Nodes Browse and read all type Nodes Browse Read live data Read historical data/events Subscribe to data/events Write live data Call Methods Read/write configuration data Change the non-security related configuration settings Change security related settings
Anonymous only in the
Server Object
yes
AuthenticatedUser yes
TrustedApplication yes
Observer yes yes yes yes
Operator yes yes yes yes some[1] some[1]
Engineer yes yes yes yes yes
Supervisor yes yes yes yes yes
ConfigureAdmin yes
SecurityAdmin yes

It should be noted that both the original table, and our rewritten table are quite imprecise. They certainly cannot serve as normative references. Definitions of many terms (such as "configuration data", "live data") are missing. Also, the suggested permissions are clearly incomplete: For example, to achieve many practical configuration tasks, it will be necessary that the ConfigureAdmin role gets a permission to perform at least some browsing outside the type nodes.

Additional information about the well-known roles can be found in OPC 10000-18 (OPC Unified Architecture Part 18: Role-Based Security), Release 1.05.06. From there, it can be inferred that the Anonymous, AuthenticatedUser and TrustedApplication roles are reserved in a sense that they cannot be changed or deleted. Depending on the circumstances, they are also used as implicit roles, assigned automatically based on rules described in the specification.

OPC 10000-14 (OPC Unified Architecture Part 14: PubSub), Release 1.05.06 defines additional well-known roles for SKS (Security Key Service):

  • SecurityKeyServerAdmin
  • SecurityKeyServerAccess
  • SecurityKeyServerPush

Other OPC UA specifications may define further well-known roles.

  1. 1.0 1.1 Session