Link Search Menu Expand Document

Multi-Tenancy support

Jan 1 2022 at 12:00 AM

  1. Account Types
    1. Tenant owner account
    2. Account
  2. Account access types
    1. Account owner
    2. Account member
  3. Login

The Commanderâ„¢ platform was a tenancy-based system, with a tenant deployed per client, one account per tenant with multiple users linked to that account. The infrastructure costs of hosting a tenant are often beyond the means of our smaller clients, so the ability to host multiple accounts on the same tenant was added to Commanderâ„¢. Each account will be completely isolated to ensure complete privacy per account.

Over time, our smaller clients will be moved to our multi-tenancy environment, while our bigger clients will continue to use separate tenants.

We were forced to change the URLs of Commander dashboard views to accommodate multiple accounts per tenant; the URLs will now include the Account ID.

Old URL example: https://clientabc.commander.io/dashboard/view/{viewID}

New URL example: https://clientabc.commander.io/{accountID}/_apps/dashboard/view/{ViewID}

Please note: If you have bookmarked dashboard views, that these bookmarks will have to be updated to reflect the new changes.

Account Types

With Multi-tenancy we introduce two new account types: Tenant owner account and Accounts. All tenants will have at least two account; one Tenant owner account and one or more separate Accounts.

Tenant owner account

The tenant owner account will administer the tenant and be responsible to manage tenant-wide configuration. Note that the Tenant owner account is not a normal account and will not have the ability to add entities, blueprints, or digital twins, and will not have access to Dashboard or Radar as the account's focus will be on tenant management. Users of the account will be able to add and manage accounts by making use of the Account Management app. With the tenant owner accounts, default configuration can be set that will be used by all accounts, accounts can override the defaults configuration if needed. Default configuration includes functions like theming, account identity, and Commander environment settings.

With the migration to multi-tenancy all administrators on a tenant will be given access to the Tenant owner account and made Account owners of the account.

Account

After the initial multi-tenancy migrations, Commander users will have access to one account only and will not be aware of the Tenant owner account. Within accounts users will have access to all functionality as before (based on the user's permissions).

Accounts will be completely isolated and will not have access to entities, blueprints, and Digital twins of other accounts.

In some rare instance, some users will have access to multiple accounts on a single tenant. These users will log into one account at a time and work in the context of that account. Users with access to multiple accounts will be able to switch between accounts by using the 'Switch Account' option in the profile menu.

The first account created on a tenant will be the default account; The default account is a normal account with a specific ID (Tenant ID is used to generate the account ID). The default account allows for backwards compatibility with regards to integration into Commander. If no account Id is specified, the default account will be used.

With the migration to multi-tenancy all existing entities, blueprints, Digital twins, and services will be migrated to the default account. All full access users on the tenant will be made account owners of the default account, while all other users will be made account members of the default account.

Account access types

A user can be given access to accounts as an Account owner or as an Account member.

Account owner

The account owner will be a user with escalated privileges and will have access to all entities on the account. There must always be at least one account owner per account, however multiple users can be made account owner. Only an Account owner can make an Account member an Account Owner. No restriction was placed on the maximum number of accounts owners per account. Account owners can access the Account management app and make changes to account identity, theming of the account, and invite users to the account.

All users with Administrator and Full access roles will be made Account owners during the multi-tenancy migration.

Account member

Account members are users on the account that can access applications they were given access to. Roles and permissions will still apply and restrict what the user can do on the Account, while entity access will determine to what entities the user has access to.

Login

Where users have access to a single account, the login process will work as normal. For user with access to multiple accounts on a tenant, an account selection option will be displayed after the user was authenticated to allow them to select the relevant account they wish to access.

Account Selection

Figure 1 - Account Selection