Я настроил экземпляр compute, который вызывается для запуска cronjobs в Google Compute Engine, используя служебную учетную запись со следующими ролями:
Custom Compute Image User + Deletion rights
Compute Admin
Compute Instance Admin (beta)
Kubernetes Engine Developer
Logs Writer
Logs Viewer
Pub/Sub Editor
Source Repository Reader
Storage Admin
К сожалению, когда я запускаю ssh в этот экземпляр бегуна cronjob, а затем запускаю:
sudo gcloud compute --project {REDACTED} instances create e-latest \
--zone {REDACTED} --machine-type n1-highmem-8 --subnet default \
--maintenance-policy TERMINATE \
--scopes https://www.googleapis.com/auth/cloud-platform \
--boot-disk-size 200 \
--boot-disk-type pd-standard --boot-disk-device-name e-latest \
--image {REDACTED} --image-project {REDACTED} \
--service-account NAME_OF_SERVICE_ACCOUNT \
--accelerator type=nvidia-tesla-p100,count=1 --min-cpu-platform Automatic
Я получаю следующую ошибку:
У пользователя нет доступа к служебной учетной записи {NAME_OF_SERVICE_ACCOUNT}.Пользователь: {NAME_OF_SERVICE_ACCOUNT}.Попросите владельца проекта предоставить вам роль iam.serviceAccountUser для учетной записи службы.
Есть ли какая-то другая привилегия, кроме compute instance admin, для которой мне нужно иметь возможность создавать экземпляры с моим экземпляром?
Дополнительные примечания: (1) когда я пытаюсь не указывать --service-account
, ошибка остается той же, за исключением того, что учетная запись службы, к которой мой пользователь не имеет доступа, является по умолчанию '51958873628-compute@developer.gserviceaccount.com».(2) добавление / удаление sudo ничего не меняет