Google cloud platform 在GCP中的组织内共享自定义图像
我正在尝试在组织中的项目之间共享GCP中的自定义映像 1) 项目A 2) 项目BGoogle 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
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的回答一致