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

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

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

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

список экземпляров вычислений gcloud --key-file = dev-sa.json

или

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

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

2
задан 5 January 2019 в 19:20
1 ответ

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

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

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

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

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

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

Вы можете установить проект по умолчанию с помощью Проект конфигурации gcloud PROJECT_ID . Или используйте переменную среды CLOUDSDK_CORE_PROJECT .

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

gcloud --project development-123456 compute instances list
3
ответ дан 3 December 2019 в 10:32

Теги

Похожие вопросы