是否可以授予Google Compute Engine实例删除自身的权限而又不授予其删除其他实例的权限?
也就是说,我希望实例名称ABC能够运行:
gcloud compute instances delete ABC
使用自己的名字ABC,但没有其他名字。
要从delete instance API docs中删除您必须拥有的项目中的任何实例,
在我看来,您要么有权删除项目中的任何实例,要么根本不删除任何实例。
答案 0 :(得分:1)
否,分配给实例的服务帐户正在运行gcloud命令而不是实例。
通过设置将角色授予用户,组或服务帐户作为项目成员的策略来授予权限。 示例:角色"compute Instance Admin"可以创建,修改和删除虚拟机实例,这意味着项目中的所有实例。您无法指定特定实例。
以下gcloud命令可以应用于ABC实例或项目中的任何其他实例。
gcloud compute instances delete ABC --zone <zone>
compute.instances.delete 权限具有以下角色:
您还可以创建具有混合权限的custom Role并将其分配给将具有此权限的服务帐户,但是您需要确保设置操作所需的每个权限。
“范围”用于选择您授予VM授予的API访问的类型和级别。
默认情况下:对存储和服务管理的只读访问权限,对Stackdriver Logging and Monitoring的写访问权限,对服务控制的读/写访问权限
但是您可以选择我的意思是服务帐户可以访问VM的Cloud API。