Bug description

I built the custom image from superset repo. The steps that I followed

  1. Create a dummy user
  2. Create a custom role to give access to only a single table under dataset and assign this new role to dummy user
  3. Try logging in with dummy user. You can see dataset under the sqllab screen but not able to see table name there. PFA attached screenshot

Image

  1. if you run query from sqllab screen, it works for that particular table.

Screenshots/recordings

No response

Superset version

master / latest-dev

Python version

3.11

Node version

16

Browser

Chrome

Additional context

No response

Checklist

  • [x] I have searched Superset docs and Slack and didn't find a solution to my problem.
  • [ ] I have searched the GitHub issue tracker and didn't find a similar bug report.
  • [ ] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

Comment From: dosubot[bot]

I found a similar closed issue titled "SqlLab preview permissions error" on the Superset GitHub repository. However, no solution was found in the comments of that issue [1]. You might want to check if there are any updates or additional comments that could be relevant to your situation.

To continue talking to Dosu, mention @dosu.


Help Dosu learn! Give it feedback: Great Response | Irrelevant Answer | Incorrect Sources | Too Verbose | Hallucination | Other

Comment From: rusackas

Wondering if this might solve it.

Comment From: ts-saurabhkdm

I can test that branch to see if it solves the issue.

Comment From: ts-saurabhkdm

@rusackas This above fix/PR does not solves the existing issue.

Comment From: codenamelxl

You can check whether your SQLLab contains these permission

can post on TableSchemaView
can delete on TableschemaView
can expaned on TableschemaView

If you apply the above PR after your DB was inited. You need to run superset init again to give SQLLab role the extra permissions