IAM 角色允许 IAM 用户在 GCP 中仅创建 VM 实例和磁盘?

IAM Role to allow IAM users to create only VM Instances and Disk in GCP?

我已经为计算实例 Admin(v1) 角色指定了类型

 1 compute.googleapis.com/Disk and
 2 compute.googleapis.com/Instance 

如果指定了上述角色,则用户无法创建任何内容,如果我删除这两个条件,则用户可以创建机器映像、快照等所有内容。我只想限制实例和磁盘。

没有这样的角色可以立即满足您的要求,但您可以继续为 Compute Engine 本身创建一个 Custom IAM Role. I'd also recommend checking the IAM roles and permissions docs

然后,虽然没有适合您的角色,但您可以开始创建一个自定义角色,例如, Compute Viewer 角色。您必须添加与 compute.diskscompute.instances 相关的 IAM 权限才能允许使用和创建 VM 和磁盘。

没有简单的方法来确定需要哪些权限,但您可以开始在 Web 中创建 VM UI 并检查审核日志以查找缺少的权限。以下是绝对需要的(如果您的角色基于 Compute Viewer):

compute.disks.create
compute.disks.resize
compute.disks.use

compute.instances.reset
compute.instances.resume
compute.instances.setMetadata
compute.instances.start
compute.instances.stop
compute.instances.suspend
compute.instances.update
compute.instances.use
compute.instances.setServiceAccount

compute.subnetworks.use
compute.subnetworks.useExternalIp
compute.networks.use
compute.networks.useExternalIp

此外,您需要为您的用户授予 Service Account User 角色,因为 VM 是使用特定服务帐户创建的(默认情况下使用 Compute Engine 默认服务帐户)。