In some cases, impersonation and rights are handled at the BI tool level, resulting in one user connecting and querying the Indexima engine.
This gives the possibility to create a usage analysis by Report/Dashboard.
This analysis is based on the parameter powerbi.impersonate.field defined in the galactica.conf configuration file.
Implement usage analysis by Report/Dashboard
1. Define powerbi.impersonate.field
powerbi.impersonate.field in galactica.conf configuration file.
powerbi.impersonate.field = mydashboard
# assuming mydashboard doesnot exist as a field name in any table
2. Add the virtual column
This step allows users to see this virtual field from the BI tool.
ALTER TABLE mytable ADD COLUMNS (mydashboard as 'X');
Step 2 can be skipped if the BI tool does not check the table fields at startup or prior to executing a query.
3. From the dashboard, add an "virtual" filter
Example of filter : mydashboard = "mydashboard_100"
In TableauSoftware, you may proceed as follows:
"mydashboard_100" does not exist in the field
mydashboard, Tableau will always display that
0 of 0 members will be kept.
As a result, it is not the unique user defined in the connection that runs the query but the user named "mydashboard_100".
In terms of security
This tip does not bypass security. The real user sending the query still needs to be granted access to the database. The real user also needs to access the table (at least SELECT rights).