Setting Up Security: Centralized User Access, the Practical Guide [Legacy]

  • 23 November 2022
  • 0 replies
  • 446 views

Userlevel 5
Badge +7

Purpose


This article provides a step-by-step guide on how to set up centralized User Access. The article covers how to use Master User Roles to automatically assign Permissions and Access Rights in multiple applications. 

Although there are different ways to set up centralized User Access, some methods are better suited in different contexts. The approach outlined in this article is efficient and easy to use in many scenarios. 

 

Note: There are alternative methods where you set Access Rights by User or by Local Application role. These methods are not covered in the article. Feel free to adapt the process to meet your needs. Master User Roles are best to use when you want to set up a list of different business roles in your company that will give the relevant rights that all apply the same way in a set of different applications. It is well suited with a centralized management of your Pigment Workspace. In some rare cases where you have split management within your workspace (e.g. different teams owning different applications with no central management, this too works because you can create separate Master User Roles depending on the realm of each team.

 

This article is based on the Legacy Access Rights system. You can identify which system you are on by navigating to Roles, permissions & access section and seeing if there is an Unspecified option for read or write permissions within a Role.If you see the Unspecified option, you are on Legacy.  If you do not see it, you are on the current system.  For more information, check out this article.

 

 


Pre-requisites:

 

Table of Contents
 

 

Example Use Case


We’re going to use a Data Hub application where we will set our User Access. Apply the User Access to the Standard APP: Core Reporting Application. User Access includes setting up both Permissions and Access Rights.

It is assumed all applications would have the same Access Rights Rules.

A summary of the User Access Architecture we will be is:

tBMX04Ld8R68GyhQeP7rPnod19gJavTQCwTqJScNmplMQMOi05D6I2cn3pJjCSWCRdVVz4axvK-RPW2vOrr1WLpHRSGE2lk7JOxBE1ncsnXpyfRn2RFbT9KOcf9KwG9Nr0d66CGc-aW-i50JGhN7oovhWYxEATyYrNm1Lat1xRZ2K1Yzlq3Y39-eb-NyNA
In our example use case, there are four types of users requiring different user access:

  1. Admin: Full Access to all applications

  2. Super User: Like Admins they have full access to everything. The only difference is these users are not allowed to write formulas.

  3. Division Heads: READ/WRITE to their own Division, including the department within the division. Cannot access data outside their Division.

  4. Division Managers: READ/WRITE to their own Division. Cannot access data outside their Division.

Note: Divisions are the parent of Departments, so the relationship is as follows:

 

TL-q8AJOTW3tYyRT7a7WBVgXF3I6hOFXQNcbDso_Kb8KajeWVw6Y77CY0d_8XzTBVl2nxQzAkXMMBIZ7DYV736GDvAAzVNhxssukFpSIQj0rSscIOfmWgdH8Sr3snHG1SbXDPgKzohNJk6weHW2YQ2DjTPbz1NT620rK4YMQ1MKLfsz7xRyQcuqn9C6-DQ

Step-by-Step Guide


Set up Centralized User Roles

 

  1. In the Data Hub, go to the Security folder and edit the Role Dimension to have the following three Roles:

    IXBVCAY55pPY_Q_6xFXRTlSz4Iv8O8htdG6hHGQ-bJHEfea29hiBDTwbPMAM9_UlmXksdeVBqYXWNY9R2yEJNxpPPiWHCK1RCq8OaXI_ZX0aUcXv2We8XHXHh4cdLWghhjfQ7SQOZmDW5xqZCYVh62ASYiwzSvdUcJfFU2PaoPFRGMDirRo2Ze096auA8g

The Admin User Role is created by default for each application. Leave the default Permissions and Access Rights for this role. Admins will have full access to the Data Hub.

 

End User Role 

 

  1. To edit Permissions for the End User role, double-click the Permissions column.

  2. Set up the permissions as follows:


    This will give any user with the “End User” Role, access to READ data in the Data Hub, however, they will not have access to open the Data Hub.
    This means that they’ll be able to see any data that’s coming from the data hub (e.g. your business dimensions, currency rates, etc.) but they won’t see the application in the home page or be able to explore the data hub. This is perfect because we want the end-users to concentrate on the business applications.


Super User Role

  1. To edit Permissions for the Super User role, double-click the Permissions column


    Super Users will be able to do almost everything, except edit formulas and do key workspace functionality. 

 

Creation of the Master User Role Functionality

  1. Create a Master User folder in the Data Hub.

  2. Create the ‘Master User Role’ dimension in the Master User Role Folder.

    Place any Metrics created in the Data Hub in the Master User Role folder unless otherwise stated. 

  3. Add Admin 

  4. Share the ‘Master User Role’ dimension.

H-mL5hV8untomsz2RN_M6TNDOQfnPOcoxJ1V3cfeL1C0dyS35ac6xPj6ISuxHqhg-lGp3knpbKZAuQCbo134stSrsTAOji8YkUJeDqWk9vh3wBb92rugL_TE46soXfIEVsgoRP-dv7-WCFsdha6KfFBAq9dD9_dnT833AUpSEE_mv8gD8gGS5pgnbGQDKA

 

  1. Add every combination of Master Data Role as items within the dimension (these can be completed later on).

    Each Item should be a continuation of the Role & the specific Access Right Requirements. So if they are a Department Manager, and should have access to the Marketing Department, then create an item “Department L2 Manager: Marketing. A clear naming convention is  very important here.


    h6oZEA_GZYuhy8EKAPrIvu5dCtUhIEdi1rfvcuLlaxHQPvHOaO-2kslBZhu_4lGYxjbWCztcmyYC1M9TVxO4i7Lqgr3PRrFUiuLMiIKkmbR8ix_ce8ZxXa7Ol5LK3Jr1dsD0JYfSYU5YqzR0tVXmrnfVbSFQRKT3nGlA38NncJDB3N7KJoTM-cKtFORgZg



Create a Metric to assign Users to Master User Roles


1. In the Master User Role folder of the Data Hub, create the Master User Roles by User:

  1. Type Master User Roles by User for the Metric Name.

  2. Select Dimension as the Data type and User as the Dimension.

  3. Select Role as the Dimension(s) within this Metric.

  4. Select Create.

 


  1. NXwkxUWS9DqphdPSX5uz8BdBqjcnP993smvkr_ZQ6-AryJDx9KvYBhvgdcls6SuckCdI48RggfKlEIem86wc3LH90uVaZ2iC8uhqwAMIZPPb8k6-KUaAdqcO5lRG7_K2FqvoBDgC_ERcHcr4iiv3kdQX6ARYUwKK8lDj9KPEbpRJrbT__3K_d4duU7Dc_g
    This will be the Input metric where we assign Master User Role to a User.

 

Give Target Applications Access to the Data Hub (if not done already)

  1. Open the first target application. Select CTRL+K to search for the application by name using the Command Palette. 

  2. Select the application Settings.

  3. Select Libraries.

  4. Find the Data Hub and toggle the access to on.6XXIroFOUAr4uhrh9QEwpLA9XWA2QpC4-7FEBH6ZWaHX3Y9ceNzo-A5s3gj4R9GM0mIy5hjVUE1P-knFmYwByMt33HJc9V-YrL1RrotR4P1ZgAww46t3gmpwcnTJzT7mND5PbY1s1f2K19N5pC9WANldKTOAseZVhiynIBjLxRXy7YRxPpmzsSqejD4Ppg


    5. Open the default ‘Role’ block in the Security folder.

6.Create an item for each action combination and different combination of Board Access.
DRB_Ce3DJNVzBiTTsSgYiS74OpvvIeMU740nyUqhzUoRCwyyDs_7M10oVeudNE9PuwSFUJ6b0B8WG19OPdTUd1u3m59itYfnjqj06qF-6GGo4aiH0dJJVkhyqRRccBRunlew-yCnlI_4Yi9XXqvjQRPAVQ7f8AWwgrk7mRlzDL8dKB_sRUllq9QpDZyIOQ
Typically the default permissions for end users are:

 



NOTE: if the Boards default permission is ‘Can Open’, that role has access to ‘OPEN ALL BOARDS’ in the application.

 

6. In the Security folder, create a metric called “[App Name]: Master Role to App Role” dimensioned by Master User Role, which has the  ‘Role’ format. 

ah_7jwxei5SucPqmzDwgzdWPm_A9-4pUPS48lF6tEM0hJNxPJh-BJQ66OFmNTzrxIUvuyZntja29ssmZjtZtxOHA8-IkX_6zY7oYf6Gx3NvSTS4NoakYkm0Yw9llY-ywmnHqd10pq0PrC1lxZRmnJa_GQeolh0j9XGTNJO9MBo7SWgHlLAb_ZmmOfrAP5w

7. Share this block.

RjnYeHHNa0kxDRnCjkrD3aSGtHv4b06AYOE2Is6AJmYjY4WmCjn-qkPz38Nk_cyxktSb84nf2HBEnxgdEszLnPL_2mZhyyH9keDm93Cp7Tvttx_jGoq0WCgwF1hx2ScupgRdD6BS-bGwez9M9p0B0xdvAKSBaD9Q6FVKA2ARsaYPFZezj0uDKE_rqSvSpw

Accept Libraries from the Target Applications in the Data Hub

  1. Open the Data Hub and accept libraries from the target application.

  2. In the Security Folder, create the Master Role to Hub Role metric dimensioned by ‘Master User Role’ and formatted by the Data Hub ‘Role’ dimension..


    vSp3ddNy1S5J8dUpkIHSI1preSOHDE8_exivzFkyKg3tCk9DSKGFi81-RWU2Nqc-VhIuzDEnv--mlCtnpXH78Qtcppb4cJdtWKgND-JJN7WZPzEXXVAMhm_jitC5RdlYzynWhYtwVxLaO7d4-0LeiiNHHhLb_794eoBpkW6sBB-oMkvKD7C6ptXrWvr2XA
     

Assign Permissions to the Target Applications

  1. Create a Table called “Master User Role to App Role”. The metrics included in this table should be the metrics which map the Master User Role -> Local Application Role. 

  2. After you create the Table, map the Master User Roles to the Local Application Roles. This mapping will be used to assign the permissions and Board access for each of the Master User Roles.

    _z48DrPFvh_EhBBbPMsJH9YNWWBrNrvn0JoXtEtnkLFtdHFNsGeidD0M8hEcTueYDiHRy8FfoukafOhBWgR96LmMGznVPJDTInv4IshzaQSsT_VqeB7ldO6hMQiYnZWPfTjHVe0Gg4ErZUURSQZR8aio775tEcAfVgs_KV1qE02BSqbeH0Lu6yVO0n78vA

  3. In all target Applications, open the ‘User Roles’ metric and  turn on the Manual Override. 

  4. Set yourself to Admin.

    Add the following formula (adapt it to align the metric names):

    'Reporting: Master Role to App Role'[by: 'Master User Roles by User']

    This formula automatically calculates the Local Application Roles for users based on the mappings input into our Master User Role Table in the Data Hub. Input the manual override to avoid locking yourself out of your own application if you make a mistake with your formula. We input the Override, because without, if you make a mistake with your formula, you run the risk of locking yourself out of your own application

 

  1. In the Target Applications, create the following metric which is dimensioned by Role and formatted with Permissions.

    zRlsDpCLwM_bqnMTK7Tk3rBx0Lh7Rk8peMo_Pr3huEq9YLjnMvchl79sAJ4Us4hnoea2XG6Wh1mp4E9M0ruF0XXTOtO3XTCBjzDWZIU_osFFsFFr5q-gUPAB40vNhq9awotOqx7q_PocauWjtKRxue-NXJik0WkiqakG9q14RQ79lY6osbNhngnP9iQ_Vw
    Set the appropriate permissions by Role, for end user Roles it would typically be having everything as Denied but ‘Display Application’, ‘Open Boards’ and ‘Comment to Boards’ should be Allowed:

    yPGhcvWsQ-SjUajssyvbghSTdD_xcDgiNvWSueQ8vRr19tQg4PHZww1TFRdELXabtsqrQpkU3rqVOnMR_ufu898Mmxc4Bfyn_-I_TaL8o5bnCYWDBJTIKUsI3JUyzvRxDLnJ4dbnrs8MJjVoWgpajQQgVhWJi4ZER1gQWHK2ILSLMkYUbQpUPpgkZ7rx6g

  2. In target applications, create metrics to apply Board access. The Metrics should be dimensioned by User, and have the format of Permissions.

    For each different combination of Board access, you would need one metric. In our example, Group Finance, Division Managers, and Department Managers all have their own Boards, so we would need to have 3 metrics.

    HEdsz9FCvZXRfqAb-okR9QkW3lMBD1neveEK7MTzEe9XqEkBNBN7-4JU95joVqP_eGxwQFcCkRSyevXwP3RQ0xgmjTJH2BiGN4fEVuGAM4-zSc9KGQyBJfQ0lLBc_WnJuXAr4QsuhfIDMVdKDViK0vdPXlJhiMYBImB4U13BVj2z6KIPpX_fT8ZNTCKiVQ

 

Adapt the formula of the metrics to your own scenario:

xifcjJu5UjBwokuBMYFGtuu1DbXqLGlGLRFT5apNcBnKoU7oVxCP5wgRDbs7lgMteMBd14UuWirhUjem3L0pxtflFLfC3Cu5M-22vPWSVED1xiUtSgVnGfp3-WvjOGMzCUvPXZc6Q_bXRia0uWoLRe-KC3EP-0PaMp7p-G-guRx4wdd3grlNkdIzmvmAWg


 

Assign Access to Boards in the Application Security Settings

 

  1. Now we have the permissions automatically calculated by User, all we need to do is apply the Board Access in Application Security settings.

    In the Target Applications, open Settings -> Security. 

  2. Scroll to the ‘Permissions’ Section.

  3. Add the different Board access based on the metrics we created in the previous step.

    C6h1JVdyZ4rlfx7gepBBbAXoDw4q6nFqs4dYdz_5oDlMi9KTogXCBWyco50EdPJhNciUfh41uPRW_CrA6y1b7cOUlD1k6afLfExH65f734VuMdWEf_3VEkk4nxFPnoZ3w-nEVlCg_AqZlufxDgFiqmm5vWwJ1xoYjxyEqZu9wgPQbKYP61bhg6EozKr4jQ

 

Access Rights

We’ve now set up permissions, which allow / deny access to applications and boards in the hub and in the target applications - this grants users access to the relevant boards, but they can see all data in those boards. In our example, some roles will have partial access to the data itself (set at the Department or Division level). Let’s set this up!

 

In the Data Hub, we need to create metrics for Input of your Access Rights. 

  • Consider all of the dimensions where you want to apply Access Rights within your workspace. 

  • Consider which Dimensions are related through a hierarchy. 

 

In our example, we have two dimensions where we want to apply AR, Divisions, which are a parent of Departments.

TUE_9jwGst0ldV13IqrjkhbIdLU5B27ZJTCdt-ek5F9WtZlu87-yIk6wHG4KvKX22pXJNBlcNPiXVOd05Lz0sPliPh7hDbwSsGUI46eRpSV1FQms8-iDdiulmpXSihYbAO8HiogN4geVcItLfz0eFwRsqLRm3QtKpIfZrYl8ZIS4IGxN2cDZ9zHB5ccYnw

Create Boolean formatted metrics that are dimensioned by ‘Master User Role’ and the AR Dimension. We need two Boolean Metrics per dimension, one for READ and one for WRITE.

We’ll set up different read and write metrics as they’re easier to write and to maintain independently.

0Rwne5WDsz2-U8e1BXE6rzIKvXa_ecaJX2LBmYlmC45OWL4EfSl7J7ClTGlvX-Ei6fGtUs1IPipiZmnMyIvR02D0jJjZbY9bPdwFQM2n31o1SLnftXsFBIerAnsJSn0R_Y8torZR1vzm3pkD1W-ImiJnlEM63ulfmRJsu9J9Ykhrk1TM1LO4rVWhWJVY6Q

 

  1. Consolidate the metrics into Tables to make inputs easier for Admins.IbO6J30OazDxx6RbjE8N5HkdbhFObQfV_D3LMUbd-cXqfzRh5IpSmaN7XIzltRtzTEVxFJ-QerpInzECU1WOtyi4mG80q1symbHml3lXbq6NfiOgeJ2VEYwK0u8nvDybzMeQWG5PA0qLWvWzVD83dFjnTYGgFOR8KyiVnJho_P3t_vWX-jYPY4LkRLeJgQ

 

  1. Since D2 Departments are children of D1 Divisions, we can use a formula to assign Inputs made at a D1 level, down to the D2 Departments. In other words, when we make inputs to a Division, all Departments in that Division also have the value.
    9leOvvBLDxD5zHUrUw2UMg_B8UKEqRcyfL04zdpk0uZ7iW6sbu7zHrxeA8GGYPHIQLYZc9gd0FJGV6u1DimIfFRg9MWkgXSc7OGrygksJgWpz0XYnbjEuUF025nCUcEvFJZBjVFD1v6nkqCBzimluGUZR0SCXIaZAuQ0DJ7qYylbBrm6C8EjjV15Wip8LQ

     

  2. In the child hierarchy (D2 Department in our example), turn Metric Override ON. This will allow us to make inputs for a Master User Role at either a D1 Division Level or a D2 Department Level.

 

  1. Create additional metrics that convert the Boolean formatted metrics into metrics which we can use to apply AR to Applications.

    Dimension these metrics by User and the AR dimension with a data type format of Access Rights. Share these blocks.
    aMpxeMksEE5NkVJyq2UTqWUYqPh0PXyTL_Yb_55gtbFdYDTBJFHuWO1HSf4YbINCywgnau2bfxlxZ7Auo7a3pwl6L5wIs-CdnMHM55PH7VA5Ju2s8bLGDERjQwnwQUqziuBIw8fYhKMo8fPq52VzjQGFF7KexWefzSQok8ifm1yyutmfomVxRyzwMqy6Kw
     

  2. Adapt the formula for metrics to your own scenario, along with referencing the appropriate metrics):

    VR6vDnt-4lH655-tME0OOsg34imUb0PVrnnadgEohkEH5BC6asBhwJ_wWRykXWSF_OViGxDAqfHrjeedwbtqspS1n0R2-NCQilfQ5b6Zrd76fw7q8ky7DBaxDQDUgjAMOR6vrogTh6x5CpUmQc4TaqDWNNGiuXd-au-h4q0KJdM6EbvyeYnttt4yRB7T6A

