dataform
dataform copied to clipboard
feat: add support for service account impersonation
Fixes: https://github.com/dataform-co/dataform/issues/2000
Solution:
Update @google-cloud/bigquery to a newer version which supports service account impersonation. The version number (~7.1.1) was set from finding the maximum version of @google-cloud/bigquery such that current minimum Node JS version (16.6.0) does not need to be changed.
Tests
- Able to create .df-credentials.json after authenticating to service account to impersonate by running the following. Earlier to would throw an error:
The incoming JSON object does not contain a client_email field
gcloud auth application-default login --impersonate-service-account=<service-account-here>
- Able to do dataform run with the impersonated service account
-
bazel test //core/...&./scripts/lintpasses
Any further updates on when this will be merged?
Unfortunately, we cannot merge this right now. It is required some additional work on build toolchain upgrade, which allows us to upgrade all the dependencies. This work will most likely be done in Q4'2025.