Dynamic Roles are built into Launchpad for the purpose of controlling permissions for various modules and features on KODE OS. Launchpad has a default set of Roles and Permissions. An Administrator can grant permissions to a role, revoke permissions from a role, or create a new role and assign permissions from scratch.
Effective user roles and permissions are fundamental to maintaining security, ensuring data integrity, and optimizing operational efficiency within any software platform. In KODE OS, user roles define precisely what each user can access and manage, safeguarding sensitive data and streamlining workflows. This role-based approach ensures that individuals have the necessary access to perform their responsibilities without unnecessary exposure to other functionalities.
Role-Based Access Control (RBAC) is a method of restricting system access to authorized users. Instead of assigning permissions individually to each user, RBAC assigns permissions to specific roles. Users then inherit these permissions based on the roles assigned to them. Think of it like a set of keys: instead of giving a unique set of keys to every person, you create different keyrings for different roles (Building Manager Keys, Security Team Keys). Anyone assigned the Building Manager role automatically receives the corresponding keys to access specific areas, simplifying access management and enhancing security.
Launchpad defines several core roles, each with distinct levels of access and control over the platform's features. These roles dictate what a user can view, edit, or configure within Launchpad itself.
Beyond the foundational Launchpad roles, KODE OS implements granular, application-specific roles that govern access within individual product modules. These roles ensure that sensitive building and operational data is accessible only to authorized personnel.
For example, KODE OS includes modules such as:
Cloud BMS: Centralized remote monitoring and control of every building system.
FTT: Automated digital commissioning and system testing.
FDD: Alarms, faults, and root cause analysis in real-time.
BBI: In-house business intelligence and analytics for your portfolio.
Maintenance: Automated scheduling and tracking of maintenance tasks.
Building Data Hub: Centralized hub where you can build data pipelines, create custom metrics, and generate actionable insights.
OSS: Optimized Start/Stop powered with ML.
Each of these applications can have its own set of roles (SuperAdmin, Engineering Manager, Property Manager within KODE OS itself) that determine the specific functions a user can perform within that particular application. This layered approach to roles enhances data protection by precisely limiting access to necessary information.
Permissions in KODE OS are structured into distinct types and organized hierarchically to provide fine-grained control.
Read Permissions: Enables users to view information or access specific features within a module or submodule.
Write Permissions: Grants users the ability to modify, create, or delete data and configurations within a module or submodule.
These permissions are organized into various modules (Building BI, Dashboards, Users, etc.) and further broken down into submodules (for example, Users > General). This granular structure allows administrators to tailor access levels precisely, ensuring that users can only perform actions relevant to their responsibilities.
When Single Sign-On (SSO) is enabled for your KODE OS workspace, external Identity Provider (IdP) roles can be mapped directly to KODE OS roles. This process centralizes user role management within your organization's IdP, simplifying administration.
This means that while user authentication occurs in the IdP, their permissions within KODE OS are automatically passed through based on their IdP roles. This capability reinforces the concept that role assignments and modifications are managed in a single, authoritative source.
The comprehensive role and permission system in Launchpad and KODE OS ensures that users receive exactly the access they need—no more, no less. This granular control contributes significantly to overall security by minimizing unauthorized access to sensitive data and functionalities. Furthermore, it enhances operational efficiency by providing a clear framework for user responsibilities, leading to a more streamlined and secure user experience across all KODE OS applications.
To view a list of KODE OS roles,
In Launchpad, click Apps. The Apps List page appears.
Click KODE OS. The KODE OS Details page appears.
Select Roles. The Roles List appears, displaying the names, description, and number of permissions for each role.
From this page you can do the following.
Click the + Add Role button to add a role.
Use the Search field to search for a role.
Click a role to view the details for that role. From there you can edit or delete the role.
To add a role,
In the Roles List, click +Add Role. The Add Role page appears.
Type a Name for the role and Description.
Select the Permissions for the role. The Permissions section is divided into six main modules with various submodules, outlined below.
Building BI
Dashboards
Datasources
Sharings
Templates
Building Data Hub
Pipelines
Schedule
Buildings
General
Areas
Dashboards
Datasources
Devices
Miscellaneous
Points
Systems
Tags
Maintenance
General
Assets
Dashboard
Data Sources
Discovery Logs
Notification Policies
Schedule Logs
Schedules
Task Templates
Tasks
Modules
Admin
Audit
Connectivity
Dashboards
Deployment Audit
Energy Dashboard
FDDV2
FTT
GraphicsV1
GraphicsV2
Marker Icons
Mass Write
MultiTrend
OSS
ScheduleV2
Users
General
There are two kinds of permission for each module and submodule.
Read: View the respective module or feature.
Write: Modify the respective module or feature.
4. Click Save. The role is saved. The Role Details page appears. From this page you can edit the role or delete the role.
For detailed information on module permissions, refer to Permissions.
To edit a role,
In the Roles List, select the role you want to edit. The Role Details page appears.
Click the Edit button. The Edit Role page appears. Modify the permissions for each role.
Several modules have a Warning symbol next to their name. Hover over the Warning to open an information/attention box which states which roles are connected with each other, and must be selected in order to continue.
3. Click Save. The changes to the role are saved. (Click Cancel to cancel any changes.)
To delete a role,
In the Roles List, select the Role you want to delete. The Role Details page appears.
Click the Delete button. A confirmation pop-up window appears.
Click Yes, Delete. The role is deleted.
You can not delete a role if there are still users assigned to that role.
When adding a role, you can base it on another role and modify the permissions as needed.
In the Roles List click the + Add Role button, the Add Role page appears.
Type a Name for the role and Description.
Click the Copy From Another Role button. The Roles pop-up window appears.
Select the role you want to copy and click Save. The Add Role page appears with all of the permission filled-in based on the role you copied.
Make the desired modifications.
Click Save. The role is saved. The Role Details page appears. From this page you can edit the role or delete the role.
KODE Labs allows client user permissions to automatically be passed through from identity provider platforms as part of the integration. This means that you have the ability to add a role (IdP role), and then to specify a role for apps (Launchpad, KODE OS, myMSI); map the IdP role to the app permissions.
Before you add new role mappings, you must have already added the roles attributes in the Attribute Mappings section in your IdP, and then entered that information in KODE Labs. Refer to Enable Single Sign-On (SSO) for more information.
To manage your role mappings,
In Launchpad, click Sign in Methods. The Sign In Methods page appears, displaying all the IAM methods set up for your organization.
Select the Sign in Method whose roles you want to map.
Select the Role Mapping tab.
Click the + Assign Role(s) button.
In the Assign Role(s) window enter the following details.
Role Name/IdP Role Identifier: Name or UID (by which it is uniquely identified in IdP) of the IdP group that you want to map.
KODE Labs organization Role:
Launchpad Role (required)
Choose myMSI and KODE OS roles (optional)
Click the Assign Role(s) button. The roles are mapped.
The role management (in KODE Labs) for the users in your IdP is controlled through your IdP, instead of from KODE Labs. Users can sign in to KODE Labs via SSO with the corresponding roles and permissions. All you have to do is add the users to any of your IdP groups or roles (in your IdP settings) that are mapped with KODE Labs roles.
If a user is assigned to more than two roles in your IdP, in KODE Labs the user is assigned the role that is at the top of the list of roles in the Role Mappings page. By default, the order goes from first created to most recently created. The order is customizable.
KODE OS handles user management based on the conditions we set for each role in Launchpad.
To configure who can add users to KODE OS.
In Launchpad, click Apps.
Click KODE OS.
Select the Roles panel.
Select the Role whose permissions for user management you want to modify.
Click the Edit button.
In the Permissions section, scroll down to Users > General.
In the Users section check the checkboxes based on what permission you want to enable to the selected user role.
Click the Constraints link next to the Get Users checkbox. The Get Users pop-up window appears.
Click the AssignedInSameBuilding checkbox and the user in the selected user role will be able to add people in KODE OS only to the buildings they are assigned to.
Click Confirm to confirm this choice. (Click Cancel to cancel the change.)
Clicking the checkboxes for Create users and Delete users enables the Manage Constraints link for each.
Click the Manage Constraints link next to Create users. A pop-up window appears.
Specify the type of users you want to allow the selected user role to add in KODE OS. (For example, if you are editing a User Admin role, in the Choose Roles dropdown select the type of users User Admin role can add in KODE OS.)
Click Confirm to confirm the choice. (Click Cancel to cancel the change.)
Click the Manage Constraints link next to Delete users and follow the same steps (13 - 14) to specify the type of users you want to allow the selected user role to delete from KODE OS.
Click Save. The changes to user management for the selected role are saved.