The formula assigns the appropriate access rights based on the inputs we made into the Boolean formatted metrics. Since we input AR at a Master User Role level, we need to do a BY, to look up each user’s Master User Role. It’s important to assign accessrights(False, False), as the default position (in the Role) metric if users have READ access to everything. So if we are restricting access to certain items, then it needs to be False (rather than Blank). Finally we ‘EXCLUDE’ Admins because they have full access everywhere. This prevents any Admin access issues.

 

  1. In the Target Applications, create metrics that have identical structure to the Access Rights metrics in the Data Hub in the Security folder..


    HxwkbvHkysA2SzE9K2ClW7Rt2x8tgZXZt6Nw32nHKmIyGF99MM27oFOLIYRcJbhlkt1zHweEyyszpYPTy15KEIxEAzK_hm9KIxVjidnekJOLS0mR-XnLZBBdUo99TMxnvovfyXVc1Ok7d0KHm8uzvuDiiuzrYZh14sFSTh_03FjO7zW6PBEdpuli63IJGg

 

  1. The formula for each of the metrics in the previous step should simply reference the original metric within the Data Hub.

    -O9j_-GOMsgezH780VPJywUzzyuwS0GYSfVaLjcAjjLUVr5BU5ND8pmcH_4-g8fLSxZvgCg4IM5PcbD1QR9RrfYCof_ur3Tgg6d_DL4B32TwfGaP3ueBMXvW01psxoc5S2JI3G3hDONaZh1wlt8JA3zg3AGVuZAMQ4Ih01ERnyeT7enGN3ekbpblMEbHzA

  2. To apply the AR rules to the appropriate structures within your model as a final step,open Settings -> Security. We scroll to the Access Rights section, and we create our Rules. In our example, we have 3 Transaction lists where we apply Department L2. We then apply Division L1 and Department L2 Rules to all blocks with those dimensions.
    B4DXOiWH3SPIBJ2jq05wwEDw6S9OTTNDLetsAue-ecdaYRrsUPcUY6suMgCV3-KuXTO6ycLfud2oUYnGDgduQ06hN8KDjrT1Mxp5I2UQjex0rb-xajwn0_G6S2yr_Ayktrm7iIlaG9Gvs_eqVFCEImVbZUZTYtG_uYfjwpwubHJVX1lvo_rKKoLI7eL3wA

 

