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.
- Para configurar políticas de IAM a nivel de proyecto, consulta Otorga, cambia y revoca el acceso a los recursos en la documentación de IAM.
- Para establecer políticas en recursos de Compute Engine específicos, lee Otorga acceso a los recursos de Compute Engine.
- Para asignar funciones a una cuenta de servicio de Compute Engine, lee Crea y habilita cuentas de servicio para instancias.
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 solo otorgas 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:
Recomendada. 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 uniam.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 CLI de gcloud o una conexión SSH desde el navegador.
Cuando un miembro usa la CLI 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 claves SSH a 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 cuentas de servicio.
IAM y los grupos de instancias administrados
Los grupos de instancias administrados (MIG) son recursos que realizan acciones en tu nombre interactuar de forma directa con el usuario. Por ejemplo, el MIG puede agregar y quitar VM del grupo.
El agente de servicio de las API de Google del proyecto, que tiene todas las operaciones que realiza Compute Engine como parte del MIG, tiene una dirección de correo electrónico como la siguiente: PROJECT_ID@cloudservices.gserviceaccount.com
De forma predeterminada, el agente de servicio de las API de Google tiene el rol de editor (roles/editor
) a nivel de proyecto, que otorga privilegios suficientes para crear recursos en función de la configuración del MIG. Si personalizas el acceso para el agente de servicio de las API de Google, otorga el rol de administrador de instancias de Compute (v1) (roles/compute.instanceAdmin.v1
) y, de forma opcional, el rol de usuario de la cuenta de servicio (roles/iam.serviceAccountUser
). El rol de usuario de cuenta de servicio solo es necesario si el MIG crea VM que se puedan ejecutar como cuentas de servicio.
Ten en cuenta que otros procesos, incluido Deployment Manager, también usan el agente de servicios de las API de Google.
Cuando creas un MIG o actualizas su plantilla de instancias, Compute Engine valida que el agente de servicio de las API de Google tenga la siguiente función y permisos:
- Función de usuario de cuenta de servicio, que es importante si planeas crear instancias que puedan ejecutarse como cuenta de servicio
- Permisos para todos los recursos a los que se hace referencia en las plantillas de instancias, como imágenes, discos, redes de VPC y subredes
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
Título y nombre | Descripción | Permisos |
---|---|---|
Administrador de Compute ( roles/ ) |
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 el rol Recursos de nivel más bajo en los que puedes otorgar este rol:
|
|
Función de usuario de imagen de Compute
Título y nombre | Descripción | Permisos |
---|---|---|
Usuario de imagen de Compute ( roles/ ) |
Es el permiso para enumerar y leer imágenes sin tener otros permisos en la imagen. Si se otorga este rol a nivel de proyecto, se les permite a los usuarios enumerar todas las imágenes del proyecto y crear recursos basados en estas, como instancias y discos persistentes. Recursos de nivel más bajo en los que puedes otorgar este rol:
|
|
Función de administrador de instancias de Compute (Beta)
Título y nombre | Descripción | Permisos |
---|---|---|
Administrador de instancias de Compute (beta) ( roles/ ) |
Permisos para crear, modificar y borrar instancias de máquina virtual. Esto incluye los permisos para crear, modificar y borrar discos, y también configurar los ajustes de una VM protegida. Si el usuario administrará instancias de máquinas virtuales que están configuradas para ejecutarse como una cuenta de servicio, también debes otorgar el rol 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 este rol en la organización, carpeta o proyecto que contenga las instancias, o puedes otorgarla en instancias individuales. Recursos de nivel más bajo en los que puedes otorgar este rol:
|
|
Función de administrador de instancias de Compute (v1)
Título y nombre | Descripción | Permisos |
---|---|---|
Administrador de instancias de Compute (v1) ( roles/ ) |
Tiene control completo sobre instancias, grupos de instancias, instantáneas, imágenes y discos de Compute Engine. 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. |
|
Función de administrador de balanceador de cargas de Compute
Título y nombre | Descripción | Permisos |
---|---|---|
Administrador de balanceador de cargas de Compute ( roles/ )
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 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 este rol al grupo del equipo de balanceo de cargas. Recursos de nivel más bajo en los que puedes otorgar este rol:
|
|
Rol del usuario de servicios de balanceador de cargas de Compute
Título y nombre | Descripción | Permisos |
---|---|---|
Usuario de servicios del balanceador de cargas de Compute ( roles/ )
Beta |
Permisos para usar servicios de un balanceador de cargas en otros proyectos. |
|
Función de administrador de red de Compute
Título y nombre | Descripción | Permisos |
---|---|---|
Administrador de red de Compute ( roles/ ) |
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 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 este rol al grupo del equipo de herramientas de redes.
O bien, si tienes un equipo combinado que administra la seguridad y las herramientas de redes, otorga este rol, así como el rol
Recursos de nivel más bajo en los que puedes otorgar este rol:
|
|
Función de usuario de red de Compute
Título y nombre | Descripción | Permisos |
---|---|---|
Usuario de red de Compute ( roles/ ) |
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. Recursos de nivel más bajo en los que puedes otorgar este rol:
|
|
Función de visualizador de red de Compute
Título y nombre | Descripción | Permisos |
---|---|---|
Visualizador de la red de Compute ( roles/ ) |
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 este rol a la cuenta de servicio de ese software. Recursos de nivel más bajo en los que puedes otorgar este rol:
|
|
Rol de administrador de la Política de firewall de Compute para la organización
Título y nombre | Descripción | Permisos |
---|---|---|
Administrador de políticas de firewall de la organización de Compute ( roles/ )
|
Tiene control completo sobre las políticas de firewall de Compute Engine de la organización. |
|
Rol de usuario de la política de firewall de Compute para la organización
Título y nombre | Descripción | Permisos |
---|---|---|
Usuario de políticas de firewall de la organización de Compute ( roles/ )
|
Consulta o usa las políticas de firewall de Compute Engine para asociarlas con la organización o con las carpetas. |
|
Función de administrador de la política de seguridad de Compute en la organización
Título y nombre | Descripción | Permisos |
---|---|---|
Administrador de políticas de seguridad de Compute para la organización ( roles/ )
|
Control total de las Políticas de seguridad de Compute Engine de la organización. |
|
Función de usuario de la política de seguridad de Compute en la organización
Título y nombre | Descripción | Permisos |
---|---|---|
Usuario de políticas de seguridad de Compute para la organización ( roles/ )
|
Consulta o usa las políticas de seguridad de Compute Engine para asociarlas con la organización o con las carpetas. |
|
Función de administrador de recursos de Compute en la organización
Título y nombre | Descripción | Permisos |
---|---|---|
Administrador de recursos de Compute en la organización ( roles/ ) |
Tiene control completo sobre las asociaciones de la política de firewall de Compute Engine con la organización o con las carpetas. |
|
Función de acceso de administrador del SO de Compute
Título y nombre | Descripción | Permisos |
---|---|---|
Acceso de administrador al SO de Compute ( roles/ ) |
Acceso a una instancia de Compute Engine como un usuario administrador Recursos de nivel más bajo en los que puedes otorgar este rol:
|
|
Función de acceso a SO de Compute
Título y nombre | Descripción | Permisos |
---|---|---|
Acceso a SO de Compute ( roles/ ) |
Acceso a una instancia de Compute Engine como un usuario estándar Recursos de nivel más bajo en los que puedes otorgar este rol:
|
|
Función de acceso de usuario externo a SO de Compute
Título y nombre | Descripción | Permisos |
---|---|---|
Usuario externo del acceso al SO de Compute ( roles/ ) |
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. Recursos de nivel más bajo en los que puedes otorgar este rol:
|
|
Función de administrador de duplicación de paquetes de Compute
Título y nombre | Descripción | Permisos |
---|---|---|
Administrador de duplicación de paquetes de Compute ( roles/ ) |
Especifica los recursos para duplicar. |
|
Función de usuario de duplicación de paquetes de Compute
Título y nombre | Descripción | Permisos |
---|---|---|
Usuario de duplicación de paquetes de Compute ( roles/ ) |
Usa duplicaciones de paquetes de Compute Engine. |
|
Función de administrador de IP pública de Compute
Título y nombre | Descripción | Permisos |
---|---|---|
Administrador de IP públicas de Compute ( roles/ ) |
Control total de la administración de direcciones IP públicas para Compute Engine. |
|
Función de administrador de seguridad de Compute
Título y nombre | Descripción | Permisos |
---|---|---|
Administrador de seguridad de Compute ( roles/ ) |
Permisos para crear, modificar y borrar reglas de firewall y certificados SSL, y también configurar VM protegidas. 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 este rol al grupo del equipo de seguridad. Recursos de nivel más bajo en los que puedes otorgar este rol:
|
|
Rol de visualizador de usuario único de Compute
Título y nombre | Descripción | Permisos |
---|---|---|
Visualizador de usuario único de Compute ( roles/ )
Beta
|
Permisos para ver grupos de nodos de usuario único |
|
Función de administrador de almacenamiento de Compute
Título y nombre | Descripción | Permisos |
---|---|---|
Administrador de seguridad de Compute ( roles/ ) |
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 el rol de editor en el proyecto, debes otorgarle este rol a su cuenta en el proyecto. Recursos de nivel más bajo en los que puedes otorgar este rol:
|
|
Función de visualizador de Compute
Título y nombre | Descripción | Permisos |
---|---|---|
Visualizador de Compute ( roles/ ) |
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 este rol podría crear inventarios de todos los discos en un proyecto, pero no podría leer ninguno de los datos de esos discos. Recursos de nivel más bajo en los que puedes otorgar este rol:
|
|
Función de administrador de VPC compartida de Compute
Título y nombre | Descripción | Permisos |
---|---|---|
Administrador de VPC compartida de Compute ( roles/ ) |
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 ( Recursos de nivel más bajo en los que puedes otorgar este rol:
|
|
Función de administrador de GuestPolicy
Título y nombre | Descripción | Permisos |
---|---|---|
Administrador de GuestPolicy ( roles/ )
Beta |
Acceso completo de administrador a GuestPolicies |
|
Función de editor de GuestPolicy
Título y nombre | Descripción | Permisos |
---|---|---|
Editor de GuestPolicy ( roles/ )
Beta |
Editor de recursos de GuestPolicy |
|
Función de visualizador de GuestPolicy
Título y nombre | Descripción | Permisos |
---|---|---|
Visualizador de GuestPolicy ( roles/ )
Beta |
Visualizador de recursos de GuestPolicy |
|
Rol de visualizador de InstanceOSPoliciesCompliance
Título y nombre | Descripción | Permisos |
---|---|---|
Visualizador de InstanceOSPoliciesCompliance ( roles/ )
Beta |
Visualizador de cumplimiento de políticas de SO de las instancias de VM |
|
Rol de visualizador de inventario del SO
Título y nombre | Descripción | Permisos |
---|---|---|
Visualizador de inventarios de SO ( roles/ ) |
Visualizador de inventarios de SO |
|
Rol de administrador de OSPolicyAssignment
Título y nombre | Descripción | Permisos |
---|---|---|
Administrador de OSPolicyAssignment ( roles/ ) |
Tiene acceso completo de administrador a las asignaciones de políticas de SO |
|
Rol del editor de OSPolicyAssignment
Título y nombre | Descripción | Permisos |
---|---|---|
Editor de OSPolicyAssignment ( roles/ ) |
Editor de asignaciones de políticas de SO |
|
Rol de visualizador de OSPolicyAssignmentReport
Título y nombre | Descripción | Permisos |
---|---|---|
Visualizador de OSPolicyAssignmentReport ( roles/ ) |
Visualizador de informes de asignación de políticas de SO para instancias de VM |
|
Rol de visualizador de OSPolicyAssignment
Título y nombre | Descripción | Permisos |
---|---|---|
Visualizador de OSPolicyAssignment ( roles/ ) |
Visualizador de asignaciones de políticas del SO |
|
Función de administrador de PatchDeployment
Título y nombre | Descripción | Permisos |
---|---|---|
Administrador de PatchDeployment ( roles/ ) |
Acceso completo de administrador a PatchDeployments |
|
Función de visualizador de PatchDeployment
Título y nombre | Descripción | Permisos |
---|---|---|
Visualizador de PatchDeployment ( roles/ ) |
Visualizador de recursos de PatchDeployment |
|
Función de ejecutor de trabajos de aplicación de parches
Título y nombre | Descripción | Permisos |
---|---|---|
Ejecutor de trabajos de aplicación de parches ( roles/ ) |
Acceso para ejecutar trabajos de aplicación de parches |
|
Función de visualizador de trabajos de aplicación de parches
Título y nombre | Descripción | Permisos |
---|---|---|
Visualizador de trabajos de aplicación de parches ( roles/ ) |
Obtiene y enumera trabajos de aplicación de parches |
|
Rol de visualizador de VulnerabilityReport del SO
Título y nombre | Descripción | Permisos |
---|---|---|
Visualizador de VulnerabilityReport de SO ( roles/ ) |
Visualizador de informes de vulnerabilidades de SO |
|
Función de administrador de DNS
Título y nombre | Descripción | Permisos |
---|---|---|
Administrador de DNS ( roles/ ) |
Proporciona acceso de lectura y escritura a todos los recursos de Cloud DNS. Recursos de nivel más bajo en los que puedes otorgar este rol:
|
|
Función de par de DNS
Título y nombre | Descripción | Permisos |
---|---|---|
Par de DNS ( roles/ ) |
Acceso a las redes objetivo con zonas de intercambio de tráfico de DNS |
|
Función de lector de DNS
Título y nombre | Descripción | Permisos |
---|---|---|
Lector de DNS ( roles/ ) |
Proporciona acceso de solo lectura a todos los recursos de Cloud DNS. Recursos de nivel más bajo en los que puedes otorgar este rol:
|
|
Función de administrador de cuenta de servicio
Título y nombre | Descripción | Permisos |
---|---|---|
Administrador de cuenta de servicio ( roles/ ) |
Crea y administra cuentas de servicio.
Recursos de nivel más bajo en los que puedes otorgar esta función:
|
|
Función Crear cuentas de servicio
Título y nombre | Descripción | Permisos |
---|---|---|
Crea cuentas de servicio ( roles/ ) |
Acceso para crear cuentas de servicio |
|
Función Borrar cuentas de servicio
Título y nombre | Descripción | Permisos |
---|---|---|
Borrar cuentas de servicio ( roles/ ) |
Acceso para borrar cuentas de servicio |
|
Función de administrador de clave de cuenta de servicio
Título y nombre | Descripción | Permisos |
---|---|---|
Administrador de claves de cuentas de servicio ( roles/ ) |
Crea y administra (y rota) claves de cuenta de servicio.
Recursos de nivel más bajo en los que puedes otorgar esta función:
|
|
Función de creador de tokens de cuenta de servicio
Título y nombre | Descripción | Permisos |
---|---|---|
Creador de tokens de cuenta de servicio ( roles/ ) |
Actúa en nombre de cuentas de servicio (crear tokens de acceso de OAuth2, firmar BLOB o JWT, etc.).
Recursos de nivel más bajo en los que puedes otorgar esta función:
|
|
Función de usuario de cuenta de servicio
Título y nombre | Descripción | Permisos |
---|---|---|
Usuario de la cuenta de servicio ( roles/ ) |
Puede ejecutar operaciones como la cuenta de servicio.
Recursos de nivel más bajo en los que puedes otorgar esta función:
|
|
Ver rol de cuentas de servicio
Título y nombre | Descripción | Permisos |
---|---|---|
Ver cuentas de servicio ( roles/ ) |
Acceso de lectura a cuentas de servicio, metadatos y claves. |
|
Función del usuario de Workload Identity
Título y nombre | Descripción | Permisos |
---|---|---|
Usuario de Workload Identity ( roles/ ) |
Actúa en nombre de cuentas de servicio desde cargas de trabajo de GKE |
|
¿Qué sigue?
- Obtén más información sobre IAM.
- Obtén más información sobre cómo crear y administrar funciones de IAM personalizadas.
- Otorga funciones de IAM a los usuarios de un proyecto.
- Otorga funciones de IAM para recursos específicos de Compute Engine.
- Otorga funciones de IAM a cuentas de servicio.