Compute Engine 身分與存取權管理角色

Compute Engine 設有一組特定的身分與存取權管理 (IAM) 角色。每個預先定義的角色都具有一組權限。

當您在專案中新增成員時,可以使用 IAM 政策為該成員提供一或多個 IAM 角色。每個 IAM 角色都包含了授予成員存取特定資源的權限。

要瞭解如何設定專案層級的政策,請參閱 IAM 說明文件中的授予、變更及撤銷資源的存取權頁面。如要瞭解如何設定 Compute Engine 資源上的政策,請參閱授予 Compute Engine 資源的存取權。如要瞭解如何為 Compute Engine 服務帳戶指派角色,請參閱建立和啟用執行個體的服務帳戶說明文件。要瞭解如何建立含有權限子集的自訂角色,請參閱建立及管理自訂角色一文。

事前準備

什麼是身分與存取權管理?

Google Cloud Platform 提供身分與存取權管理 (IAM) 功能,可讓您以更精細的方式授予其他使用者特定 Google Cloud Platform 資源的存取權限,避免其他資源遭到未經授權者擅自存取。透過這項功能,您就能採取最小許可權的安全性原則,僅將必要的資源存取權限授予其他使用者。

設定身分與管理權政策之後,您就能控管哪些使用者具備何種角色權限,可以存取哪些資源。身分與存取權管理政策可將特定角色授予專案成員,讓對方擁有特定權限。舉例來說,您可以將某個特定資源 (例如專案) 的 roles/compute.networkAdmin 角色指派給一個 Google 帳戶,該帳戶即可控管專案中的網路相關資源,但無法管理執行個體和磁碟這類其他的資源。您也可以使用身分與存取權管理來管理授予給專案團隊成員的 GCP 主控台舊版角色

預先定義的 Compute Engine 身分與存取權管理角色

透過身分與存取權管理功能,凡是 Compute Engine 中需要使用者發送 API 要求的 API 方法,都具備使用該資源的適當權限。只要設定政策將角色授予專案成員 (使用者、群組或服務帳戶),即可授予權限。

除了舊版角色 (檢視者、編輯者、擁有者) 和自訂角色之外,您可以為專案成員指派下列預先定義的 Compute Engine 角色。

您可以將多個權限授予相同資源中的專案成員。舉例來說,如果您的網路小組也負責管理防火牆規則,那麼可以將 roles/compute.networkAdminroles/compute.securityAdmin 授予網路小組的 Google 群組

下表介紹了預先定義的 Compute Engine 身分與存取權管理角色,以及各角色具有的權限。每個角色都具有一組適用於特定工作的權限。舉例來說,前兩個角色可授予管理執行個體的權限,網路相關角色擁有管理網路相關資源的權限,安全性角色則有管理安全性相關資源 (例如防火牆與 SSL 憑證) 的權限。

Compute 管理員角色

名稱 說明 權限
roles/
compute.admin

具備 Compute Engine 資源的完整控制權。

如果使用者日後會管理設定為服務帳戶執行的虛擬機器執行個體,您就必須一併授予 roles/iam.serviceAccountUser 角色。

  • compute.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute 映像檔使用者角色

名稱 說明 權限
roles/
compute.imageUser

具備列出及讀取映像檔的權限,但不具備對映像檔的其他權限。在專案層級授予 compute.imageUser 角色可讓使用者列出專案中的所有映像檔,並依據專案中的映像檔建立資源 (例如執行個體和永久磁碟)。

  • compute.images.get
  • compute.images.getFromFamily
  • compute.images.list
  • compute.images.useReadOnly
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute 執行個體管理員 (Beta 測試版) 角色

名稱 說明 權限
roles/
compute.instanceAdmin

具備建立、修改及刪除虛擬機器執行個體的權限,包括建立、修改、刪除磁碟,以及設定受防護的 VM Beta 版的權限。

如果使用者日後會管理設定為服務帳戶執行的虛擬機器執行個體,您就必須一併授予 roles/iam.serviceAccountUser 角色。

舉例來說,如果貴公司已有人負責管理虛擬機器執行個體群組,但並未管理網路或安全性設定,以及以服務帳戶執行的執行個體,請將這個角色授予該使用者。

  • compute.acceleratorTypes.*
  • compute.addresses.get
  • compute.addresses.list
  • compute.addresses.use
  • compute.autoscalers.*
  • compute.diskTypes.*
  • compute.disks.create
  • compute.disks.createSnapshot
  • compute.disks.delete
  • compute.disks.get
  • compute.disks.list
  • compute.disks.resize
  • compute.disks.setLabels
  • compute.disks.update
  • compute.disks.use
  • compute.disks.useReadOnly
  • compute.globalAddresses.get
  • compute.globalAddresses.list
  • compute.globalAddresses.use
  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.images.get
  • compute.images.getFromFamily
  • compute.images.list
  • compute.images.useReadOnly
  • compute.instanceGroupManagers.*
  • compute.instanceGroups.*
  • compute.instanceTemplates.*
  • compute.instances.*
  • compute.licenses.get
  • compute.licenses.list
  • compute.machineTypes.*
  • compute.networks.get
  • compute.networks.list
  • compute.networks.use
  • compute.networks.useExternalIp
  • compute.projects.get
  • compute.regionOperations.get
  • compute.regionOperations.list
  • compute.regions.*
  • compute.subnetworks.get
  • compute.subnetworks.list
  • compute.subnetworks.use
  • compute.subnetworks.useExternalIp
  • compute.targetPools.get
  • compute.targetPools.list
  • compute.zoneOperations.get
  • compute.zoneOperations.list
  • compute.zones.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute 執行個體管理員 (v1) 角色

名稱 說明 權限
roles/
compute.instanceAdmin.v1
具備 Compute Engine 執行個體、執行個體群組、磁碟、快照和映像檔的完整控制權,以及 Compute Engine 網路資源的讀取存取權。
  • compute.acceleratorTypes.*
  • compute.addresses.get
  • compute.addresses.list
  • compute.addresses.use
  • compute.autoscalers.*
  • compute.backendBuckets.get
  • compute.backendBuckets.list
  • compute.backendServices.get
  • compute.backendServices.list
  • compute.diskTypes.*
  • compute.disks.*
  • compute.firewalls.get
  • compute.firewalls.list
  • compute.forwardingRules.get
  • compute.forwardingRules.list
  • compute.globalAddresses.get
  • compute.globalAddresses.list
  • compute.globalAddresses.use
  • compute.globalForwardingRules.get
  • compute.globalForwardingRules.list
  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.healthChecks.get
  • compute.healthChecks.list
  • compute.httpHealthChecks.get
  • compute.httpHealthChecks.list
  • compute.httpsHealthChecks.get
  • compute.httpsHealthChecks.list
  • compute.images.*
  • compute.instanceGroupManagers.*
  • compute.instanceGroups.*
  • compute.instanceTemplates.*
  • compute.instances.*
  • compute.interconnectAttachments.get
  • compute.interconnectAttachments.list
  • compute.interconnectLocations.*
  • compute.interconnects.get
  • compute.interconnects.list
  • compute.licenseCodes.*
  • compute.licenses.*
  • compute.machineTypes.*
  • compute.networks.get
  • compute.networks.list
  • compute.networks.use
  • compute.networks.useExternalIp
  • compute.projects.get
  • compute.projects.setCommonInstanceMetadata
  • compute.regionBackendServices.get
  • compute.regionBackendServices.list
  • compute.regionOperations.get
  • compute.regionOperations.list
  • compute.regions.*
  • compute.resourcePolicies.*
  • compute.routers.get
  • compute.routers.list
  • compute.routes.get
  • compute.routes.list
  • compute.snapshots.*
  • compute.sslCertificates.get
  • compute.sslCertificates.list
  • compute.sslPolicies.get
  • compute.sslPolicies.list
  • compute.sslPolicies.listAvailableFeatures
  • compute.subnetworks.get
  • compute.subnetworks.list
  • compute.subnetworks.use
  • compute.subnetworks.useExternalIp
  • compute.targetHttpProxies.get
  • compute.targetHttpProxies.list
  • compute.targetHttpsProxies.get
  • compute.targetHttpsProxies.list
  • compute.targetInstances.get
  • compute.targetInstances.list
  • compute.targetPools.get
  • compute.targetPools.list
  • compute.targetSslProxies.get
  • compute.targetSslProxies.list
  • compute.targetTcpProxies.get
  • compute.targetTcpProxies.list
  • compute.targetVpnGateways.get
  • compute.targetVpnGateways.list
  • compute.urlMaps.get
  • compute.urlMaps.list
  • compute.vpnTunnels.get
  • compute.vpnTunnels.list
  • compute.zoneOperations.get
  • compute.zoneOperations.list
  • compute.zones.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute 負載平衡器管理員角色

名稱 說明 權限
roles/
compute.loadBalancerAdmin
Beta

具備建立、修改及刪除負載平衡器與相關資源的權限。

舉例來說,如果貴公司的負載平衡小組負責管理負載平衡器、負載平衡器的 SSL 憑證、SSL 政策和其他負載平衡資源,而網路小組負責管理其他網路資源,那麼請將 loadBalancerAdmin 角色授予負載平衡小組所屬的群組。

  • compute.addresses.*
  • compute.backendBuckets.*
  • compute.backendServices.*
  • compute.forwardingRules.*
  • compute.globalAddresses.*
  • compute.globalForwardingRules.*
  • compute.healthChecks.*
  • compute.httpHealthChecks.*
  • compute.httpsHealthChecks.*
  • compute.instanceGroups.*
  • compute.instances.get
  • compute.instances.list
  • compute.instances.use
  • compute.networks.get
  • compute.networks.list
  • compute.networks.use
  • compute.projects.get
  • compute.regionBackendServices.*
  • compute.securityPolicies.get
  • compute.securityPolicies.list
  • compute.securityPolicies.use
  • compute.sslCertificates.*
  • compute.sslPolicies.*
  • compute.subnetworks.get
  • compute.subnetworks.list
  • compute.subnetworks.use
  • compute.targetHttpProxies.*
  • compute.targetHttpsProxies.*
  • compute.targetInstances.*
  • compute.targetPools.*
  • compute.targetSslProxies.*
  • compute.targetTcpProxies.*
  • compute.urlMaps.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute 網路管理員角色

名稱 說明 權限
roles/
compute.networkAdmin

具備建立、修改及刪除網路資源的權限,防火牆規則和安全資料傳輸層 (SSL) 憑證除外。網路管理員角色可以唯讀存取防火牆規則、SSL 憑證和執行個體的權限 (以查看臨時 IP 位址),但無法讓使用者建立、啟動、停止或刪除執行個體。

舉例來說,如果貴公司的安全性團隊負責管理防火牆和 SSL 憑證,而網路團隊負責管理其他網路資源,請將 networkAdmin 角色授予網路團隊所屬的群組。

  • compute.addresses.*
  • compute.autoscalers.get
  • compute.autoscalers.list
  • compute.backendBuckets.*
  • compute.backendServices.*
  • compute.firewalls.get
  • compute.firewalls.list
  • compute.forwardingRules.*
  • compute.globalAddresses.*
  • compute.globalForwardingRules.*
  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.healthChecks.*
  • compute.httpHealthChecks.*
  • compute.httpsHealthChecks.*
  • compute.instanceGroupManagers.get
  • compute.instanceGroupManagers.list
  • compute.instanceGroupManagers.update
  • compute.instanceGroupManagers.use
  • compute.instanceGroups.get
  • compute.instanceGroups.list
  • compute.instanceGroups.update
  • compute.instanceGroups.use
  • compute.instances.get
  • compute.instances.getGuestAttributes
  • compute.instances.getSerialPortOutput
  • compute.instances.list
  • compute.instances.listReferrers
  • compute.instances.use
  • compute.interconnectAttachments.*
  • compute.interconnectLocations.*
  • compute.interconnects.*
  • compute.networks.*
  • compute.projects.get
  • compute.regionBackendServices.*
  • compute.regionOperations.get
  • compute.regionOperations.list
  • compute.regions.*
  • compute.routers.*
  • compute.routes.*
  • compute.securityPolicies.get
  • compute.securityPolicies.list
  • compute.securityPolicies.use
  • compute.sslCertificates.get
  • compute.sslCertificates.list
  • compute.sslPolicies.*
  • compute.subnetworks.*
  • compute.targetHttpProxies.*
  • compute.targetHttpsProxies.*
  • compute.targetInstances.*
  • compute.targetPools.*
  • compute.targetSslProxies.*
  • compute.targetTcpProxies.*
  • compute.targetVpnGateways.*
  • compute.urlMaps.*
  • compute.vpnTunnels.*
  • compute.zoneOperations.get
  • compute.zoneOperations.list
  • compute.zones.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • servicenetworking.operations.get
  • servicenetworking.services.addPeering
  • servicenetworking.services.get
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute 網路使用者角色

名稱 說明 權限
roles/
compute.networkUser

提供共用虛擬私人雲端 (VPC) 網路的存取權

授予這個角色後,服務擁有者就可使用屬於主專案的 VPC 網路和子網路。舉例來說,網路使用者可建立屬於主專案網路的 VM 執行個體,但無法在主專案中刪除或建立新網路。

  • compute.addresses.createInternal
  • compute.addresses.deleteInternal
  • compute.addresses.get
  • compute.addresses.list
  • compute.addresses.useInternal
  • compute.firewalls.get
  • compute.firewalls.list
  • compute.interconnectAttachments.get
  • compute.interconnectAttachments.list
  • compute.interconnectLocations.*
  • compute.interconnects.get
  • compute.interconnects.list
  • compute.interconnects.use
  • compute.networks.get
  • compute.networks.list
  • compute.networks.use
  • compute.networks.useExternalIp
  • compute.projects.get
  • compute.regions.*
  • compute.routers.get
  • compute.routers.list
  • compute.routes.get
  • compute.routes.list
  • compute.subnetworks.get
  • compute.subnetworks.list
  • compute.subnetworks.use
  • compute.subnetworks.useExternalIp
  • compute.targetVpnGateways.get
  • compute.targetVpnGateways.list
  • compute.vpnTunnels.get
  • compute.vpnTunnels.list
  • compute.zones.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute 網路檢視者角色

名稱 說明 權限
roles/
compute.networkViewer

具備所有網路資源的唯讀權限

舉例來說,如果您的軟體需要檢查網路設定,請將 networkViewer 角色授予軟體的服務帳戶。

  • compute.addresses.get
  • compute.addresses.list
  • compute.autoscalers.get
  • compute.autoscalers.list
  • compute.backendBuckets.get
  • compute.backendBuckets.list
  • compute.backendServices.get
  • compute.backendServices.list
  • compute.firewalls.get
  • compute.firewalls.list
  • compute.forwardingRules.get
  • compute.forwardingRules.list
  • compute.globalAddresses.get
  • compute.globalAddresses.list
  • compute.globalForwardingRules.get
  • compute.globalForwardingRules.list
  • compute.healthChecks.get
  • compute.healthChecks.list
  • compute.httpHealthChecks.get
  • compute.httpHealthChecks.list
  • compute.httpsHealthChecks.get
  • compute.httpsHealthChecks.list
  • compute.instanceGroupManagers.get
  • compute.instanceGroupManagers.list
  • compute.instanceGroups.get
  • compute.instanceGroups.list
  • compute.instances.get
  • compute.instances.getGuestAttributes
  • compute.instances.getSerialPortOutput
  • compute.instances.list
  • compute.instances.listReferrers
  • compute.interconnectAttachments.get
  • compute.interconnectAttachments.list
  • compute.interconnectLocations.*
  • compute.interconnects.get
  • compute.interconnects.list
  • compute.networks.get
  • compute.networks.list
  • compute.projects.get
  • compute.regionBackendServices.get
  • compute.regionBackendServices.list
  • compute.regions.*
  • compute.routers.get
  • compute.routers.list
  • compute.routes.get
  • compute.routes.list
  • compute.sslCertificates.get
  • compute.sslCertificates.list
  • compute.sslPolicies.get
  • compute.sslPolicies.list
  • compute.sslPolicies.listAvailableFeatures
  • compute.subnetworks.get
  • compute.subnetworks.list
  • compute.targetHttpProxies.get
  • compute.targetHttpProxies.list
  • compute.targetHttpsProxies.get
  • compute.targetHttpsProxies.list
  • compute.targetInstances.get
  • compute.targetInstances.list
  • compute.targetPools.get
  • compute.targetPools.list
  • compute.targetSslProxies.get
  • compute.targetSslProxies.list
  • compute.targetTcpProxies.get
  • compute.targetTcpProxies.list
  • compute.targetVpnGateways.get
  • compute.targetVpnGateways.list
  • compute.urlMaps.get
  • compute.urlMaps.list
  • compute.vpnTunnels.get
  • compute.vpnTunnels.list
  • compute.zones.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • servicenetworking.services.get
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute OS 管理員登入角色

