您可以授予GCE实例删除自身但不能删除其他实例的权限吗?



是否可以授予Google Compute Engine实例删除自身的权限,而不授予其删除其他实例的权限?

也就是说,我希望实例名称 ABC 能够运行:

gcloud compute instances delete ABC

使用它自己的名字ABC,但没有其他名称。

从删除实例 API 文档中,要删除项目中的任何实例,您必须拥有:

  • 计算实例删除权限
  • 以下 OAuth 作用域之一:
    • https://www.googleapis.com/auth/compute 或 https://www.googleapis.com/auth/cloud-platform OAuth 范围。

在我看来,您要么有权删除项目中的任何实例,要么根本没有权限。

否,分配给运行 gcloud 命令的实例的服务帐户,而不是实例。

通过设置策略来授予权限,这些策略将角色授予作为项目成员的用户、组或服务帐户。 示例:"计算实例管理员"角色可以创建、修改和删除虚拟机实例,这意味着项目中的所有实例。不能为特定实例指定。

下面的 gcloud 命令可以应用于项目中的 ABC 实例或任何其他实例。

gcloud compute instances delete ABC --zone <zone>

权限 compute.instances.delete 位于以下角色中:

  • 计算管理员
  • 计算实例管理员
  • 项目编辑器
  • 项目所有者

您也可以创建具有混合权限的自定义角色,并将其分配给将要创建的服务帐户,但您需要确保设置操作所需的每个权限。

范围是选择授予 VM 的 API 访问权限的类型和级别。

默认情况下:对存储和服务管理的只读访问权限、对堆栈驱动程序日志记录和监控的写入访问权限、对服务控制的读/写访问权限

但是,您可以选择虚拟机(我的意思是服务帐户可以访问(可以访问的云API。

相关内容

最新更新