Is there a way to use gsutil while impersonating a service account?
Asked Answered
U

2

9

I am in the process of attempting to adjust user permissions in Google Cloud and have created a service account that other users can impersonate to access various projects. The gcloud command has the --impersonate-service-account option to make API calls with the proper authentication, but I was wondering if anyone knows how to make such calls using gsutil.

Here's an example of what a successful call looks like using gcloud:

gcloud --impersonate-service-account=superuser@PROJECT1.iam.gserviceaccount.com iam service-accounts list --project PROJECT2
Unobtrusive answered 19/6, 2019 at 0:32 Comment(0)
G
16

Yes, here's the option:

$ gsutil -i [SERVICE-ACCOUNT]@[PROJECT] [GSUTIL-COMMAND]

Example:

$ gsutil -i [email protected] ls
Guarneri answered 13/1, 2020 at 16:31 Comment(0)
D
3

There is no such option in the top-level gsutil command-line options (at least not a documented one).

By contrast the gcloud --impersonate-service-account is documented.

Things to try:

-e Prompt for service account credentials. This option requires that -a is not set.

Danilodanio answered 19/6, 2019 at 3:34 Comment(1)
I previously tried the things you suggested and have come to a similar conclusion that as of now, no such feature exists. I opened this issue on the gsutil github project: github.com/GoogleCloudPlatform/gsutil/issues/813 Thanks!Unobtrusive

© 2022 - 2024 — McMap. All rights reserved.