名稱 說明 權限
roles/
compute.osAdminLogin

以管理員使用者身分登入 Compute Engine 執行個體的存取權。

  • compute.instances.get
  • compute.instances.list
  • compute.instances.osAdminLogin
  • compute.instances.osLogin
  • compute.projects.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute OS 登入角色

名稱 說明 權限
roles/
compute.osLogin

以標準使用者身分登入 Compute Engine 執行個體的存取權。

  • compute.instances.get
  • compute.instances.list
  • compute.instances.osLogin
  • compute.projects.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute OS 登入外部使用者角色

名稱 說明 權限
roles/
compute.osLoginExternalUser

僅能使用於機構層級。

允許外部使用者設定與此機構關聯的 OS 登入資訊。此角色並未授予對執行個體的存取權。外部使用者必須獲得必要的 OS 登入角色,才能使用 SSH 存取執行個體。

  • compute.oslogin.*

Compute 安全性管理員角色

名稱 說明 權限
roles/
compute.securityAdmin

具備建立、修改及刪除防火牆規則和 SSL 憑證,以及設定受防護的 VM Beta 版的權限。

舉例來說,如果貴公司的安全性團隊負責管理防火牆和 SSL 憑證,而網路團隊負責管理其他網路資源,請將 securityAdmin 角色授予安全性團隊所屬的群組。

  • compute.firewalls.*
  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.instances.setShieldedInstanceIntegrityPolicy
  • compute.instances.setShieldedVmIntegrityPolicy
  • compute.instances.updateShieldedInstanceConfig
  • compute.instances.updateShieldedVmConfig
  • compute.networks.get
  • compute.networks.list
  • compute.networks.updatePolicy
  • compute.projects.get
  • compute.regionOperations.get
  • compute.regionOperations.list
  • compute.regions.*
  • compute.routes.get
  • compute.routes.list
  • compute.securityPolicies.*
  • compute.sslCertificates.*
  • compute.sslPolicies.*
  • compute.subnetworks.get
  • compute.subnetworks.list
  • compute.zoneOperations.get
  • compute.zoneOperations.list
  • compute.zones.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute 儲存空間管理員角色

名稱 說明 權限
roles/
compute.storageAdmin

具備建立、修改及刪除磁碟、映像檔和快照的權限。

舉例來說,如果貴公司有人負責管理專案映像檔,而您並不想讓他們擁有專案的編輯者角色,請將對專案的 storageAdmin 角色授予他們的帳戶。

  • compute.diskTypes.*
  • compute.disks.*
  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.images.*
  • compute.licenseCodes.*
  • compute.licenses.*
  • compute.projects.get
  • compute.regionOperations.get
  • compute.regionOperations.list
  • compute.regions.*
  • compute.resourcePolicies.*
  • compute.snapshots.*
  • compute.zoneOperations.get
  • compute.zoneOperations.list
  • compute.zones.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute 檢視者角色

