【问题标题】:How to share Google Cloud images with *other* users?如何与*其他*用户共享 Google Cloud 图像?
【发布时间】:2017-11-09 21:18:02
【问题描述】:

我在 Google Cloud Compute 上为我的学生设置了一个 VM,保存了一个图像。根据https://cloud.google.com/compute/docs/images/sharing-images-across-projects#granting_a_user_access_to_images 上的说明,我授予我的学生“计算图像用户”访问用于创建该图像的项目的权限。所以他们看到我的项目是可用的,他们可以点击选择它...

但是当他们尝试实际创建自己的计算实例来进行计算时,他们会被告知“您无权查看此项目中的实例”。

在 AWS 上,我所要做的就是保存一个公共 AMI,然后将其指向其他人。太简单了……Google Cloud Compute 上的合适模拟是什么?

我已经看过这篇文章:“How to share google compute engine images across projects?”,但它只指向我已经阅读过的文档。

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

【问题讨论】:

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


    【解决方案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。

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

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

    例如,您可以为他们分配“Compute Viewer”角色,这将允许他们查看您的 Compute Engine 资源,包括您的实例/图像。

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

    1. 将鼠标悬停在“IAM 和管理员”上,然后从子菜单中选择“IAM”。
    2. 点击页面顶部的“添加”
    3. 在新的“添加成员”窗口中,为您要为其分配角色的用户或组添加 Google 帐户电子邮件地址
    4. 在“Compute Engine”下的“Roles”下拉菜单中选择“Compute Viewer”
    5. 单击“添加”将新角色添加到用户/组

    或者,如果您希望您的学生能够在您的项目中创建实例,您可以按照上述步骤为他们分配“Compute Instance Admin”角色,并将“Compute Viewer”替换为“Compute Instance Admin (v1) )”。

    【讨论】:

    • 今天通过环聊 w/@neilH 解决了这个问题:授予他描述的权限后,我让用户看到一个空的主目录。在 AWS 上,默认用户是“ubuntu”,所以我习惯于每个人都登陆同一个目录,但在 Google Cloud 上,它会根据您的登录名创建一个主目录 - 请注意:如果您的 Google 用户名与您的不同本地(例如 Mac 终端)用户名,然后 you 可以在不同的主目录中结束。建议用户在登录时尝试“ls -lt /home”以了解他们的方位。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-25
    • 1970-01-01
    • 2018-07-13
    • 2020-09-26
    • 2016-02-08
    • 2017-03-20
    • 1970-01-01
    相关资源
    最近更新 更多