【问题标题】:Google Compute Engine VM instance access permissionGoogle Compute Engine 虚拟机实例访问权限
【发布时间】:2016-10-06 13:52:06
【问题描述】:

我在处理 Google VM 实例时遇到了一些问题, 我一开始是用这个命令创建实例的,

gcloud compute instances create <instance name> \
--scopes storage-rw,bigquery,compute-rw \
--image-family container-vm \
--image-project google-containers \
--zone us-central1-b \
--machine-type n1-standard-1

实例运行良好,我可以在实例上做很多事情。

但是,在项目中,还有几个其他用户,同一个项目中的每个用户都可以通过 SSH 访问我的实例并查看我的工作,并且他们有 sudo 权限,这意味着他们还可以更改我的设置、文档和很快。它不安全。

有没有一种方法可以将实例设置为个人而不是对项目公开?在这种情况下,项目中的每个人都可以拥有自己的虚拟机,除了他/她自己,其他人都无法访问它。

【问题讨论】:

    标签: google-compute-engine


    【解决方案1】:

    如果您希望仅允许访问 VM 中的特定用户而不是其他项目 SSH 密钥,则必须阻止将项目级别密钥传播到实例。这样,只有为实例定义的特定键才能访问它。详情在这个article中解释

    在创建时部署此类实例的命令如下所示

    gcloud compute --project "myproject" instances create "myinstance" --zone "us-central1-f" --machine-type "n1-standard-1" --network "default" --metadata "block-project-ssh-keys=true,ssh-keys=MYPUBLICKEYVLUE" --maintenance-policy "MIGRATE" --scopes default="https://www.googleapis.com/auth/devstorage.read_only","https://www.googleapis.com/auth/logging.write","https://www.googleapis.com/auth/monitoring.write","https://www.googleapis.com/auth/servicecontrol","https://www.googleapis.com/auth/service.management.readonly" --image "/debian-cloud/debian-8-jessie-v20160923" --boot-disk-size "10" --boot-disk-type "pd-standard" --boot-disk-device-name "myinstance"
    

    现在,如果您已将项目成员定义为所有者/编辑者,当他使用 gcloud 或开发者控制台进行 SSH 时,密钥仍会自动传输到实例。这种行为是有道理的,因为项目级别的权限甚至允许他删除 VM。

    如果您的实例已经创建,您必须将 block-project-ssh-keys 元数据值更改为 TRUE 并删除 VM 中所有不需要的键,如同一 article 中所述

    【讨论】:

    • 您好,意思是说,只要项目成员是 Owner/Editor,他们仍然可以 SSH 访问或修改我的 VM 实例?既然项目中的每个成员都是Editor,那么每个VM实例都会对所有用户开放? THX
    • 你是对的。根据定义,项目所有者或编辑者可以修改和配置资源,如 here 所述。如果用户仍然需要访问项目,除了“查看器”,您可以使用IAM roles 来获得额外的粒度
    • 另一种方法是从项目中排除其他用户或授予“查看者”权限。然后,您可以为它们设置 SSH 密钥并旋转虚拟机。之后,您可以为他们提供 IP 地址和私钥,以便通过 SSH 连接到相应的 VM。您也可以选择只有一台虚拟机并控制Operating System level的权限
    • 非常感谢,这更有意义。
    猜你喜欢
    • 2020-09-13
    • 2015-10-23
    • 2015-03-19
    • 1970-01-01
    • 2016-03-13
    • 2020-11-07
    • 2018-08-06
    • 1970-01-01
    • 2015-11-05
    相关资源
    最近更新 更多