Как использовать ключи JSON с Google Cloud Gsutil для управления несколькими ключами

У нас есть несколько ключей учетной записи службы GCP из разных сред, таких как DEV,STAGING,..PROD.

Я хотел бы запустить команду в моем окне jenkins, которое есть в среде Dev для создания доступа DEV и промежуточных сред,

Я не хочу запускать команду gcloud auth каждый раз, вместо этого я ожидаю что-то вроде

gcloud compute instances list --key-file=dev-sa.json

или же

gsutil ls -l --key-file=dev-sa.json

Есть ли у нас так или иначе?

1 ответ

Подходить к решению по-другому.

Вместо того, чтобы пытаться использовать разные учетные записи служб, используйте одну учетную запись службы, которая имеет доступ (привилегии) ​​к каждому проекту.

Создайте учетную запись службы (или используйте ту, которую вы создали). Запишите адрес электронной почты учетной записи службы (это ее идентификатор).

Перейти к IAM для каждого проекта и добавить этот адрес электронной почты в качестве участника. Назначьте роли / разрешения, которые вы хотите для этой учетной записи службы. Повторите для каждого проекта.

Теперь вы можете использовать этот json-файл служебной учетной записи для настройки gcloud, программных приложений и т. Д. Все, что вам нужно сделать, это указать проект при использовании учетных данных.

gcloud auth activate-service-account test@development-123456.iam.gserviceaccount.com --key-file=test_google_account.json

Вы можете установить проект по умолчанию с gcloud config set project PROJECT_ID, Или используйте переменную окружения CLOUDSDK_CORE_PROJECT,

Вы можете указать проект в командной строке с помощью --project PROJECT_ID

gcloud --project development-123456 compute instances list
Другие вопросы по тегам