Streamline Maintenance with Admin: User Access Boards

Now we have created the functionality, we need to create Admin Boards within the Data Hub to ensure clear and easy maintenance of user access. In our example, we have the following:
 

  1. ‘Manage Users’ Board: Where we assign user a ‘Master User Role’ once they are added to the Workspace

  2. ‘Manage Master User Roles’ Board: Where we create ‘Master User Roles’ and manage their mappings to Local Application roles.

  3. ‘Manage Access Rights’ Board: Where we assign AR by ‘Master User Roles’


 

  1. ‘Manage Users’ Board:

 

This Board should simply contain ‘Master User Roles by User’ metric. This is the Board where Admins would assign Master User Roles to new users. This is the only thing that is required when adding a new user, as long as there is a Master User Role setup that already covers the scope of that user.

 

DQXHpLmcnqnDPvaZ5YCLPtPVva0RGx4UGWzl2Z3Pqh2BjB8e1kOQNhVFOLI_kqIjxXTFXoP7LFQ_BtxpQrnuwNqHjrJ1NfFAmsg4jueOc1oH2n9wuoI6CSmfVIKgg9oWRRkChu8BHA8C499G9voZRudZ7bP-MhQqT8pdiQ-bPnEC0-deYcvmWkt7NnV4DQ

 

  1. ‘Manage Master User Roles’ Board:

