Original issue.
https://github.com/apache/incubator-superset/issues/7554
You can't use SQL Lab if you don't grant database permission to user. It makes superset unusable with per datasource access model. You can still see dashboards, but you can't manually query any data.
If you add database permission, user can access all tables in database which is not acceptable.
See all available database/schema/table in SQL Lab based on granted datasource access.
SQL Lab dropdowns are empty.
Issue-Label Bot is automatically applying the label #bug to this issue, with a confidence of 0.89. Please mark this comment with :thumbsup: or :thumbsdown: to give our bot feedback!
Links: app homepage, dashboard and code for this bot.
Looks like it was introduced here: https://github.com/apache/incubator-superset/commit/b65ab51b63200139947d9ee4b3ba80ef263a3e88
Database filter ignores user schema / datasource permissions: https://github.com/apache/incubator-superset/blame/d58dbad076f61cfd05fa8280ad13442d29360873/superset/views/database/__init__.py#L34
I had the same problem:

grant the user only datasource permission without database access.
How to change the permission of user?
@bkyryliuk on a quick check, seems unrelated with the commit you reference since I used the same existing filter that was applied before.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. For admin, please label this issue .pinned to prevent stale bot from closing the issue.
Any updates on this issue.
Instead of the database, we gave permission on the schema. Still, all tables under a schema are accessible.
Most helpful comment
Issue-Label Bot is automatically applying the label
#bugto this issue, with a confidence of 0.89. Please mark this comment with :thumbsup: or :thumbsdown: to give our bot feedback!Links: app homepage, dashboard and code for this bot.