willbarrett opened a new pull request #8448: Add UI-only database configuration 
method for extended authorization scenarios
URL: https://github.com/apache/incubator-superset/pull/8448
 
 
   ### CATEGORY
   
   Choose one
   
   - [ ] Bug Fix
   - [X] Enhancement (new features, refinement)
   - [ ] Refactor
   - [ ] Add tests
   - [ ] Build / Development Environment
   - [ ] Documentation
   
   ### SUMMARY
   <!--- Describe the change below, including rationale and design decisions -->
   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
   <!--- Skip this if not applicable -->
   <img width="1414" alt="Screen Shot 2019-10-24 at 12 50 46 PM" 
src="https://user-images.githubusercontent.com/1779034/67520329-79f4f980-f65d-11e9-83be-1ffb67c9fe54.png";>
   
   
   ### TEST PLAN
   <!--- What steps should be taken to verify the changes -->
   * Create a dataset in BigQuery in Google Cloud
   * Create a service account in Google Cloud with access to the dataset
   * Download the service account's identity file in JSON format
   * Open the `Add Database` screen in Superset 
   * Fill in the SqlAlchemy URL with `bigquery://project-name` where 
`project-name` is the name of the Google Cloud project that your BigQuery 
dataset is associated with.
   * Add JSON to the `Secure Extra` field with the following structure:
   ```json
   {
       "credentials_info": <content from the identity file from Google Cloud>
   }
   ```
   * Click "Test Connection" - It should say the connection is OK.
   
   ### ADDITIONAL INFORMATION
   <!--- Check any relevant boxes with "x" -->
   <!--- HINT: Include "Fixes #nnn" if you are fixing an existing issue -->
   - [ ] Has associated issue:
   - [X] Changes UI
   - [X] Requires DB Migration.
   - [X] Confirm DB Migration upgrade and downgrade tested.
   - [ ] Introduces new feature or API
   - [ ] Removes existing feature or API
   
   ### REVIEWERS
   @mistercrunch @dpgaspar 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to