我想使用打包程序构建命令创建映像,但是当我这样做时,我会遇到此错误:
googlecompute: * The user does not have access to service account 'service-76100000418@compute-system.iam.gserviceaccount.com'. User: 'farzin-second-test-project@farzin-second-test-project.iam.gserviceaccount.com'. Ask a project owner to grant you the iam.serviceAccountUser role on the service account
我已将服务帐户用户角色和计算管理员以及计算实例管理员(v1)添加到我的服务帐户。 我还启用了计算API,但是在我的虚拟框中使用了centos,在这里我使用了无法正常运行的打包程序。 在那里,我创建了一个具有名称凭据的文件,并将json密钥放入其中,并且制作了打包程序模板,我还应该说我的模板已经过验证。
有人有什么主意吗?奇怪的是,它要求我将此权限授予用户,但添加后仍然无法正常工作。
答案 0 :(得分:1)
您必须在GCP帐户上启用所有可使用的API:
CLOUD_BUILD_ACCOUNT=$(gcloud projects get-iam-policy $PROJECT --filter="(bindings.role:roles/cloudbuild.builds.builder)" --flatten="bindings[].members" --format="value(bindings.members[])")
gcloud projects add-iam-policy-binding $PROJECT \
--member $CLOUD_BUILD_ACCOUNT \
--role roles/editor
还要确保您的服务帐户具有适当的权限(并且您使用的是正确的帐户):
{{1}}
您还可以查看文档:{{3}}和Building VM images using Packer。