Funciones y permisos de IAM de Compute Engine

Cuando agregas un miembro nuevo a tu proyecto, puedes usar una política de administración de identidades y accesos (IAM) para darle 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.

Compute Engine tiene un conjunto de funciones de IAM predefinidas que se describen en esta página. También puedes crear funciones personalizadas que contengan subconjuntos de permisos que se correspondan directamente con tus necesidades.

A fin de saber qué permisos son necesarios para cada método, consulta la documentación de referencia de la API de Compute Engine:

Para obtener información sobre cómo otorgar acceso, consulta las siguientes páginas.

Antes de comenzar

  • Lee la documentación de IAM.

¿Qué es IAM?

Google Cloud ofrece IAM, que te permite otorgar acceso detallado a recursos específicos de Google Cloud y evita el acceso no deseado a otros recursos. IAM te permite adoptar el principio de seguridad de menor privilegio, de manera que puedes otorgar solo el acceso necesario a tus recursos.

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

La función serviceAccountUser

Cuando se otorga junto con roles/compute.instanceAdmin.v1, roles/iam.serviceAccountUser brinda a los miembros la capacidad de crear y administrar instancias que usan una cuenta de servicio. En particular, si otorgas roles/iam.serviceAccountUser y roles/compute.instanceAdmin.v1 juntos, los miembros reciben 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 formas:

  • Recomendación. Otorga la función a un miembro en una cuenta de servicio específica. Esto le da acceso a un miembro a la cuenta de servicio para la cual es un iam.serviceAccountUser, pero evita el acceso a otras cuentas de servicio para las cuales el miembro no es un 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.

Permiso de Google Cloud Console

Para usar Google Cloud Console a fin de acceder a los recursos de Compute Engine, debes tener una función que contenga los permisos siguientes en el proyecto:

compute.projects.get

Conéctate a una instancia como instanceAdmin

Después de otorgar la función roles/compute.instanceAdmin.v1 a un miembro del proyecto, este puede conectarse a instancias de máquina virtual (VM) mediante herramientas estándar de Google Cloud, como la herramienta de gcloud o una conexión SSH desde el navegador.

Cuando un miembro usa la herramienta de gcloud o una conexión SSH desde el navegador, las herramientas generan automáticamente un par de clave pública/privada y agregan la clave pública a los metadatos del proyecto. Si el miembro no tiene permisos para editar los metadatos del proyecto, la herramienta agrega 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 o quitar Llaves SSH de una instancia.

IAM con cuentas de servicio

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

  • Limitar el acceso de tus instancias a las API de Google Cloud 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 las 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.

Funciones predefinidas de IAM en Compute Engine

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

