Skip to content
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

[CT-1242] [Feature] Conditionally prevent warehouse connection at compile time-- semantic layer only #5936

Closed
3 tasks done
racheldaniel opened this issue Sep 26, 2022 · 0 comments · Fixed by #5926
Closed
3 tasks done
Labels
enhancement New feature or request

Comments

@racheldaniel
Copy link
Contributor

Is this your first time submitting a feature request?

  • I have read the expectations for open source contributors
  • I have searched the existing issues, and I could not find an existing issue for this feature
  • I am requesting a straightforward extension of existing dbt functionality, rather than a Big Idea better suited to a discussion

Describe the feature

As a stop-gap for a P0 security issue with permissions during introspective queries (queries that hit the warehouse at compilation), we want to create a semantic layer-specific child of SqlCompileRunner in lib.py in dbt-core, which overrides the compile_and_execute method on its parent class, BaseRunner(code in dbt-core) and does not connect to the warehouse at all for compilation.

This will cause introspective queries to fail compilation, so we will handle those failures in dbt-server and return a helpful error to the client.

Describe alternatives you've considered

  1. We considered allowing users to supply creds for the SL that should be used to distinguish a user who builds models vs. ‘service user’ who runs SL queries
  2. As our end state, we hope to use user-supplied creds from SL query for side-compilation, associating dbt cloud user with semantic layer user, while still using dbt-cloud deployment creds for parsing.

Who will this benefit?

This prevents security risk in the semantic layer until we have a chance to create a permanent solution.

Are you interested in contributing this feature?

yes

Anything else?

Internal JIRA Issue: RUNTIME-443

@racheldaniel racheldaniel added enhancement New feature or request triage labels Sep 26, 2022
@github-actions github-actions bot changed the title [Feature] Conditionally prevent warehouse connection at compile time-- semantic layer only [CT-1242] [Feature] Conditionally prevent warehouse connection at compile time-- semantic layer only Sep 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants