-
Notifications
You must be signed in to change notification settings - Fork 14.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DASHBOARD_RBAC does not provide access to datasources used in DARSHBOARD_NATIVE_FILTERS #18959
Comments
Thanks for reporting @rafalpas ! @amitmiran137 have you run into this problem? |
we have not turned on native filters yet so no |
Also, may or may not be related: There is still a problem with dashboard_rbac when using a public dashboard for unauthenticated users. When logging in (oauth), no dashboards can be seen, that have not set their "dashboard roles" (rely on dataset access). |
Hi @MM-Lehmann did you find any solution to your problem? Is there a specific permission that allows public users to access native filters? I can only grant public access to dashboards where there's no native filter |
Hi @rafalpas I tried to reproduce the bug. |
look at #16718. related? |
Check the all_datasource_access in the user roles |
I'm not sure if this is still an issue in current versions of Superset (3.x). If it is, we can re-open this, or feel free to open a new issue with updated context. We're no longer supporting Superset 2.x or prior, and it's been a while since this thread saw any activity, so I'm closing this as stale. |
The Dashboard RBAC functionality provides implicit access to datasources used for all charts on a dashboard, so that charts can retrieve underlying data even if user does not have explicit access to datasources. This does not cover Dashboard Native Filters correctly - in case native filter uses a datasource which is not used by any chart on the dashboard, the implicit access is not granted and the filter fails to load data.
How to reproduce the bug
Expected results
The native filter is filled with data from datasource A.
Actual results
The native filter is stuck at "No data / Loading..."
![image](https://user-images.githubusercontent.com/2510246/155966024-6f81bced-d890-4faa-b9f9-eaa4b5e7dd50.png)
Screenshots
Included in reproduction procedure
Environment
python --version
node -v
Checklist
Make sure to follow these steps before submitting your issue - thank you!
Additional context
A HTTP403 response to "/api/v1/chart/data" is visible in network logs with the following content
{"errors": [{"message": "This endpoint requires the datasource ..., database or\n
all_datasource_accesspermission", "error_type": "DATASOURCE_SECURITY_ACCESS_ERROR", "level": "error", "extra": {"link": "", "datasource": "..."}}]}
There is no problem if datasource A is used by any chart on dashboard, only if it is not used by any chart (used solely by the filter).
There is no problem when using legacy filterboxes (because they are "charts" and thus the implicit access is granted?)
The text was updated successfully, but these errors were encountered: