Papéis do IAM no Compute Engine

O Compute Engine tem um conjunto específico de papéis de gerenciamento de identidade e acesso (IAM, na sigla em inglês). Cada papel predefinido contém um conjunto de permissões.

Ao adicionar um novo membro ao seu projeto, é possível usar uma política de IAM para dar a esse membro um ou mais papéis de IAM. Cada papel do IAM contém permissões que concedem ao membro acesso a recursos específicos.

Para saber como definir políticas no nível do projeto, leia Como conceder, alterar e revogar o acesso aos recursos na documentação do IAM. Para saber como definir políticas em recursos do Compute Engine, leia Como conceder acesso a recursos do Compute Engine. Para saber como atribuir papéis a uma conta de serviço do Compute Engine, leia Como criar e ativar contas de serviço para instâncias. Para saber como criar papéis personalizados que contenham qualquer subconjunto de permissões, leia Como criar e gerenciar papéis personalizados.

Antes de começar

O que é IAM?

No Google Cloud Platform (GCP), você conta com o Cloud Identity and Access Management (Cloud IAM) para dar acesso mais granular a recursos específicos do GCP e impedir o acesso indesejado a outros recursos. Com o IAM, é possível adotar o princípio de segurança do menor privilégio (em inglês) para conceder apenas o acesso necessário aos recursos.

O IAM permite controlar quem (identidade) tem qual (papéis) permissão para quais recursos. Basta definir as políticas. As políticas do IAM concedem papéis específicos a um membro do projeto, dando à identidade algumas permissões. Por exemplo, é possível atribuir o papel roles/compute.networkAdmin a uma Conta do Google e ela poderá controlar recursos relacionados à rede no projeto, mas não poderá gerenciar outros recursos, como instâncias e discos. Também é possível usar o Cloud IAM para gerenciar os papéis legados do Console do GCP concedidos aos membros da equipe do projeto.

Papéis predefinidos do Cloud IAM do Compute Engine

Com o Cloud IAM, todos os métodos da API Compute Engine exigem que a identidade que faz a solicitação de API tenha as permissões apropriadas para usar o recurso. As permissões são concedidas pela definição de políticas que concedem papéis a um membro (usuário, grupo ou conta de serviço) do projeto.

Além dos papéis legados (visualizador, editor, proprietário) e dos papéis personalizados, é possível atribuir os seguintes papéis predefinidos do Compute Engine aos membros do projeto.

É possível conceder vários papéis a um membro do projeto no mesmo recurso. Por exemplo, se a equipe de rede também gerencia regras de firewall, é possível conceder roles/compute.networkAdmin e roles/compute.securityAdmin ao grupo do Google da equipe de rede.

Nas tabelas a seguir, descrevemos os papéis predefinidos do Cloud IAM do Compute Engine e as permissões contidas em cada um. Cada papel inclui um conjunto de permissões adequado a uma tarefa específica. Por exemplo, os dois primeiros papéis concedem permissões para gerenciar instâncias, os papéis relacionados à rede incluem permissões para gerenciar recursos relacionados à rede e o papel de segurança contém permissões para gerenciar recursos relacionados à segurança, como firewalls e certificados SSL.

Papel Administrador do Compute

Nome Descrição Permissões
roles/
compute.admin

Controle total de todos os recursos do Compute Engine.

Se o usuário estiver gerenciando instâncias de máquina virtual configuradas para serem executadas como uma conta de serviço, também será necessário atribuir o papel roles/iam.serviceAccountUser.

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

Papel Usuário de imagens do Compute

Nome Descrição Permissões
roles/
compute.imageUser

Permissão para listar e ler imagens sem ter outras permissões na imagem. A concessão do papel compute.imageUser no nível do projeto permite que os usuários listem todas as imagens no projeto e criem recursos, como instâncias e discos permanentes, com base nas imagens do projeto.

  • 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

Papel Administrador de instâncias do Compute (Beta)

Nome Descrição Permissões
roles/
compute.instanceAdmin

Permissões para criar, modificar e excluir instâncias de máquina virtual. Isso inclui permissões para criar, modificar e excluir discos, além de definir configurações de VM protegidaBeta.

Se o usuário estiver gerenciando instâncias de máquina virtual configuradas para serem executadas como uma conta de serviço, também será necessário atribuir o papel roles/iam.serviceAccountUser.

Por exemplo, se sua empresa tem um funcionário que gerencia grupos de instâncias de máquina virtual, mas não gerencia configurações de rede ou de segurança nem instâncias executadas como contas de serviço, conceda esse papel na organização, na pasta ou no projeto que contém as instâncias ou conceda-o em instâncias individuais.

  • 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.networkEndpointGroups.*
  • compute.networks.get
  • compute.networks.list
  • compute.networks.use
  • compute.networks.useExternalIp
  • compute.projects.get
  • compute.regionOperations.get
  • compute.regionOperations.list
  • compute.regions.*
  • compute.reservations.get
  • compute.reservations.list
  • 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

Papel Administrador de instâncias do Compute (v1)

Nome Descrição Permissões
roles/
compute.instanceAdmin.v1
Controle total de instâncias, grupos de instâncias, discos, instantâneos e imagens do Compute Engine. Acesso de leitura a todos os recursos de rede do Compute Engine.

Se você conceder esse papel a um usuário apenas no nível da instância, o usuário não poderá criar novas instâncias.

  • 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.externalVpnGateways.get
  • compute.externalVpnGateways.list
  • 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.networkEndpointGroups.*
  • 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.reservations.get
  • compute.reservations.list
  • 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.vpnGateways.get
  • compute.vpnGateways.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

Papel Administrador do balanceador de carga do Compute

Nome Descrição Permissões
roles/
compute.loadBalancerAdmin
Beta

Permissões para criar, modificar e excluir balanceadores de carga e associar recursos.

Por exemplo, se na sua empresa existe uma equipe de balanceamento de carga que gerencia balanceadores de carga, certificados SSL para balanceadores de carga, políticas de SSL e outros recursos relacionados, além de uma equipe separada de rede que gerencia os recursos de rede restantes, atribua o papel loadBalancerAdmin ao grupo da equipe de balanceamento de carga.

  • 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.networkEndpointGroups.*
  • 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

Papel Administrador de rede do Compute

Nome Descrição Permissões
roles/
compute.networkAdmin

Permissões para criar, modificar e excluir recursos de rede, exceto regras de firewall e certificados SSL. O papel de administrador de rede possibilita o acesso somente leitura a regras de firewall, certificados SSL e instâncias para visualizar os respectivos endereços IP temporários. Esse papel não permite que o usuário crie, inicie, pare ou exclua instâncias.

Por exemplo, se sua empresa tem uma equipe de segurança que gerencia firewalls e certificados SSL e outra que gerencia o restante dos recursos de rede, conceda o papel networkAdmin ao grupo da equipe de rede.

  • compute.addresses.*
  • compute.autoscalers.get
  • compute.autoscalers.list
  • compute.backendBuckets.*
  • compute.backendServices.*
  • compute.externalVpnGateways.*
  • 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.networkEndpointGroups.get
  • compute.networkEndpointGroups.list
  • compute.networkEndpointGroups.use
  • 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.vpnGateways.*
  • 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

Papel Usuário de rede do Compute

Nome Descrição Permissões
roles/
compute.networkUser

Dá acesso a uma rede VPC compartilhada

Depois de concedido, os proprietários do serviço poderão usar as redes e sub-redes VPC que pertencem ao projeto host. Por exemplo, um usuário da rede pode criar uma instância de VM que pertence a uma rede do projeto host, mas não consegue excluir nem criar novas redes nele.

  • compute.addresses.createInternal
  • compute.addresses.deleteInternal
  • compute.addresses.get
  • compute.addresses.list
  • compute.addresses.useInternal
  • compute.externalVpnGateways.get
  • compute.externalVpnGateways.list
  • compute.externalVpnGateways.use
  • 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.vpnGateways.get
  • compute.vpnGateways.list
  • compute.vpnGateways.use
  • 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

Papel Leitor de rede do Compute

Nome Descrição Permissões
roles/
compute.networkViewer

Acesso somente leitura a todos os recursos de rede

Por exemplo, se você tem um software que inspeciona a configuração de rede, conceda o papel de networkViewer à conta de serviço do software.

  • 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.vpnGateways.get
  • compute.vpnGateways.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

Papel Administrador da política de segurança da organização do Compute

Nome Descrição Permissões
roles/
compute.orgSecurityPolicyAdmin
Beta
Controle total das políticas de segurança da organização do Compute Engine.
  • compute.globalOperations.get
  • compute.globalOperations.getIamPolicy
  • compute.globalOperations.list
  • compute.globalOperations.setIamPolicy
  • compute.projects.get
  • compute.securityPolicies.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Papel Usuário da política de segurança da organização do Compute

Nome Descrição Permissões
roles/
compute.orgSecurityPolicyUser
Beta
Ver ou usar políticas de segurança do Compute Engine para associar à organização ou às pastas.
  • compute.globalOperations.get
  • compute.globalOperations.getIamPolicy
  • compute.globalOperations.list
  • compute.globalOperations.setIamPolicy
  • compute.projects.get
  • compute.securityPolicies.get
  • compute.securityPolicies.list
  • compute.securityPolicies.use
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Papel Administrador de recursos da organização do Compute

Nome Descrição Permissões
roles/
compute.orgSecurityResourceAdmin
Beta
Controle total das associações da Política de segurança do Compute Engine para a organização ou pastas.
  • compute.globalOperations.get
  • compute.globalOperations.getIamPolicy
  • compute.globalOperations.list
  • compute.globalOperations.setIamPolicy
  • compute.projects.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Papel Login de administrador no SO do Compute

Nome Descrição Permissões
roles/
compute.osAdminLogin

Acesso para fazer login em uma instância do Compute Engine como usuário administrador.

  • 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

Papel Login no SO do Compute

Nome Descrição Permissões
roles/
compute.osLogin

Acesso com login na instância do Compute Engine como um usuário padrão.

  • 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

Papel Usuário externo de login no SO do Compute

Nome Descrição Permissões
roles/
compute.osLoginExternalUser

Disponível apenas no nível da organização.

Acesso para um usuário externo configurar informações de login no SO associadas a esta organização. Este papel não concede acesso a instâncias. Os usuários externos precisam receber um dos papéis de login do SO necessários para permitir o acesso a instâncias que usam o SSH.

  • compute.oslogin.*

Papel Administrador do espelhamento de pacotes do Compute

Nome Descrição Permissões
roles/
compute.packetMirroringAdmin
Alpha
Especifica os recursos a serem espelhados.
  • compute.networks.mirror
  • compute.projects.get
  • compute.subnetworks.mirror
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Papel Cálculo do espelhamento de pacotes do Compute

Nome Descrição Permissões
roles/
compute.packetMirroringUser
Alpha
Usa os espelhamentos de pacotes do Compute Engine.
  • compute.packetMirrorings.*
  • compute.projects.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Papel Administrador de segurança do Compute

Nome Descrição Permissões
roles/
compute.securityAdmin

Permissões para criar, modificar e excluir regras de firewall e certificados SSL, além de definir configurações de VM protegidaBETA.

Por exemplo, se sua empresa tem uma equipe de segurança que gerencia firewalls e certificados SSL e outra que gerencia o restante dos recursos de rede, conceda o papel securityAdmin ao grupo da equipe de segurança.

  • 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.packetMirrorings.*
  • 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

Papel Administrador de armazenamento do Compute

Nome Descrição Permissões
roles/
compute.storageAdmin

Permissões para criar, modificar e excluir discos, imagens e instantâneos.

Por exemplo, se na sua empresa existe alguém que gerencia as imagens do projeto e você não quer que essa pessoa tenha o papel de editor no projeto, atribua este papel storageAdmin à conta dela.

  • 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

Papel Leitor do Compute

Nome Descrição Permissões
roles/
compute.viewer

Acesso somente leitura para receber e listar recursos do Compute Engine, sem poder ler os dados armazenados neles.

Por exemplo, uma conta com esse papel pode inventariar todos os discos em um projeto, mas não consegue ler nenhum dos dados neles.

  • 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.externalVpnGateways.get
  • compute.externalVpnGateways.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.networkEndpointGroups.get
  • compute.networkEndpointGroups.getIamPolicy
  • compute.networkEndpointGroups.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.reservations.get
  • compute.reservations.list
  • 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.vpnGateways.get
  • compute.vpnGateways.list
  • 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

Papel Administrador de VPC compartilhada do Compute

Nome Descrição Permissões
roles/
compute.xpnAdmin

Permissões para administrar projetos host de VPC compartilhada, especificamente ativando os projetos host e associando os projetos do serviço de VPC compartilhada à rede do projeto host.

Esse papel só pode ser concedido por um administrador da organização.

No caso do Google Cloud, recomendamos que o administrador da VPC compartilhada seja o proprietário do projeto host da VPC compartilhada. O administrador da VPC compartilhada é responsável por conceder o papel compute.networkUser aos proprietários do serviço, e o proprietário do projeto host da VPC compartilhada controla o próprio projeto. Gerenciar o projeto é mais fácil quando um único principal (indivíduo ou grupo) pode ocupar os dois papéis.

  • 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

Papel Administrador do DNS

Nome Descrição Permissões
roles/
dns.admin
Dá acesso de leitura e gravação a todos os recursos do 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

Papel Par do DNS

Nome Descrição Permissões
roles/
dns.peer
Beta
Acesso às redes de destino com zonas DNS de peering
  • dns.networks.targetWithPeeringZone

Papel Leitor do DNS

Nome Descrição Permissões
roles/
dns.reader
Dá acesso somente leitura a todos os recursos do 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

Papel Administrador da conta de serviço

Nome Descrição Permissões
roles/
iam.serviceAccountAdmin
Cria e gerencia contas de serviço.
  • 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

Papel Criador de contas de serviço

Nome Descrição Permissões
roles/
iam.serviceAccountCreator
Acesso para criar contas de serviço.
  • iam.serviceAccounts.create
  • iam.serviceAccounts.get
  • iam.serviceAccounts.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Papel Excluidor de contas de serviço

Nome Descrição Permissões
roles/
iam.serviceAccountDeleter
Acesso para excluir contas de serviço.
  • iam.serviceAccounts.delete
  • iam.serviceAccounts.get
  • iam.serviceAccounts.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Papel Administrador de chaves da conta de serviço

Nome Descrição Permissões
roles/
iam.serviceAccountKeyAdmin
Cria, gerencia e troca chaves da conta de serviço.
  • iam.serviceAccountKeys.*
  • iam.serviceAccounts.get
  • iam.serviceAccounts.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Papel Criador de token da conta de serviço

Nome Descrição Permissões
roles/
iam.serviceAccountTokenCreator
Representa contas de serviço. Por exemplo, cria tokens de acesso OAuth2, assina blobs ou JWTs etc.
  • iam.serviceAccounts.get
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.implicitDelegation
  • iam.serviceAccounts.list
  • iam.serviceAccounts.signBlob
  • iam.serviceAccounts.signJwt
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Papel Usuário da conta de serviço

Nome Descrição Permissões
roles/
iam.serviceAccountUser
Executa operações como conta do serviço.
  • iam.serviceAccounts.actAs
  • iam.serviceAccounts.get
  • iam.serviceAccounts.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Papel Usuário da identidade de carga de trabalho

Nome Descrição Permissões
roles/
iam.workloadIdentityUser
Representar as contas de serviço do GKE Workloads
  • iam.serviceAccounts.get
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.list

O papel serviceAccountUser

Quando concedido com roles/compute.instanceAdmin.v1, roles/iam.serviceAccountUser fornece aos membros a capacidade de criar e gerenciar instâncias que usam uma conta de serviço. Especificamente, conceder roles/iam.serviceAccountUser e roles/compute.instanceAdmin.v1 juntos dá aos membros permissão para:

  • criar uma instância executada como conta de serviço;
  • anexar um disco permanente a uma instância executada como conta de serviço;
  • definir metadados de instância em uma instância executada como conta de serviço;
  • usar SSH para se conectar a uma instância executada como conta de serviço;
  • reconfigurar uma instância para executar como uma conta de serviço.

É possível conceder roles/iam.serviceAccountUser de duas maneiras:

  • Recomendado. Conceda o papel a um membro em uma conta de serviço específica. Com isso, o membro tem acesso à conta de serviço em que é um iam.serviceAccountUser, mas não pode acessar outras contas de serviço em que não é um iam.serviceAccountUser.

  • Conceda o papel a um membro no nível do projeto. O membro tem acesso a todas as contas de serviço do projeto, incluindo as que forem criadas no futuro.

Saiba mais sobre contas de serviço se não tiver familiaridade com elas.

Como se conectar a uma instância como instanceAdmin

Depois que você concede a um membro do projeto o papel roles/compute.instanceAdmin.v1, ele pode se conectar a instâncias de máquina virtual (VM, na sigla em inglês) usando as ferramentas padrão do Google Cloud Platform, como gcloud ou SSH do navegador.

Quando um membro usa a ferramenta de linha de comando gcloud ou o SSH do navegador, as ferramentas geram automaticamente um par de chaves pública/privada e adicionam a chave pública aos metadados do projeto. Se o membro não tiver permissões para editar metadados do projeto, a ferramenta adicionará a chave pública do membro aos metadados da instância.

Se o membro tiver um par de chaves existente que quer usar, poderá adicionar manualmente a chave pública aos metadados da instância. Saiba mais sobre como adicionar ou remover chaves SSH de uma instância.

IAM com contas de serviço

Crie novas contas de serviço personalizadas e conceda papéis do Cloud IAM a contas de serviço para limitar o acesso das suas instâncias. Use papéis do Cloud IAM com contas de serviço personalizadas para:

  • limitar o acesso das suas instâncias às APIs do GCP usando papéis do Cloud IAM granulares;
  • dar a cada instância ou conjunto de instâncias uma identidade única;
  • limitar o acesso à sua conta de serviço padrão.

Saiba mais sobre contas de serviço.

Grupos de instâncias gerenciadas e o Cloud IAM

Grupos de instâncias gerenciadas, especialmente quando configurados para escalonamento automático, são recursos que executam ações em seu nome sem interação direta do usuário. Os grupos de instâncias gerenciadas usam uma identidade de conta de serviço para criar, excluir e gerenciar instâncias em um grupo. Para mais informações, leia a documentação de grupos de instâncias gerenciadas e o Cloud IAM.

Operações incompatíveis

Não é possível conceder acesso para executar atualizações graduais em grupos de instâncias usando papéis do Cloud IAM.

Para conceder permissão para executar essas operações, use os papéis mais abrangentes: proprietário, editor ou leitor.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Compute Engine