名稱 說明 權限
roles/
compute.viewer

具備唯讀權限,可以取得及列出 Compute Engine 資源,但無法讀取其上儲存的資料。

舉例來說,具備這個角色的帳戶可以列出專案中的所有磁碟,但無法讀取這些磁碟上的任何資料。

  • compute.acceleratorTypes.*
  • compute.addresses.get
  • compute.addresses.list
  • compute.autoscalers.get
  • compute.autoscalers.list
  • compute.backendBuckets.get
  • compute.backendBuckets.list
  • compute.backendServices.get
  • compute.backendServices.list
  • compute.commitments.get
  • compute.commitments.list
  • compute.diskTypes.*
  • compute.disks.get
  • compute.disks.getIamPolicy
  • compute.disks.list
  • compute.firewalls.get
  • compute.firewalls.list
  • compute.forwardingRules.get
  • compute.forwardingRules.list
  • compute.globalAddresses.get
  • compute.globalAddresses.list
  • compute.globalForwardingRules.get
  • compute.globalForwardingRules.list
  • compute.globalOperations.get
  • compute.globalOperations.getIamPolicy
  • compute.globalOperations.list
  • compute.healthChecks.get
  • compute.healthChecks.list
  • compute.httpHealthChecks.get
  • compute.httpHealthChecks.list
  • compute.httpsHealthChecks.get
  • compute.httpsHealthChecks.list
  • compute.images.get
  • compute.images.getFromFamily
  • compute.images.getIamPolicy
  • compute.images.list
  • compute.instanceGroupManagers.get
  • compute.instanceGroupManagers.list
  • compute.instanceGroups.get
  • compute.instanceGroups.list
  • compute.instanceTemplates.get
  • compute.instanceTemplates.getIamPolicy
  • compute.instanceTemplates.list
  • compute.instances.get
  • compute.instances.getGuestAttributes
  • compute.instances.getIamPolicy
  • compute.instances.getSerialPortOutput
  • compute.instances.getShieldedInstanceIdentity
  • compute.instances.getShieldedVmIdentity
  • compute.instances.list
  • compute.instances.listReferrers
  • compute.interconnectAttachments.get
  • compute.interconnectAttachments.list
  • compute.interconnectLocations.*
  • compute.interconnects.get
  • compute.interconnects.list
  • compute.licenseCodes.get
  • compute.licenseCodes.getIamPolicy
  • compute.licenseCodes.list
  • compute.licenses.get
  • compute.licenses.getIamPolicy
  • compute.licenses.list
  • compute.machineTypes.*
  • compute.maintenancePolicies.get
  • compute.maintenancePolicies.getIamPolicy
  • compute.maintenancePolicies.list
  • compute.networks.get
  • compute.networks.list
  • compute.nodeGroups.get
  • compute.nodeGroups.getIamPolicy
  • compute.nodeGroups.list
  • compute.nodeTemplates.get
  • compute.nodeTemplates.getIamPolicy
  • compute.nodeTemplates.list
  • compute.nodeTypes.*
  • compute.projects.get
  • compute.regionBackendServices.get
  • compute.regionBackendServices.list
  • compute.regionOperations.get
  • compute.regionOperations.getIamPolicy
  • compute.regionOperations.list
  • compute.regions.*
  • compute.resourcePolicies.get
  • compute.resourcePolicies.list
  • compute.routers.get
  • compute.routers.list
  • compute.routes.get
  • compute.routes.list
  • compute.securityPolicies.get
  • compute.securityPolicies.getIamPolicy
  • compute.securityPolicies.list
  • compute.snapshots.get
  • compute.snapshots.getIamPolicy
  • compute.snapshots.list
  • compute.sslCertificates.get
  • compute.sslCertificates.list
  • compute.sslPolicies.get
  • compute.sslPolicies.list
  • compute.sslPolicies.listAvailableFeatures
  • compute.subnetworks.get
  • compute.subnetworks.getIamPolicy
  • compute.subnetworks.list
  • compute.targetHttpProxies.get
  • compute.targetHttpProxies.list
  • compute.targetHttpsProxies.get
  • compute.targetHttpsProxies.list
  • compute.targetInstances.get
  • compute.targetInstances.list
  • compute.targetPools.get
  • compute.targetPools.list
  • compute.targetSslProxies.get
  • compute.targetSslProxies.list
  • compute.targetTcpProxies.get
  • compute.targetTcpProxies.list
  • compute.targetVpnGateways.get
  • compute.targetVpnGateways.list
  • compute.urlMaps.get
  • compute.urlMaps.list
  • compute.urlMaps.validate
  • compute.vpnTunnels.get
  • compute.vpnTunnels.list
  • compute.zoneOperations.get
  • compute.zoneOperations.getIamPolicy
  • compute.zoneOperations.list
  • compute.zones.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute 共用 VPC 管理員角色

名稱 說明 權限
roles/
compute.xpnAdmin

具備管理共用 VPC 主專案的權限,具體而言可啟用主專案,並將共用 VPC 服務專案與主專案網路建立關聯。

此個角色只能由組織管理員授予組織。

  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.organizations.*
  • compute.projects.get
  • compute.subnetworks.getIamPolicy
  • compute.subnetworks.setIamPolicy
  • resourcemanager.organizations.get
  • resourcemanager.projects.get
  • resourcemanager.projects.getIamPolicy
  • resourcemanager.projects.list

DNS 管理員角色

姓名 說明 權限
roles/
dns.admin
提供所有 Cloud DNS 資源的讀寫存取權。
  • compute.networks.get
  • compute.networks.list
  • dns.changes.*
  • dns.dnsKeys.*
  • dns.managedZoneOperations.*
  • dns.managedZones.*
  • dns.networks.*
  • dns.policies.create
  • dns.policies.delete
  • dns.policies.get
  • dns.policies.list
  • dns.policies.update
  • dns.projects.*
  • dns.resourceRecordSets.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

DNS 對等互連角色

姓名 說明 權限
roles/
dns.peer
可存取含有 DNS 對等互連區域的目標網路
  • dns.networks.targetWithPeeringZone

DNS 讀取者角色

姓名 說明 權限
roles/
dns.reader
提供所有 Cloud DNS 資源的唯讀存取權。
  • compute.networks.get
  • dns.changes.get
  • dns.changes.list
  • dns.dnsKeys.*
  • dns.managedZoneOperations.*
  • dns.managedZones.get
  • dns.managedZones.list
  • dns.policies.get
  • dns.policies.list
  • dns.projects.*
  • dns.resourceRecordSets.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

服務帳戶管理員角色

姓名 說明 權限
roles/
iam.serviceAccountAdmin
可建立及管理服務帳戶。
  • iam.serviceAccounts.create
  • iam.serviceAccounts.delete
  • iam.serviceAccounts.get
  • iam.serviceAccounts.getIamPolicy
  • iam.serviceAccounts.list
  • iam.serviceAccounts.setIamPolicy
  • iam.serviceAccounts.update
  • resourcemanager.projects.get
  • resourcemanager.projects.list

建立服務帳戶角色

姓名 說明 權限
roles/
iam.serviceAccountCreator
可建立服務帳戶。
  • iam.serviceAccounts.create
  • iam.serviceAccounts.get
  • iam.serviceAccounts.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

刪除服務帳戶角色

姓名 說明 權限
roles/
iam.serviceAccountDeleter
可刪除服務帳戶。
  • iam.serviceAccounts.delete
  • iam.serviceAccounts.get
  • iam.serviceAccounts.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

服務帳戶金鑰管理員角色

姓名 說明 權限
roles/
iam.serviceAccountKeyAdmin
可建立及管理 (及輪替) 服務帳戶金鑰。
  • iam.serviceAccountKeys.*
  • iam.serviceAccounts.get
  • iam.serviceAccounts.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

服務帳戶憑證建立者角色

姓名 說明 權限
roles/
iam.serviceAccountTokenCreator
模擬服務帳戶 (建立 OAuth2 存取憑證與簽署 blob 或 JWT 等)。
  • iam.serviceAccounts.get
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.implicitDelegation
  • iam.serviceAccounts.list
  • iam.serviceAccounts.signBlob
  • iam.serviceAccounts.signJwt
  • resourcemanager.projects.get
  • resourcemanager.projects.list

服務帳戶使用者角色

姓名 說明 權限
roles/
iam.serviceAccountUser
能夠以服務帳戶執行作業。
  • iam.serviceAccounts.actAs
  • iam.serviceAccounts.get
  • iam.serviceAccounts.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

serviceAccountUser 角色

roles/iam.serviceAccountUser 角色與 roles/compute.instanceAdmin.v1 一併授予時,會讓成員能夠建立並管理使用服務帳戶的執行個體。具體而言,同時將 roles/iam.serviceAccountUserroles/compute.instanceAdmin.v1 角色授予成員,即可授予以下權限:

  • 建立以服務帳戶執行的執行個體。
  • 將永久磁碟連結至以服務帳戶執行的執行個體。
  • 為以服務帳戶執行的執行個體設定相關中繼資料。
  • 透過 SSH 連線至以服務帳戶執行的執行個體。
  • 重新設定以服務帳戶執行的執行個體。

您可以透過以下兩種方式授予 roles/iam.serviceAccountUser

  • [建議做法] 依照特定服務帳戶將角色授予成員。這麼做可讓該成員存取具備 iam.serviceAccountUser 角色的服務帳戶,但禁止對方存取不具備 iam.serviceAccountUser 角色的其他服務帳戶。

  • 專案層級將角色授予成員。該成員可以存取專案中的所有服務帳戶 (包括日後建立的服務帳戶)。

如要進一步瞭解服務帳戶,請參閱說明文章

透過 instanceAdmin 連結執行個體

roles/compute.instanceAdmin.v1 角色授予專案成員後,對方即可透過標準 Google Cloud Platform 工具 (例如 gcloud 工具) 或透過瀏覽器建立 SSH 連線,以連結到虛擬機器執行個體。

如果有成員使用 gcloud 指令列工具或透過瀏覽器建立 SSH 連線,該工具會自動產生公開/私密金鑰組合,並將公開金鑰新增至專案中繼資料。如果成員不具備編輯專案中繼資料的權限,該工具則會改將該成員的公開金鑰新增至執行個體中繼資料。

如果成員已有想要使用的金鑰組合,可以將其公開金鑰手動新增至執行個體的中繼資料。 進一步瞭解如何將 SSH 金鑰新增至執行個體及從當中移除。

透過服務帳戶使用身分與存取權管理功能

建立新的自訂服務帳戶,並將身分與存取權管理角色授予服務帳戶,即可限制執行個體的存取權。透過自訂服務帳戶使用身分與存取權管理角色,您就能執行下列操作:

  • 透過精細的身分與存取權管理角色來限制執行個體對 Cloud Platform API 的存取權。
  • 為每個執行個體 (或一組執行個體) 提供獨特的身分。
  • 限制預設服務帳戶的存取權。

進一步瞭解服務帳戶

代管執行個體群組和身分與存取權管理

代管執行個體群組 (尤其在設為自動調度資源時) 是可以代表您執行操作的資源,完全不需直接的使用者互動。代管執行個體群組會透過服務帳戶身分在執行個體群組中建立、刪除及管理執行個體群組。如要瞭解詳情,請參閱代管執行個體群組和身分與存取權管理說明文件。

不支援的操作

您無法透過身分與存取權管理角色授予對執行個體群組執行輪動式更新的權限。

如要授予可執行這類操作的權限,請使用更廣泛的擁有者、編輯者或檢視者角色。

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Compute Engine 說明文件