Lakehouse Optimizer User Roles
What roles are there in the LHO app?
LHO supports the following roles granting specific rights to users within the application:
User
Read-only access to all feature pages
Viewing rights for Workloads and Optimize pages governed by permissions configured in Databricks.
Cannot modify settings, consumption data, or telemetry processing.
Admin
Access to all feature pages, with permission to configure budget and commit thresholds.
Viewing rights for Workloads and Optimize pages governed by permissions configured in Databricks.
Full access to app settings, except for managing consumption data processing. Admin can set license, configure telemetry processing, manage incident policies, email notifications, and tags.
Billing Admin
Add-on admin permission to manage consumption data processing.
Executive
Read-only access to all feature pages, same as User role.
Unrestricted data access for Workloads and Optimize pages (not limited by Databricks permissions).
Cannot modify settings, consumption data, or telemetry processing.
How can I assign LHO roles to users?
When no roles are defined in the Service Principal app, all signed-in users in LHO are treated as LHO Admins. Therefore, it is essential to define roles in the Service Principal app in order to restrict default access permissions to the User LHO role.
Step 1: Create env variables
In order to enable roles in LHO app, first set the following environment variables in .env file:
ADMIN_APP_ROLE=lho_adminBILLING_ADMIN_APP_ROLE=lho_billing_adminEXECUTIVE_APP_ROLE=lho_executive
Values are user specified tags to identify different roles within LHO. These tags are then used to define each role in Active Directory > App Registrations.
If the environment variable ADMIN_APP_ROLE is not defined, then all users who access LHO via single sign-on will have LHO Admin role permissions.
Step 2: Create app roles
Open Azure Active Directory in Azure Portal
Go to App Registrations
Search by
Application (client) IDand click to open applicationNavigate to Manage > App roles
Create app roles
lho_admin
Display name =
lho_adminAllowed member types = Users/Groups
Value =
lho_admin– same as the value of env variableADMIN_APP_ROLEDescription = LHO Admin. Can use and configure all product features, except for managing consumption data processing
lho_billing_admin
Display name =
lho_biling_adminAllowed member types = Users/Groups
Value =
lho_biling_admin– same as the value of env variableBILLING_ADMIN_APP_ROLEDescription = LHO Billing Admin. Add-on permission to LHO Admin to manage consumption data processing.
lho_executive
Display name =
lho_executiveAllowed member types = Users/Groups
Value =
lho_executive– same as the value of env variableEXECUTIVE_APP_ROLEDescription = LHO Executive. Can use all product features. Full visibility into Workloads (not restricted by Databricks permissions).
lho_user
Create only if in app PropertiesAssignment required?is set to Yes.
If in app Properties assignment is not required, then all users who access LHO via single sign-on will have LHO User role by default (in addition to assigned roles).Display name =
lho_userAllowed member types = Users/Groups
Value =
lho_userDescription = LHO User. Can use all product features.
If no roles are defined in App Registrations, then all users who access LHO via single sign-on will have LHO Admin role permissions.
Step 3: Assign users to app role(s)
Open Azure Active Directory in Azure Portal
Go to App Registrations
Search by
Application (client) IDand click to open applicationMake sure Overview is selected
Click on the app name in the Managed application in local directory field. This will open the Enterprise Application view.
Navigate to Manage > Users and groups
Click +Add user/group
Select users/groups. Confirm by clicking Select button.
Select a role to assign. Confirm by clicking Select button.
Confirm by clicking Assign button.
If the user should be able to view data in Workloads regardless of permissions in Databricks, assign
lho_executiverole.If the user should be able to configure Settings in LHO, assign
lho_adminrole.If the user should be able to manage consumption data processing (Settings>Consumption Data page), assign also
lho_biling_adminrole in addition tolho_admin.If in app Properties assignment is required, and the user doesn’t have either
lho_executiveorlho_adminrole, assignlho_userrole. Otherwise, no need inlho_userrole, all users who access LHO via single sign-on will have LHO User role permissions.