Назад | Перейти на главную страницу

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

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

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

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

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

или

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

Есть ли у нас что-нибудь подобное?

Подойдите к решению иначе.

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

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

Перейдите в 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