Además de las funciones básicas (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 funciones de administrador de instancias otorgan permisos para administrar instancias, las funciones relacionadas con la red incluyen permisos para administrar recursos relacionados con la red, y la función de seguridad incluye permisos para administrar 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

Es el permiso para enumerar y leer imágenes sin tener otros permisos en la imagen. Otorgar esta función a nivel de proyecto permite a los usuarios enumerar todas las imágenes del proyecto y crear recursos, como instancias y discos persistentes, en función de 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 configuración de seguridad o de red 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, instantáneas, imágenes y discos. 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.regionHealthCheckServices.get
  • compute.regionHealthCheckServices.list
  • compute.regionNotificationEndpoints.get
  • compute.regionNotificationEndpoints.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.loadBalancerAdminBeta

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 de balanceo de cargas y, además, tiene un equipo independiente de herramientas de redes que administra el resto de los recursos de herramientas de redes, debes otorgar esta función 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.regionHealthCheckServices.*
  • compute.regionNotificationEndpoints.*
  • 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 herramientas de redes, 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 o borre instancias.

Por ejemplo, si tu empresa tiene un equipo de seguridad que administra firewalls y certificados SSL y, además, tiene un equipo de herramientas de redes que administra el resto de los recursos de herramientas de redes, debes otorgar esta función al grupo del equipo de herramientas de redes.

  • compute.acceleratorTypes.*
  • 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.globalPublicDelegatedPrefixes.delete
  • compute.globalPublicDelegatedPrefixes.get
  • compute.globalPublicDelegatedPrefixes.list
  • compute.globalPublicDelegatedPrefixes.update
  • compute.globalPublicDelegatedPrefixes.updatePolicy
  • 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.getScreenshot
  • compute.instances.getSerialPortOutput
  • compute.instances.list
  • compute.instances.listReferrers
  • compute.instances.use
  • compute.interconnectAttachments.*
  • compute.interconnectLocations.*
  • compute.interconnects.*
  • compute.machineTypes.*
  • compute.networkEndpointGroups.get
  • compute.networkEndpointGroups.list
  • compute.networkEndpointGroups.use
  • compute.networks.*
  • compute.projects.get
  • compute.publicDelegatedPrefixes.delete
  • compute.publicDelegatedPrefixes.get
  • compute.publicDelegatedPrefixes.list
  • compute.publicDelegatedPrefixes.update
  • compute.publicDelegatedPrefixes.updatePolicy
  • compute.regionBackendServices.*
  • compute.regionHealthCheckServices.*
  • compute.regionNotificationEndpoints.*
  • 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.*
  • networksecurity.*
  • networkservices.*
  • 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 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.access
  • compute.networks.get
  • compute.networks.getEffectiveFirewalls
  • compute.networks.list
  • compute.networks.listPeeringRoutes
  • 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.*
  • networksecurity.authorizationPolicies.get
  • networksecurity.authorizationPolicies.list
  • networksecurity.authorizationPolicies.use
  • networksecurity.clientTlsPolicies.get
  • networksecurity.clientTlsPolicies.list
  • networksecurity.clientTlsPolicies.use
  • networksecurity.locations.*
  • networksecurity.operations.get
  • networksecurity.operations.list
  • networksecurity.serverTlsPolicies.get
  • networksecurity.serverTlsPolicies.list
  • networksecurity.serverTlsPolicies.use
  • networkservices.endpointConfigSelectors.get
  • networkservices.endpointConfigSelectors.list
  • networkservices.endpointConfigSelectors.use
  • networkservices.httpFilters.get
  • networkservices.httpFilters.list
  • networkservices.httpFilters.use
  • networkservices.httpfilters.get
  • networkservices.httpfilters.list
  • networkservices.httpfilters.use
  • networkservices.locations.*
  • networkservices.operations.get
  • networkservices.operations.list
  • 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 la configuración de red, puedes otorgar esta función a la cuenta de servicio de ese software.

  • 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.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.getScreenshot
  • compute.instances.getSerialPortOutput
  • compute.instances.list
  • compute.instances.listReferrers
  • compute.interconnectAttachments.get
  • compute.interconnectAttachments.list
  • compute.interconnectLocations.*
  • compute.interconnects.get
  • compute.interconnects.list
  • compute.machineTypes.*
  • compute.networks.get
  • compute.networks.getEffectiveFirewalls
  • compute.networks.list
  • compute.networks.listPeeringRoutes
  • compute.projects.get
  • compute.regionBackendServices.get
  • compute.regionBackendServices.list
  • compute.regionHealthCheckServices.get
  • compute.regionHealthCheckServices.list
  • compute.regionNotificationEndpoints.get
  • compute.regionNotificationEndpoints.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.*
  • networksecurity.authorizationPolicies.get
  • networksecurity.authorizationPolicies.list
  • networksecurity.clientTlsPolicies.get
  • networksecurity.clientTlsPolicies.list
  • networksecurity.locations.*
  • networksecurity.operations.get
  • networksecurity.operations.list
  • networksecurity.serverTlsPolicies.get
  • networksecurity.serverTlsPolicies.list
  • networkservices.endpointConfigSelectors.get
  • networkservices.endpointConfigSelectors.list
  • networkservices.httpFilters.get
  • networkservices.httpFilters.list
  • networkservices.httpfilters.get
  • networkservices.httpfilters.list
  • networkservices.locations.*
  • networkservices.operations.get
  • networkservices.operations.list
  • 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 en la organización

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

Nombre Descripción Permisos
roles/compute.orgSecurityPolicyUserBeta 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.addAssociation
  • compute.securityPolicies.get
  • compute.securityPolicies.list
  • compute.securityPolicies.removeAssociation
  • 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.orgSecurityResourceAdminBeta 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.organizations.listAssociations
  • compute.organizations.setSecurityPolicy
  • 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 Permiso para acceder 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 al SO de Compute

Nombre Descripción Permisos
roles/compute.osLogin Permiso para acceder 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 al 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 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 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 IP pública de Compute

Nombre Descripción Permisos
roles/compute.publicIpAdminBeta Control total de la administración de direcciones IP públicas para Compute Engine.
  • compute.addresses.*
  • compute.globalAddresses.*
  • compute.globalPublicDelegatedPrefixes.*
  • compute.publicAdvertisedPrefixes.*
  • compute.publicDelegatedPrefixes.*
  • resourcemanager.projects.get
  • resourcemanager.projects.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, además, un equipo de herramientas de redes que administra el resto de los recursos de herramientas de redes, debes otorgar esta función al grupo del equipo de seguridad.

  • compute.firewalls.*
  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.instances.getEffectiveFirewalls
  • compute.instances.setShieldedInstanceIntegrityPolicy
  • compute.instances.setShieldedVmIntegrityPolicy
  • compute.instances.updateShieldedInstanceConfig
  • compute.instances.updateShieldedVmConfig
  • compute.networks.get
  • compute.networks.getEffectiveFirewalls
  • 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 imágenes, instantáneas y discos.

Por ejemplo, si en tu empresa hay una persona que administra las imágenes del proyecto y no quieres que tenga la función de editor en el proyecto, debes otorgarle esta función a su cuenta 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.globalPublicDelegatedPrefixes.get
  • compute.globalPublicDelegatedPrefixes.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.getEffectiveFirewalls
  • compute.instances.getGuestAttributes
  • compute.instances.getIamPolicy
  • compute.instances.getScreenshot
  • 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.getEffectiveFirewalls
  • compute.networks.list
  • compute.networks.listPeeringRoutes
  • compute.nodeGroups.get
  • compute.nodeGroups.getIamPolicy
  • compute.nodeGroups.list
  • compute.nodeTemplates.get
  • compute.nodeTemplates.getIamPolicy
  • compute.nodeTemplates.list
  • compute.nodeTypes.*
  • compute.organizations.listAssociations
  • compute.projects.get
  • compute.publicAdvertisedPrefixes.get
  • compute.publicAdvertisedPrefixes.list
  • compute.publicDelegatedPrefixes.get
  • compute.publicDelegatedPrefixes.list
  • compute.regionBackendServices.get
  • compute.regionBackendServices.list
  • compute.regionHealthCheckServices.get
  • compute.regionHealthCheckServices.list
  • compute.regionNotificationEndpoints.get
  • compute.regionNotificationEndpoints.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 compartida, que permiten habilitar específicamente los proyectos host y asociar proyectos de servicio de VPC compartida a la red del proyecto host.

Al nivel de la organización, solo un administrador de la organización puede otorgar esta función.

Google Cloud recomienda que el administrador de VPC compartida sea el propietario del proyecto host de VPC compartida. El administrador de VPC compartida es el responsable de otorgar la función del usuario de red de Compute (roles/compute.networkUser) a los propietarios del servicio. Por otro lado, el propietario del proyecto host de VPC compartida controla el proyecto en sí. Administrar el proyecto es más fácil si una única cuenta principal (individual o grupal) puede cumplir ambas funciones.

  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.organizations.administerXpn
  • compute.organizations.disableXpnHost
  • compute.organizations.disableXpnResource
  • compute.organizations.enableXpnHost
  • compute.organizations.enableXpnResource
  • 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 tareas

Nombre Descripción Permisos
roles/osconfig.assignmentAdmin Acceso completo de administrador a las tareas.
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Función de editor de tareas

Nombre Descripción Permisos
roles/osconfig.assignmentEditor Editor de recursos de tareas
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Función de visualizador de tareas

Nombre Descripción Permisos
roles/osconfig.assignmentViewer Visualizador de recursos de tareas
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Función de administrador de GuestPolicy

Nombre Descripción Permisos
roles/osconfig.guestPolicyAdminBeta Acceso completo de administrador a GuestPolicies.
  • osconfig.guestPolicies.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Función de editor de GuestPolicy

Nombre Descripción Permisos
roles/osconfig.guestPolicyEditorBeta Editor de recursos de GuestPolicy.
  • osconfig.guestPolicies.get
  • osconfig.guestPolicies.list
  • osconfig.guestPolicies.update
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Función de visualizador de GuestPolicy

Nombre Descripción Permisos
roles/osconfig.guestPolicyViewerBeta Visualizador de recursos de GuestPolicy.
  • osconfig.guestPolicies.get
  • osconfig.guestPolicies.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Función de administrador de OsConfig

Nombre Descripción Permisos
roles/osconfig.osConfigAdmin Acceso completo de administrador a OsConfigs.
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Función de editor de OsConfig

Nombre Descripción Permisos
roles/osconfig.osConfigEditor Editor de recursos de OsConfig
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Función de visualizador de OsConfig

Nombre Descripción Permisos
roles/osconfig.osConfigViewer Visualizador de recursos de OsConfig
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Función de administrador de PatchDeployment

Nombre Descripción Permisos
roles/osconfig.patchDeploymentAdmin Acceso completo de administrador a PatchDeployments.
  • osconfig.patchDeployments.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Función de visualizador de PatchDeployment

Nombre Descripción Permisos
roles/osconfig.patchDeploymentViewer Visualizador de recursos de PatchDeployment
  • osconfig.patchDeployments.get
  • osconfig.patchDeployments.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Función de ejecutor de trabajos de aplicación de parches

Nombre Descripción Permisos
roles/osconfig.patchJobExecutor Acceso para ejecutar trabajos de aplicación de parches.
  • osconfig.patchJobs.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Función de visualizador de trabajos de aplicación de parches

Nombre Descripción Permisos
roles/osconfig.patchJobViewer Obtiene y enumera trabajos de aplicación de parches.
  • osconfig.patchJobs.get
  • osconfig.patchJobs.list
  • resourcemanager.projects.get
  • 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 intercambio de tráfico de DNS

Nombre Descripción Permisos
roles/dns.peer 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.disable
  • iam.serviceAccounts.enable
  • iam.serviceAccounts.get
  • iam.serviceAccounts.getIamPolicy
  • iam.serviceAccounts.list
  • iam.serviceAccounts.setIamPolicy
  • iam.serviceAccounts.undelete
  • iam.serviceAccounts.update
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Función de creación de 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 de eliminación de 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 (crear tokens de acceso de OAuth2, firma BLOB o JWT, etc.).
  • iam.serviceAccounts.get
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.getOpenIdToken
  • iam.serviceAccounts.implicitDelegation
  • iam.serviceAccounts.list
  • iam.serviceAccounts.signBlob
  • iam.serviceAccounts.signJwt
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Función de 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.getOpenIdToken
  • iam.serviceAccounts.list

Próximos pasos