я случайно удалил свои служебные учетные записи на gcp - PullRequest
0 голосов
/ 13 мая 2019

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

теперь я получаю эту ошибку:

services-exploring-project) $ gcloud compute instance create mytest

Возможно, вы имели в виду зону [asia-southeast1-b] например: [mytest] (Y / n)?ОШИБКА: (gcloud.compute.instances.create) Не удалось получить ресурс: - Ресурс 'do_not_exist@invalid-project.iam.gserviceaccount.com' типа 'serviceAccount' не найден.

деактивировать вычислениеAPI

services-exploring-project) $ gcloud compute instates create mytest Вы имели в виду зону [asia-southeast1-b], например: [mytest] (Y / n)?ОШИБКА Y: (gcloud.compute.instances.create) Не удалось получить ресурс: - Ресурс 'do_not_exist@invalid-project.iam.gserviceaccount.com' типа 'serviceAccount' не найден.

Ответы [ 2 ]

0 голосов
/ 13 мая 2019

Чтобы вернуть учетную запись службы Compute Engine по умолчанию обратно после ее случайного удаления, вы должны связаться с командой Compute Engine, как объяснено в следующей документации .

Между тем, если вы хотите сохранитьработая над этим проектом, вы можете создать другую учетную запись службы и связать ее с той же ролью, например, с учетной записью службы по умолчанию Compute Engine.

Эта роль, называемая редактором, имеет примитивный тип, и вы можете найти больше об этом здесь .

Таким образом, вы сможете создать Compute Engineэкземпляров.Просто выполните следующие действия:

Установите некоторые переменные;

zone=us-central1-b

PROJECT_NUMBER=$(gcloud projects describe $DEVSHELL_PROJECT_ID --format="value(projectNumber)")

sa_name=no-clone-$PROJECT_NUMBER-compute

Создайте новую учетную запись службы и обновите политику IAM проекта, добавив к ней привязку между этой учетной записью службы и примитивной ролью, описанной выше.;

gcloud iam service-accounts create $sa_name --display-name="Work around deletion of Compute Engine default service account"

sa=$(gcloud iam service-accounts list --filter=$sa_name --format="value(email)") 

gcloud projects add-iam-policy-binding $DEVSHELL_PROJECT_ID --member="serviceAccount:$sa" --role="roles/editor"

Создайте новый экземпляр с вновь созданной учетной записью службы и протестируйте его;

gcloud compute instances create test01 --zone=$zone --quiet --service-account=$sa

gcloud compute ssh test01 --zone=$zone --command="cat /etc/os-release"

Для получения дополнительной информации об управлении идентификацией и доступом см. эту документацию.

0 голосов
/ 13 мая 2019

Попробуйте использовать gcloud app repair:

Восстановление бета-версии приложения gcloud - восстанавливает необходимые функции App Engine в текущем приложении

...