如何与*其他*用户分享Google Cloud图片?

时间:2017-11-09 21:18:02

标签: google-cloud-platform virtual-machine google-compute-engine sharing

我为学生在Google Cloud Compute上设置了一个虚拟机,保存了一张图片。根据{{​​3}}上的说明,我授予学生“计算图像用户”访问用于创建该图像的项目的权限。所以他们看到我的项目可用,他们可以点击选择它......

但是当他们试图创建自己的计算实例来进行计算时,他们会被告知“你没有权限查看这个项目中的实例”。

在AWS上,我所要做的就是保存一个公共AMI,然后指向其他人。这很简单...... Google Cloud Compute的相应模拟是什么?

我已经看过这篇文章了:“https://cloud.google.com/compute/docs/images/sharing-images-across-projects#granting_a_user_access_to_images”但它只是指出了我已经读过的文件。

编辑:我的学生可以执行“gcloud config set project [my project]”到我的项目,但是,当他们运行“gcloud compute images list --project [my project]”时对于同一个项目,它说“ - 找不到项目[我的项目]”

1 个答案:

答案 0 :(得分:1)

为用户提供角色"计算图像用户"允许用户从其他项目访问图像,但不允许这些用户在该项目中查看或创建实例或其他资源。

但是,它应该允许您为其分配角色的用户访问项目中的图像,但关键是来自他们自己的项目。

我了解您的学生已尝试运行以下命令但未成功:

gcloud compute images list --project [IMAGE_PROJECT]

我现在的建议是确保他们使用您的项目ID替换[IMAGE_PROJECT],而不是您的项目名称。

您可以通过单击控制台顶部的下拉菜单来检索项目ID,并且可以在项目名称右侧看到项目ID信息。

同样,他们应该能够通过运行以下命令从项目中的图像在自己的项目中创建实例:

gcloud compute instances create MYINSTANCE --image [IMAGE_NAME] --image-project [IMAGE_PROJECT] --project [PROJECT_ID]

其中[IMAGE_NAME]是项目中图像的名称,[IMAGE_PROJECT]是图像所在项目的位置,[PROJECT_ID]是您要在其中创建实例的项目ID 。

在开发人员控制台中也可以这样做。创建虚拟机时,您可以更改启动盘,然后单击“自定义图像”并选择图像所在的项目。选择项目后,将显示该项目的所有图像。

如果您希望学生能够在自己的项目中查看实例,则需要为他们分配一个范围比“计算图像用户”角色更大的角色。

例如,您可以为其分配“计算查看器”角色,以便他们查看您的计算引擎资源,包括您的实例/图像。

这可以通过以下步骤来实现:

  1. 将鼠标悬停在“IAM&管理员“并从子菜单中选择”IAM“。
  2. 点击页面顶部的“添加”
  3. 在新的“添加成员”窗口中,为要分配角色的用户或组添加Google帐户电子邮件地址
  4. 在“计算引擎”下的“角色”下拉菜单中,选择“计算查看器”
  5. 点击“添加”将新角色添加到用户/群组
  6. 或者,如果您希望学生能够在项目中创建实例,则可以按照上述步骤为其分配“计算实例管理员”角色,并将“计算查看器”替换为“计算实例管理员”(v1) )”。