Uploaded image for project: 'Camunda Optimize'
  1. Camunda Optimize
  2. OPT-7124

Retrieve and implement tenant authorization for user in C8

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: L3 - Default L3 - Default
    • 3.11.0
    • None
    • None
    • None

      Context:

      With implementation of multi tenancy in C8, Optimize now needs to retrieve information on which tenants a logged in user is authorized to see to use in tenant auth checks for things like reports, collection scopes etc.

      To reduce amount of PRs, this ticket will also implement OPT-7268 and add the flag to enable/disable multi tenancy.

      ATs:

      • In C8 CCSM, if multi tenancy is enabled, users can only see data from tenants they have access to as configured in identity
      • If multi tenancy is disabled, all users have access to data from the <default> tenant. If data exists for other tenant, this data is not visible to any user.
      • If multi tenancy is enabled in Optimize but Optimize encounters an error when attempting to fetch tenant authorizations from identity (for example because tenancy is disabled in identity), then the respective user has no tenant authorizations and can see no data

      Testing Notes:

      Case 1:

      • Can only be tested once multi tenancy is implemented in zeebe and identity
      • setup an environment with multiple tenants, tenant1 and tenant2
      • setup user1 who only has access to tenant1
      • deploy data on multiple tenants (default, tenant1, tenant2)
      • Create resources (reports, collections, management dashboard, instant preview dashboard etc) and confirm user1 can only see data from tenant1 and default tenant

      Case 2:

      • set up a CCSM environment with data for multiple tenants: <default> and tenant1
      • set up a user that has access to both tenants
      • start Optimize with multi tenancy enabled and let it import the data
      • stop Optimzie and disable multi tenancy via config
      • restart Optimize
      • confirm that all users have access to <default> tenant 
      • confirm that no users have access to any other tenants

      Case 3:

      • set up a CCSM environment with data for multiple tenants: <default> and tenant1
      • set multi tenancy to disabled in identity
      • start Optimize with multi tenancy enabled
      • confirm that users have no access to any data and an error is logged when trying to retrieve tenant authorizations for any user

        This is the controller panel for Smart Panels app

            [OPT-7124] Retrieve and implement tenant authorization for user in C8

            Andromachi Rozaki created issue -
            Joshua Windels made changes -
            Status Original: Triage [ 10612 ] New: Backlog [ 11212 ]
            Helene Waechtler made changes -
            Assignee New: Helene Waechtler [ helene.waechtler ]
            Helene Waechtler made changes -
            Status Original: Backlog [ 11212 ] New: Ready [ 10005 ]
            Helene Waechtler made changes -
            Summary Original: Implement logic to fetch tenants which the user is authorized to see New: Retrieve authorized tenants for user in C8
            Helene Waechtler made changes -
            Description Original: In C7, we have implemented logic to verify which users are allowed to see data from specific tenants. Since the tenant functionality was missing from C8, we basically have to implement that logic again now but for C8. To do so, we have to fetch from identity which tenants a user has authorization for.

            ATs:
            - We fetch from identity tenants which users have authorization for
            - The users can only see data from tenants they have access to
            New: *Context:*

            With implementation of multi tenancy in C8, Optimize now needs to retrieve information on which tenants a logged in user is authorized to see to use in tenant auth checks for things like reports, collection scopes etc.

            *ATs:*
             - In C8, users can only see data from tenants they have access to

            Testing Notes:
             * Can only be tested once multi tenancy is implemented in zeebe and identity
             * setup an environment with multiple tenants, tenant1 and tenant2
             * setup user1 who only has access to tenant1
             * Create resources (reports, collections, management dashboard, instant preview dashboard etc) and confirm user1 can only see data from tenant1 and default tenant
            Helene Waechtler made changes -
            Description Original: *Context:*

            With implementation of multi tenancy in C8, Optimize now needs to retrieve information on which tenants a logged in user is authorized to see to use in tenant auth checks for things like reports, collection scopes etc.

            *ATs:*
             - In C8, users can only see data from tenants they have access to

            Testing Notes:
             * Can only be tested once multi tenancy is implemented in zeebe and identity
             * setup an environment with multiple tenants, tenant1 and tenant2
             * setup user1 who only has access to tenant1
             * Create resources (reports, collections, management dashboard, instant preview dashboard etc) and confirm user1 can only see data from tenant1 and default tenant
            New: *Context:*

            With implementation of multi tenancy in C8, Optimize now needs to retrieve information on which tenants a logged in user is authorized to see to use in tenant auth checks for things like reports, collection scopes etc.

            *ATs:*
             - In C8, users can only see data from tenants they have access to

            *Testing Notes:*
             * Can only be tested once multi tenancy is implemented in zeebe and identity
             * setup an environment with multiple tenants, tenant1 and tenant2
             * setup user1 who only has access to tenant1
             * deploy data on multiple tenants (default, tenant1, tenant2)
             * Create resources (reports, collections, management dashboard, instant preview dashboard etc) and confirm user1 can only see data from tenant1 and default tenant
            Helene Waechtler made changes -
            Description Original: *Context:*

            With implementation of multi tenancy in C8, Optimize now needs to retrieve information on which tenants a logged in user is authorized to see to use in tenant auth checks for things like reports, collection scopes etc.

            *ATs:*
             - In C8, users can only see data from tenants they have access to

            *Testing Notes:*
             * Can only be tested once multi tenancy is implemented in zeebe and identity
             * setup an environment with multiple tenants, tenant1 and tenant2
             * setup user1 who only has access to tenant1
             * deploy data on multiple tenants (default, tenant1, tenant2)
             * Create resources (reports, collections, management dashboard, instant preview dashboard etc) and confirm user1 can only see data from tenant1 and default tenant
            New: *Context:*

            With implementation of multi tenancy in C8, Optimize now needs to retrieve information on which tenants a logged in user is authorized to see to use in tenant auth checks for things like reports, collection scopes etc.

            *ATs:*
             - In C8, users can only see data from tenants they have access to
             - all users have access to the default tenant

            *Testing Notes:*
             * Can only be tested once multi tenancy is implemented in zeebe and identity
             * setup an environment with multiple tenants, tenant1 and tenant2
             * setup user1 who only has access to tenant1
             * deploy data on multiple tenants (default, tenant1, tenant2)
             * Create resources (reports, collections, management dashboard, instant preview dashboard etc) and confirm user1 can only see data from tenant1 and default tenant
            Helene Waechtler made changes -
            Status Original: Ready [ 10005 ] New: In Development [ 10312 ]
            Helene Waechtler made changes -
            Link New: This issue depends on OPT-7249 [ OPT-7249 ]
            Helene Waechtler made changes -
            Status Original: In Development [ 10312 ] New: Ready [ 10005 ]

              Unassigned Unassigned
              andromachi.rozaki Andromachi Rozaki
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: