-
Notifications
You must be signed in to change notification settings - Fork 13.8k
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
feat: enable user impersonation in GSheets #14767
feat: enable user impersonation in GSheets #14767
Conversation
Codecov Report
@@ Coverage Diff @@
## master #14767 +/- ##
==========================================
- Coverage 77.62% 77.36% -0.26%
==========================================
Files 962 962
Lines 49017 49026 +9
Branches 6155 6155
==========================================
- Hits 38050 37930 -120
- Misses 10763 10892 +129
Partials 204 204
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
* master: (163 commits) fix(native-filters): Manage default value of filters by superset (apache#14785) fix: Additional ResultSet tests (apache#14741) chore: added BasicParametersMixin to Redshift (apache#14752) fix: make dataset list sort case insensitive (apache#14528) fix: use encodeURIComponent when getting table metadata (apache#14790) fix: ensure engine is outside parameters (apache#14787) database modal should close on connect with tab layout (apache#14771) feat(native-filters): add search all filter options (apache#14710) fix: extra query in Dashboard when native filter enabled (apache#14770) chore: Improves the native filters UI/UX - iteration 2 (apache#14753) fix(native filters): Fix explore state (apache#14779) fix(explore): DndColumnSelect not handling controls with "multi: false" (apache#14737) feat: Create BigQuery Parameters for DatabaseModal (apache#14721) feat: enable user impersonation in GSheets (apache#14767) fix: add DB should not say it's Postgres (apache#14766) Revert "fix(dashboard): multiple query trigger when native filter enabled (apache#14734)" (apache#14762) feat: save database with new dynamic form (apache#14583) fix: save non-parameter DBs (apache#14759) chore: Removes ColorSchemeControl.less (apache#14199) fix(explore): Icons width (apache#14717) ...
SUMMARY
Allow impersonating the user when using GSheets.
Currently, if the user sets up a GSheets DB with credentials, the user has access to all spreadsheets from a given domain. With this change, enabling user impersonation will ensure that the user has access only to spreadsheets that they should have.
For example, I have the email roberto@dealmeida.net. If someones shares a spreadsheet with the "Dealmeida.net" organization I'll have access to it. But if someone shares a spreadsheets with "ceo@dealmeida.net", with this PR I won't be able to access it. Without the PR, or with user impersonation disabled, I would have access because the service account credentials have access to everything in the domain.
We had this set up at Lyft via a
DB_CONNECTION_MUTATOR
, but this is a cleaner and simpler approach.BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
N/A
TESTING INSTRUCTIONS
I tested manually with my domain, "dealmeida.net". I was able to access only the correct spreadsheets.
ADDITIONAL INFORMATION