Разрешения IAM для запуска «импорта изображений gcloud» - PullRequest
0 голосов
/ 27 февраля 2019

Мы пытаемся импортировать изображение в GCP с помощью следующей команды

gcloud compute images import

в контексте учетной записи службы.При выполнении этой команды в сообщении указывается, что оно хочет повысить разрешения учетной записи службы до «субъекта учетной записи службы».Поскольку эта роль устарела (то есть - https://cloud.google.com/iam/docs/service-accounts#the_service_account_actor_role), и рекомендация по эффективной настройке учетной записи службы для «пользователя учетной записи службы» и «создателя маркера учетной записи службы» не работает.Какая будет правильная роль или набор ролей для выполнения этой команды?

Мы запускаем следующую версию для gcloud cli

Google Cloud SDK 232.0.0
alpha 2019.01.27
beta 2019.01.27 
bq 2.0.40
core 2019.01.27
gsutil 4.35
kubectl 2019.01.27

Кроме того, если это не правильнофорум, чтобы задать этот тип вопроса, пожалуйста, дайте мне знать, и я буду рад переместить это в правильное место.

1 Ответ

0 голосов
/ 27 февраля 2019

Если это однократная операция, загрузите изображение в корзину и выполните gcloud compute image import из облачной оболочки - которая будет выполняться с использованием ваших разрешений пользователя (вероятного владельца).Ссылка на изображение в оболочке, например, gs://my-bucket/my-image.vmd

Приведенные ниже инструкции будут необходимы, если вы будете вынуждены использовать служебную учетную запись на виртуальной машине или другом ресурсе.

Вам потребуется (a) определить активную учетную запись службы и (b) предоставить роль roles/compute.admin.

(a) определить учетную запись службы

в системе, работающей gcloud compute images importвыполните эту команду, чтобы определить активную учетную запись службы

gcloud auth list
      Credentialed Accounts
ACTIVE  ACCOUNT
*       SERVICE_ACCOUNT@googlexxx.com

(b) Добавить роль role / compute.admin

Вам потребуется добавить роль roles/compute.admin (после работы найдите привилегированную роль для POLP)

Откройте отдельную оболочку Google Cloud или другую оболочку, в которой вы прошли аутентификацию с ролью "владельца".
Предоставьте разрешение role.computeAdmin

# replace this with the active service acct above
ACTIVE_SERVICE_ACCOUNT=SERVICE_ACCOUNT@googlexxx.com
gcloud projects add-iam-policy-binding $GOOGLE_CLOUD_PROJECT \
--member="serviceAccount:${ACTIVE_SERVICE_ACCOUNT}" \
--role=roles/compute.admin
...