Funciones de IAM de Compute Engine

Compute Engine tiene un conjunto específico de funciones de administración de identidades y accesos (IAM). Cada función predefinida contiene un conjunto de permisos.

Cuando agregas un miembro nuevo a tu proyecto, puedes usar una política de IAM para dar a ese miembro una o más funciones de IAM. Cada función de IAM contiene permisos que otorgan al miembro acceso a recursos específicos.

Para obtener más información sobre cómo establecer políticas a nivel de proyecto, consulta la sección sobre cómo otorgar, cambiar y revocar el acceso a los recursos en la documentación de IAM. Para saber cómo establecer políticas en los recursos de Compute Engine, consulta la sección sobre cómo otorgar acceso a los recursos de Compute Engine. Si deseas obtener información sobre cómo asignar funciones a una cuenta de servicio de Compute Engine, consulta la documentación sobre cómo crear y habilitar cuentas de servicio para instancias. Para aprender a crear funciones personalizadas que contengan cualquier subconjunto de permisos, consulta la sección sobre cómo crear y administrar funciones personalizadas.

Antes de comenzar

¿Qué es IAM?

Google Cloud Platform ofrece la administración de identidades y accesos (IAM), que te permite brindar un acceso más detallado a recursos específicos de Google Cloud Platform y evita el acceso no deseado a otros recursos. IAM te permite adoptar el principio de seguridad de menor privilegio, de manera que solo otorgues el acceso necesario a tus recursos.

IAM te permite controlar quién (identidad) tiene qué (funciones) permisos sobre cuáles recursos mediante la configuración de políticas de IAM. Las políticas de IAM otorgan funciones específicas a un miembro del proyecto, ya que otorga a la identidad ciertos permisos. Por ejemplo, para un recurso determinado, como un proyecto, puedes asignar la función roles/compute.networkAdmin a una Cuenta de Google a fin de que pueda controlar los recursos relacionados con la red en el proyecto, pero no administrar otros recursos, como instancias y discos. También puedes usar IAM para administrar las funciones heredadas de GCP Console otorgadas a los miembros del equipo del proyecto.

Funciones predefinidas de IAM en Compute Engine

Con IAM, cada método de API en Compute Engine requiere que la identidad que realiza la solicitud a la API tenga los permisos adecuados para usar el recurso. Los permisos se otorgan cuando mediante la configuración de políticas que otorgan funciones a un miembro (usuario, grupo o cuenta de servicio) de tu proyecto.

Además de las funciones heredadas (visualizador, editor y propietario) y funciones personalizadas, puedes asignar las siguientes funciones predefinidas de Compute Engine a los miembros de tu proyecto.

Puedes otorgar varias funciones a un miembro del proyecto para un mismo recurso. Por ejemplo, si tu equipo de redes también administra las reglas de firewall, puedes otorgar roles/compute.networkAdmin y roles/compute.securityAdmin al grupo de Google del equipo de redes.

En las siguientes tablas, se describen las funciones predefinidas de IAM en Compute Engine, además de los permisos que contiene cada función. Cada función contiene un conjunto de permisos que es adecuado para una tarea específica. Por ejemplo, las primeras dos funciones otorgan permisos de administración de instancias, las funciones relacionadas con la red incluyen permisos de administración de los recursos relacionados con la red y la función de seguridad incluye permisos de administración de recursos relacionados con la seguridad, como firewalls y certificados SSL.

Función de administrador de Compute

Nombre Descripción Permisos
roles/
compute.admin

Control total de todos los recursos de Compute Engine.

Si el usuario administrará instancias de máquinas virtuales que están configuradas para ejecutarse como una cuenta de servicio, también debes otorgar la función roles/iam.serviceAccountUser.

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

Función de usuario de Imagen de Compute

Nombre Descripción Permisos
roles/
compute.imageUser

Permiso para mostrar y leer imágenes sin tener otros permisos en la imagen. Si les otorgas la función compute.imageUser a nivel del proyecto, los usuarios pueden generar listas de las imágenes del proyecto y crear recursos, como instancias y discos persistentes, según las imágenes del proyecto.

  • 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

Función de administrador de instancias de Compute (Beta)

Nombre Descripción Permisos
roles/
compute.instanceAdmin

Permisos para crear, modificar y borrar instancias de máquinas virtuales Esto incluye los permisos para crear, modificar y borrar discos, y también configurar los ajustes de una VM protegida BETA.

Si el usuario administrará instancias de máquinas virtuales que están configuradas para ejecutarse como una cuenta de servicio, también debes otorgar la función roles/iam.serviceAccountUser.

Por ejemplo, si tu empresa tiene una persona que administra grupos de instancias de máquinas virtuales, pero no administra la red, la configuración de seguridad ni las instancias que se ejecutan como cuentas de servicio, puedes otorgar esta función en la organización, carpeta o proyecto que contenga las instancias, o puedes otorgarla en instancias individuales.

  • 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

Función de administrador de instancias de Compute (v1)

Nombre Descripción Permisos
roles/
compute.instanceAdmin.v1
Control total de instancias de Compute Engine, grupos de instancias, discos, instantáneas y, también, imágenes. Acceso de lectura a todos los recursos de red de Compute Engine.

Si le otorgas a un usuario esta función solo a un nivel de instancia, ese usuario no podrá crear instancias nuevas.

  • 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

Función de administrador de balanceador de cargas de Compute

Nombre Descripción Permisos
roles/
compute.loadBalancerAdmin
Beta

Permisos para crear, modificar y borrar balanceadores de cargas y recursos asociados.

Por ejemplo, si tu empresa tiene un equipo de balanceo de cargas que administra balanceadores de cargas, certificados SSL para balanceadores de cargas, políticas SSL y otros recursos, y un equipo de red separado que administra el resto de los recursos de red, otorga la función loadBalancerAdmin al grupo del equipo de balanceo de cargas.

  • 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

Función de administrador de red de Compute

Nombre Descripción Permisos
roles/
compute.networkAdmin

Permisos para crear, modificar y borrar recursos de red, excepto reglas de firewall y certificados SSL La función de administrador de red permite el acceso de solo lectura a las reglas de firewall, certificados SSL y, también, instancias (para ver sus direcciones IP efímeras). La función de administrador de red no permite que un usuario cree, inicie, detenga ni borre instancias.

Por ejemplo, si tu empresa tiene un equipo de seguridad que administra firewalls y certificados SSL y un equipo de red que administra el resto de los recursos de red, otorga al grupo del equipo de red la función networkAdmin.

  • 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

Función de usuario de la red de Compute

Nombre Descripción Permisos
roles/
compute.networkUser

Proporciona acceso a una red de VPC compartida.

Una vez otorgado, los propietarios del servicio pueden usar redes y subredes de VPC que pertenecen al proyecto host. Por ejemplo, un usuario de la red puede crear una instancia de VM que pertenezca a una red de proyecto host, pero no puede borrar ni crear nuevas redes en este proyecto.

  • 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

Función de visualizador de red de Compute

Nombre Descripción Permisos
roles/
compute.networkViewer

Acceso de solo lectura a todos los recursos de red

Por ejemplo, si tienes un software que inspecciona tu configuración de red, podrías otorgar la función networkViewer a la cuenta de servicio de ese 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

Función de administrador de la Política de seguridad de Compute para la organización

Nombre Descripción Permisos
roles/
compute.orgSecurityPolicyAdmin
Beta
Control total de las políticas de seguridad de Compute Engine de la organización.
  • 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

Función de usuario de la Política de seguridad de Compute para la organización

Nombre Descripción Permisos
roles/
compute.orgSecurityPolicyUser
Beta
Consulta o usa las políticas de seguridad de Compute Engine para asociarlas con la organización o con las carpetas.
  • 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

Función de administrador de recursos de Compute en la organización

Nombre Descripción Permisos
roles/
compute.orgSecurityResourceAdmin
Beta
Control total de las asociaciones de la Política de seguridad de Compute Engine con la organización o con las carpetas.
  • 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

Función de acceso de administrador del SO de Compute

Nombre Descripción Permisos
roles/
compute.osAdminLogin

Acceso a una instancia de Compute Engine como un usuario 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

Función de acceso a SO de Compute

Nombre Descripción Permisos
roles/
compute.osLogin

Acceso a una instancia de Compute Engine como un usuario estándar

  • 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

Función de acceso de usuario externo a SO de Compute

Nombre Descripción Permisos
roles/
compute.osLoginExternalUser

Disponible solo a nivel de la organización.

Acceso para que un usuario externo configure la información de acceso al SO asociada con esta organización. Esta función no otorga acceso a instancias. A los usuarios externos se les debe otorgar una de las funciones de acceso al SO obligatorias para permitirles que accedan a instancias mediante SSH.

  • compute.oslogin.*

Función de administrador de duplicación de paquetes de Compute

Nombre Descripción Permisos
roles/
compute.packetMirroringAdmin
Alfa
Especifica los recursos para duplicar.
  • compute.networks.mirror
  • compute.projects.get
  • compute.subnetworks.mirror
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Función de usuario de duplicación de paquetes de Compute

Nombre Descripción Permisos
roles/
compute.packetMirroringUser
Alfa
Usa duplicaciones de paquetes de Compute Engine.
  • compute.packetMirrorings.*
  • compute.projects.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Función de administrador de seguridad de Compute

Nombre Descripción Permisos
roles/
compute.securityAdmin

Permisos para crear, modificar y borrar reglas de firewall y certificados SSL, y también configurar VM protegidas BETA

Por ejemplo, si tu empresa tiene un equipo de seguridad que administra firewalls y certificados SSL y un equipo de red que administra el resto de los recursos de red, otórgale al grupo del equipo de seguridad la función 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.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

Función de administrador de almacenamiento de Compute

Nombre Descripción Permisos
roles/
compute.storageAdmin

Permisos para crear, modificar y borrar discos, imágenes y, también, instantáneas.

Por ejemplo, si tu empresa tiene a una persona que administra las imágenes del proyecto y no quieres que tenga la función de editor en el proyecto, otórgale a su cuenta la función storageAdmin en el proyecto.

  • 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

Función de visualizador de Compute

Nombre Descripción Permisos
roles/
compute.viewer

Acceso de solo lectura para obtener y mostrar los recursos de Compute Engine sin poder leer los datos almacenados en ellos

Por ejemplo, una cuenta con esta función podría crear inventarios de todos los discos en un proyecto, pero no podría leer ninguno de los datos de esos discos.

  • 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

Función de administrador de VPC compartida de Compute

Nombre Descripción Permisos
roles/
compute.xpnAdmin

Permisos para administrar proyectos host de VPC compartidas, específicamente para habilitar los proyectos host y asociar proyectos de servicio de VPC compartida a la red del proyecto host

Solo un administrador puede otorgar esta función a nivel de la organización.

Google Cloud recomienda que el administrador de VPC compartida sea el propietario del proyecto host de VPC compartida. Este administrador es responsable de otorgar la función compute.networkUser a los propietarios de servicios, y el propietario del proyecto host VPC compartida controla el proyecto en sí. Administrar el proyecto es más fácil si una única cuenta principal (un individuo o un grupo) puede cumplir ambas funciones.

  • 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

Función de administrador de DNS

Nombre Descripción Permisos
roles/
dns.admin
Proporciona acceso de lectura y escritura a todos los recursos de 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

Función de par de DNS

Nombre Descripción Permisos
roles/
dns.peer
Beta
Acceso a las redes objetivo con zonas de intercambio de tráfico de DNS
  • dns.networks.targetWithPeeringZone

Función de lector de DNS

Nombre Descripción Permisos
roles/
dns.reader
Proporciona acceso de solo lectura a todos los recursos de 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

Función de administrador de cuenta de servicio

Nombre Descripción Permisos
roles/
iam.serviceAccountAdmin
Crea y administra cuentas de servicio.
  • 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

Función Crear cuentas de servicio

Nombre Descripción Permisos
roles/
iam.serviceAccountCreator
Acceso para crear cuentas de servicio.
  • iam.serviceAccounts.create
  • iam.serviceAccounts.get
  • iam.serviceAccounts.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Función Borrar cuentas de servicio

Nombre Descripción Permisos
roles/
iam.serviceAccountDeleter
Acceso para borrar cuentas de servicio.
  • iam.serviceAccounts.delete
  • iam.serviceAccounts.get
  • iam.serviceAccounts.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Función de administrador de clave de cuenta de servicio

Nombre Descripción Permisos
roles/
iam.serviceAccountKeyAdmin
Crea y administra (y rota) claves de cuenta de servicio.
  • iam.serviceAccountKeys.*
  • iam.serviceAccounts.get
  • iam.serviceAccounts.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Función de creador de tokens de cuenta de servicio

Nombre Descripción Permisos
roles/
iam.serviceAccountTokenCreator
Actúa en nombre de cuentas de servicio (crea tokens de acceso de OAuth2, firma BLOB o JWT, 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

Función del usuario de cuenta de servicio

Nombre Descripción Permisos
roles/
iam.serviceAccountUser
Ejecuta operaciones con la cuenta de servicio.
  • iam.serviceAccounts.actAs
  • iam.serviceAccounts.get
  • iam.serviceAccounts.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Función del usuario de Workload Identity

Nombre Descripción Permisos
roles/
iam.workloadIdentityUser
Actúa en nombre de cuentas de servicio desde cargas de trabajo de GKE
  • iam.serviceAccounts.get
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.list

La función serviceAccountUser

roles/iam.serviceAccountUser, cuando se otorga junto con roles/compute.instanceAdmin.v1, permite a los miembros crear y administrar instancias que usan una cuenta de servicio. En particular, otorgar las funciones roles/iam.serviceAccountUser y roles/compute.instanceAdmin.v1 juntas da a los miembros permiso para hacer lo siguiente:

  • Crear una instancia que se ejecute como una cuenta de servicio
  • Adjuntar un disco persistente a una instancia que se ejecuta como cuenta de servicio
  • Establecer metadatos de instancia en una instancia que se ejecuta como cuenta de servicio
  • Usar SSH para conectarse a una instancia que se ejecuta como cuenta de servicio
  • Volver a configurar una instancia para ejecutarla como una cuenta de servicio

Puedes otorgar roles/iam.serviceAccountUser de las siguientes maneras:

  • [Recomendada] Otorga la función a un miembro en una cuenta de servicio específica. Esto le da a un miembro acceso a la cuenta de servicio en la que tiene la función iam.serviceAccountUser, pero le impide el acceso a otras cuentas de servicio en las que no tiene la función iam.serviceAccountUser.

  • Otorga la función a un miembro en el nivel de proyecto. El miembro tiene acceso a todas las cuentas de servicio en el proyecto, incluidas las cuentas de servicio que se creen en el futuro.

Si no estás familiarizado con las cuentas de servicio, obtén más información sobre las cuentas de servicio.

Conéctate a una instancia como instanceAdmin

Después de que un miembro del proyecto recibe la función roles/compute.instanceAdmin.v1, puede conectarse a instancias de máquinas virtuales mediante las herramientas estándar de Google Cloud Platform, como la herramienta de gcloud o SSH desde el navegador.

Cuando un miembro use la herramienta de línea de comandos de gcloud o SSH desde el navegador, las herramientas generarán de forma automática un par de clave pública y clave privada, y agregarán la clave pública a los metadatos del proyecto. Si el miembro no tiene permisos para editar metadatos del proyecto, la herramienta agregará la clave pública del miembro a los metadatos de la instancia.

Si el miembro tiene un par de claves existente que quiere usar, puede agregar su clave pública a los metadatos de la instancia de forma manual. Obtén más información sobre cómo agregar y quitar Llaves SSH de una instancia.

IAM con cuentas de servicio

Crea nuevas cuentas de servicio personalizadas y otorga funciones de IAM a las cuentas de servicio para limitar el acceso de tus instancias. Usa las funciones de IAM con cuentas de servicio personalizadas para hacer lo siguiente:

  • Limitar el acceso que tienen tus instancias a las API de Cloud Platform mediante funciones de IAM detalladas
  • Dar una identidad exclusiva a cada instancia o conjunto de instancias
  • Limitar el acceso de tu cuenta de servicio predeterminada

Obtén más información sobre cuentas de servicio.

IAM y los grupos de instancias administrados

Los grupos de instancias administrados son recursos que realizan acciones en tu nombre sin interacción directa del usuario, en especial cuando se configuran para el ajuste de escala automático. Los grupos de instancias administrados usan una identidad de cuenta de servicio para crear, borrar y administrar instancias en el grupo de instancias. Para obtener más información, consulta la documentación de IAM y los grupos de instancias administrados.

Operaciones no admitidas

No puedes otorgar acceso para realizar actualizaciones progresivas en grupos de instancias que usan funciones de IAM.

Si deseas otorgar permiso para realizar estas operaciones, usa las funciones más amplias de propietario, editor o visualizador.

Pasos siguientes

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

Documentación de Compute Engine