Google cloud platform 在GCP中的组织内共享自定义图像

Google cloud platform 在GCP中的组织内共享自定义图像,google-cloud-platform,google-compute-engine,terraform,google-cloud-iam,terraform-provider-gcp,Google Cloud Platform,Google Compute Engine,Terraform,Google Cloud Iam,Terraform Provider Gcp,我正在尝试在组织中的项目之间共享GCP中的自定义映像 1) 项目A 2) 项目B gcloud projects add-iam-policy-binding projecta --member serviceAccount:xxxxxx@cloudservices.gserviceaccount.com --role roles/compute.imageUser 我的所有自定义图像都在项目A中 boot_disk { initialize_params { imag

我正在尝试在组织中的项目之间共享GCP中的自定义映像

1) 项目A

2) 项目B

gcloud projects add-iam-policy-binding projecta --member serviceAccount:xxxxxx@cloudservices.gserviceaccount.com --role roles/compute.imageUser
我的所有自定义图像都在项目A中

  boot_disk {
    initialize_params {
      image = "projects/project_A/global/images/custom_image"
    }
  }
我想把A项目的图片分享给B项目

根据文档,我运行以下命令将图像共享到project B

gcloud projects add-iam-policy-binding projecta --member serviceAccount:xxxxxx@cloudservices.gserviceaccount.com --role roles/compute.imageUser
我正在使用Terraform提供实例。在terraform中,我指定从项目A获取图像

  boot_disk {
    initialize_params {
      image = "projects/project_A/global/images/custom_image"
    }
  }
我得到下面的错误

Error: Error creating instance: googleapi: Error 403: Required 'compute.images.useReadOnly' permission for 'projects/project_A/global/images/custom_image', forbidden

有人能帮我一下吗?…

我想文档是为部署管理器而不是Terraform编写的,您运行的命令将角色授予服务帐户
xxxxxx@cloudservices.gserviceaccount.com
,但Terraform默认情况下不使用该帐户


你需要确保Terraform有足够的权限。或者为Terraform创建一个新的服务帐户,并向其授予
角色/compute.imageUser

我猜文档是为Deployment Manager编写的,而不是为Terraform编写的,您运行的命令将角色授予服务帐户
xxxxxx@cloudservices.gserviceaccount.com
,但Terraform默认情况下不使用该帐户


你需要确保Terraform有足够的权限。或者为Terraform创建一个新的服务帐户,并向其授予
角色/compute.imageUser

您刚刚完成了第一步。执行此操作需要
角色/compute.imageUser
角色

您的地形配置看起来也正常(您必须确保指向图像的self_链接正确(请参阅以确保地形配置中的
image
值正常)


另外,请确保您的回答与@Ken Hung的回答一致。

您刚刚完成了第一步,也就是说,
角色/compute.imageUser
角色是必须完成的

您的地形配置看起来也正常(您必须确保指向图像的self_链接正确(请参阅以确保地形配置中的
image
值正常)

还要确保你的回答与@Ken Hung的回答一致