Skip to content

Users & Roles

inSCADA provides user authorization with role-based access control (RBAC). Users are linked to roles, and roles are linked to permissions and menus.

Menu: User Menu → Users

User List

FieldRequiredDescription
UsernameYesLogin username (cannot be changed)
PasswordYesPassword (stored encrypted)
EmailNoEmail address (for notifications)
PhoneNoPhone number (for SMS notifications)
RolesYesRoles to assign
SpacesYesSpaces the user can access
TypeDescription
NONEOTP disabled
SMSVerification code via SMS during login
MAILVerification code via email during login
SettingDescription
Require Password ResetForce password change on next login
EULA AcceptedEnd-user license agreement acceptance

Menu: User Menu → Roles

Role List

A role is a combination of permissions and menu groups. Multiple roles can be assigned to a user — permissions from all roles are merged.

FieldRequiredDescription
NameYesRole name
PermissionsYesPermissions to assign to this role
MenusYesMenus this role can see

Operator Role:

  • Menus: Home, Control Panel, Alarm Monitor, Trend Graphic
  • Permissions: VIEW_VARIABLE, SET_VARIABLE_VALUE, VIEW_FIRED_ALARM, ACK_FIRED_ALARM, VIEW_ANIMATION

Engineer Role:

  • Menus: Connections, Variables, Alarms, Scripts, Animations, Trends
  • Permissions: All CRUD permissions + RUN_SCRIPT + SCHEDULE_SCRIPT

Administrator Role:

  • Menus: All menus
  • Permissions: All permissions

Permissions provide granular access control for every operation on the platform. A total of 242 permissions are available.

CategoryPermissionsDescription
ProjectCREATE, VIEW, UPDATE, DELETE, EXPORT, IMPORTProject CRUD
ConnectionCREATE, VIEW, UPDATE, DELETE, EXPORT, IMPORT, START, STOPConnection management + control
VariableCREATE, VIEW, UPDATE, DELETE, EXPORT, IMPORT, SET_VALUEVariable management + writing
AlarmCREATE, VIEW, UPDATE, DELETE, ACTIVATE, DEACTIVATEAlarm definitions
Alarm GroupCREATE, VIEW, UPDATE, DELETE, EXPORT, IMPORTAlarm groups
Fired AlarmVIEW, ACK, FORCE_OFFAlarm monitoring
ScriptCREATE, VIEW, UPDATE, DELETE, RUN, SCHEDULE, CANCELScript management + execution
ReportCREATE, VIEW, UPDATE, DELETE, SCHEDULE, CANCEL, PRINT, MAILReport management
AnimationCREATE, VIEW, UPDATE, DELETE, EXPORT, IMPORTSVG screen management
TrendCREATE, VIEW, UPDATE, DELETE, EXPORT, IMPORTTrend charts
Data TransferCREATE, VIEW, UPDATE, DELETE, SCHEDULE, CANCELData transfer
UserCREATE, VIEW, UPDATE, DELETE, RESET_PASSWORDUser management
RoleCREATE, VIEW, UPDATE, DELETE, EXPORT, IMPORTRole management
DashboardCREATE, VIEW, UPDATE, DELETE, EXPORT, IMPORTDashboard management
Custom MenuCREATE, VIEW, UPDATE, DELETE, EXPORT, IMPORTCustom menu
ExpressionCREATE, VIEW, UPDATE, DELETE, EXPORT, IMPORTFormula management
EmailSEND, VIEW_SENT, VIEW_SETTINGS, UPDATE_SETTINGSEmail
SMSSEND, VIEW_SENT, VIEW_SETTINGS, UPDATE_SETTINGSSMS
LogVIEW, TRUNCATEAudit logs
LicenseVIEW, ACTIVATELicense management
SystemVIEW_SYSTEM_STATS, EXEC_SYSTEM_COMMANDSystem commands
LanguageCREATE, VIEW, UPDATE, DELETE, EXPORT, IMPORTMulti-language
PermissionDescription
SET_VARIABLE_VALUEWrite a value to a variable (control command)
RUN_SCRIPTRun a script (server-side code)
EXEC_SYSTEM_COMMANDExecute an OS command
START_CONNECTION / STOP_CONNECTIONStart/stop a connection
FORCE_OFF_FIRED_ALARMForce-dismiss an alarm

Menus determine the pages a user can see in the interface. Multiple menus can be assigned to a role.

CategoryMenus
HomeHome
WorkspaceControl Panel, Process, Processes
MonitoringAlarm Monitor, Alarm History, Trend Graphic, Variable History, Variable Monitor
ConfigurationProjects, Connections, Devices, Variables, Alarms, Alarm Groups
DevelopmentDevelopment, Scripts, Expressions, Animations, Trends, Reports, Data Transfers
VisualizationVisualization, Project Map, Custom Menu Dev
SystemUsers, Roles, License, Log, Job, Auth Log, Keywords, Languages
NotificationNotifications, Email, SMS
DataBackup/Restore, Device Library

Users can access multiple spaces. The login response returns the list of accessible spaces:

{
"expire-seconds": 300,
"spaces": ["default_space", "production", "test"]
}

The user can switch spaces during a session using the X-Space header.