Могу ли я использовать gcloud activate-service-account с олицетворением (не статические ключи)?

gcloud имеет флаг --impersonate-service-account
gsutil имеет флаг -i

Но я хочу настроить олицетворение один раз в моем текущем сеансе, а затем знать, что все будущие команды будут использовать эту учетную запись службы. Итак, я хочу gcloud activate-service-account some-service-account-to-impersonate БЕЗ статического ключа. Это возможно? Может ли gcloud настроить олицетворение для моего текущего сеанса таким образом, чтобы мне не нужно было указывать --impersonate-service-account для каждой команды?

Кроме того, я хочу разрабатывать локально и запускать свое приложение локально как учетную запись службы с использованием олицетворения. Если у меня есть приложение, настроенное на использование неявных кредитов (google SDK должен искать GOOGLE_APPLICATION_CREDENTIALS или по умолчанию использовать присягу пользователя), я думаю, можно будет запустить gcloud activate-service-account с олицетворением, а затем запустить мое приложение в том же сеансе, и оно будет запустить с олицетворенной учетной записью.

РЕДАКТИРОВАТЬ: по комментариям похоже, что это то, что я хочу: gcloud config set auth/impersonate_service_account [SA_FULL_EMAIL]


person red888    schedule 16.04.2020    source источник
comment
jhanley.com/google-cloud-improving-security-with-impersonation   -  person John Hanley    schedule 16.04.2020
comment
пожалуйста, добавьте, что ответ похож на то, что я искал   -  person red888    schedule 16.04.2020


Ответы (1)


Я написал статью, в которой подробно рассказывается, как настроить и использовать имитацию учетной записи службы.

Google Cloud - повышение безопасности за счет выдачи себя за другое лицо

Чтобы настроить интерфейс командной строки для использования олицетворения по умолчанию:

gcloud config set auth/impersonate_service_account [SA_FULL_EMAIL]

Чтобы очистить эту настройку

gcloud config unset auth/impersonate_service_account
person John Hanley    schedule 16.04.2020
comment
Просто задал еще один вопрос о том, как это сделать внутри контейнера. поэтому разработчики могут запускать приложения локально в контейнерах и по-прежнему выполнять олицетворение таким же образом: stackoverflow.com/questions/61345638 / - person red888; 21.04.2020