-
Notifications
You must be signed in to change notification settings - Fork 14.7k
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
Add UI-only database configuration method for extended authorization scenarios #8448
Conversation
@@ -94,6 +94,7 @@ class DatabaseMixin: | |||
"impersonate_user", | |||
"allow_multi_schema_metadata_fetch", | |||
"extra", | |||
"encrypted_extra", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just confirmed that this doesn't show in show_columns
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a very nice feature 👍 One small nit, other than that LGTM.
Codecov Report
@@ Coverage Diff @@
## master #8448 +/- ##
==========================================
- Coverage 67.61% 66.57% -1.04%
==========================================
Files 448 448
Lines 22486 22509 +23
Branches 2364 2364
==========================================
- Hits 15204 14986 -218
- Misses 7144 7385 +241
Partials 138 138
Continue to review full report at Codecov.
|
…scenarios (#8448) * Add encrypted_extra to dbs * WIP - UI-based BigQuery connection configuration * Fix 500 bubbling to the surface when adding a database connection * Add check for valid json * black formatting: * isort * Incorporate PR feedback. Thanks all! * black * Typo fix in CONTRIBUTING.md
CATEGORY
Choose one
SUMMARY
Problem statement: currently connections to BigQuery databases cannot be configured without adding code to Superset or adding configuration to its execution environment in the form of Google Cloud account credentials.
Solution proposed: Add an encrypted field on the
dbs
table to hold extended connection information. This field can hold JSON configuration including secrets and add that information on to the database connection object during instantiation. This allows us to configure a service account in Google Cloud and connect to a BigQuery dataset without any code or configuration changes in Superset.BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
TEST PLAN
Add Database
screen in Supersetbigquery://project-name
whereproject-name
is the name of the Google Cloud project that your BigQuery dataset is associated with.Secure Extra
field with the following structure:ADDITIONAL INFORMATION
REVIEWERS
@mistercrunch @dpgaspar