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

feat: adds service account impersonation to google.auth.external_account.Credentials #605

Merged
merged 7 commits into from
Sep 18, 2020
Merged

feat: adds service account impersonation to google.auth.external_account.Credentials #605

merged 7 commits into from
Sep 18, 2020

Conversation

bojeil-google
Copy link
Contributor

If the service_account_impersonation_url is provided, an additional step to exchange the external account GCP access token for a service account impersonated token is performed.

This is needed because many Google Cloud services do not yet support external account GCP access tokens.

In order to support service account impersonations, we depend on google.auth.impersonated_credentials.Credentials which has been extended to accept an override of the IAM GenerateAccessToken endpoint. This is useful when supporting impersonation with regional endpoints.

busunkim96 and others added 7 commits September 2, 2020 14:55
* chore: updated CHANGELOG.md [ci skip]

* chore: updated setup.cfg [ci skip]

* chore: updated setup.py

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Migrate signBlob from iam.googleapis.com to iamcredentials.googleapis.com.

This API is deprecated and will be shutdown in one year.

This is used google.auth.iam.Signer.
Added a system_test to sanity check the implementation.
…ount.Credentials`

If the `service_account_impersonation_url` is provided, an additional step to exchange the external account GCP access token for a service account impersonated token is performed.

This is needed because many Google Cloud services do not yet support external account GCP access tokens.

In order to support service account impersonations, we depend on `google.auth.impersonated_credentials.Credentials` which has been extended to accept an override of the IAM `GenerateAccessToken endpoint`. This is useful when supporting impersonation with regional endpoints.
@google-cla
Copy link

google-cla bot commented Sep 15, 2020

We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google.
In order to pass this check, please resolve this problem and then comment @googlebot I fixed it.. If the bot doesn't comment, it means it doesn't think anything has changed.

ℹ️ Googlers: Go here for more info.

@google-cla google-cla bot added the cla: no This human has *not* signed the Contributor License Agreement. label Sep 15, 2020
@busunkim96 busunkim96 self-requested a review September 16, 2020 23:31
@busunkim96 busunkim96 added cla: yes This human has signed the Contributor License Agreement. automerge Merge the pull request once unit tests and other checks pass. and removed cla: no This human has *not* signed the Contributor License Agreement. automerge Merge the pull request once unit tests and other checks pass. labels Sep 18, 2020
@busunkim96 busunkim96 merged commit 283241f into googleapis:byoid Sep 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes This human has signed the Contributor License Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants