将服务帐户添加到实例并授予访问范围所需的权限

时间:2019-03-14 01:07:11

标签: google-cloud-platform google-compute-engine

对于具有自定义角色并具有权限列表的服务帐户A,我使用插入实例API创建了一个新实例。我想将服务帐户B添加到正在创建的实例中,并授予其某些访问范围。我正在json主体中设置适当的字段。

API调用返回200(确定),但在后台失败,显示“ INVALID_ARGUMENT”和“ SERVICE_ACCOUNT_ACCESS_DENIED”。 (在Stackdriver日志中观察到)

服务帐户A是否缺少我的权限?授予Project Editor访问它的权限,但是我想缩小所需的确切权限。

权限服务帐户A拥有的列表

compute.addresses.create
compute.addresses.createInternal
compute.addresses.delete
compute.addresses.deleteInternal
compute.addresses.use
compute.addresses.useInternal
compute.disks.create
compute.disks.createSnapshot
compute.disks.delete
compute.disks.get
compute.disks.list
compute.disks.setLabels
compute.disks.use
compute.disks.useReadOnly
compute.images.useReadOnly
compute.instances.addAccessConfig
compute.instances.attachDisk
compute.instances.create
compute.instances.delete
compute.instances.deleteAccessConfig
compute.instances.detachDisk
compute.instances.get
compute.instances.getIamPolicy
compute.instances.list
compute.instances.setDeletionProtection
compute.instances.setDiskAutoDelete
compute.instances.setIamPolicy
compute.instances.setLabels
compute.instances.setMachineResources
compute.instances.setMachineType
compute.instances.setMetadata
compute.instances.setMinCpuPlatform
compute.instances.setScheduling
compute.instances.setServiceAccount
compute.instances.setShieldedVmIntegrityPolicy
compute.instances.setTags
compute.instances.start
compute.instances.startWithEncryptionKey
compute.instances.stop
compute.instances.update
compute.instances.updateAccessConfig
compute.instances.updateNetworkInterface
compute.instances.updateShieldedVmConfig
compute.instances.use
compute.networks.get
compute.networks.use
compute.networks.useExternalIp
compute.projects.get
compute.regions.list
compute.snapshots.create
compute.snapshots.delete
compute.snapshots.get
compute.snapshots.setLabels
compute.snapshots.useReadOnly
compute.subnetworks.get
compute.subnetworks.list
compute.subnetworks.use
compute.subnetworks.useExternalIp
compute.zones.list
iam.serviceAccounts.update
resourcemanager.projects.get

1 个答案:

答案 0 :(得分:1)

我了解您需要激活OS登录名才能使用服务帐户“ A”使用实例。 要激活“ OS登录”,仅需要使用键“ enable-oslogin = TRUE”创建元数据条目。

除此之外,我建议您添加this documentation中列出的以下角色。