This Board should contain the Master User Role Dimension, and the Table where we map the Master User Roles to Local Application Roles.

PhAhyH_bw7_AQF3X-mM41xPxKCtdX5Er-owiv7aMGqiIXL8-qWzA84njZl7jfNankiIK0FXYvjkuyuFaV4p_xOJLnMGyAuBz_RwXpZASZemb6f5wELra8LL-8GvdAZuEZxzKfKuOM7OCT8hYX45QGg3MX7w1zcB5OIaD_ilp74kvujXAHjLb_83iFVJfNg


 

  1. ‘Manage Access Rights’ Board:
     

This Board should contain the different AR Input tables.



P6swnaY14VKVSgnuF1hZLqQUT9hhPWFADqsd74Rgb_Syr_boC734uI_nEJla05L-r_xtMfnnYxVTCdsbWFJW-zCQFitqIRBIXtQfgR8vTvkSO7ZfbF0OpgzcVbYzqfIYtnpQt21QjrU3NJsvz9Bika6Gm2HF71zvL9wnTcbOVNNxrndeTV04iCNLt1juJg

Precautions when working on user management

 

Correct user management settings is a critical part of your Application. Whenever you create a new rule, or modify one, you must ALWAYS TEST with a TEST user having the SAME ROLE and AR as your target users.

An acceptable test means going over EVERY BOARD in EVERY Application the user has access to.

 

Additional Reading:




 


0 replies

Be the first to reply!

Reply