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.disks
和 compute.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 默认服务帐户)。
我已经为计算实例 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.disks
和 compute.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 默认服务帐户)。