Esta página describe cómo puedes ejercer el principio de privilegio mínimo al otorgar acceso a recursos específicos de Compute Engine en lugar de otorgar acceso a un recurso principal, como un proyecto, carpeta u organización.
Usted otorga acceso a un recurso estableciendo una política de administración de identidad y acceso (IAM) en el recurso. La política vincula a uno o más miembros, como un usuario o una cuenta de servicio, a uno o más roles . Cada rol contiene una lista de permisos que permiten al miembro interactuar con el recurso.
Si otorga acceso a un recurso principal (por ejemplo, a un proyecto), implícitamente otorga acceso a todos sus recursos secundarios (por ejemplo, a todas las máquinas virtuales de ese proyecto). Para limitar el acceso a los recursos, establezca políticas de IAM en recursos de nivel inferior cuando sea posible, en lugar de en el nivel de proyecto o superior.
Para obtener información general sobre cómo otorgar, cambiar y revocar acceso a recursos no relacionados con Compute Engine, por ejemplo, para otorgar acceso a un Google Cloud proyecto, consulte la documentación de IAM para Conceder, cambiar y revocar el acceso a recursos .
Antes de comenzar
- Revise la descripción general de IAM .
- Lee la descripción general del control de acceso de Compute Engine.
- Familiarícese con las funciones de IAM para Compute Engine .
- Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- Para otorgar o revocar el acceso a los recursos:
-
compute.projects.get
en el proyecto -
compute. RESOURCE_TYPE .get
en el recurso -
compute. RESOURCE_TYPE .getIamPolicy
en el recurso -
compute. RESOURCE_TYPE .setIamPolicy
en el recurso
-
- Para probar los permisos de la persona que llama:
compute. RESOURCE_TYPE .getIamPolicy
en el recursoReemplace RESOURCE_TYPE con el recurso al que desea administrar el acceso. Por ejemplo,
instances
,instanceTemplates
oimages
. - En la consola de Google Cloud, vaya a la página de recursos respectiva para la que desea agregar permisos.
- Para ver instancias, vaya a la página de instancias de VM .
- Para discos zonales y regionales, vaya a la página Discos .
- Para obtener instantáneas, vaya a la página Instantáneas .
- Para imágenes, vaya a la página Imágenes .
- Para plantillas de instancia, vaya a la página Plantillas de instancia .
- Para imágenes de máquinas, vaya a la página Imágenes de máquinas .
- Para reservas, vaya a la página de Reservas .
- Para nodos de único inquilino, vaya a la página Nodos de único inquilino .
- Seleccione las casillas de verificación junto a los recursos que desea actualizar.
- Complete los siguientes pasos según la página de recursos.
- Para instancias de VM, haga clic en Permisos .
- Para todos los demás recursos, complete lo siguiente:
- Compruebe si el panel de información está visible. Si no está visible, haga clic en Mostrar panel de información .
- Seleccione la pestaña Permisos .
- Haga clic en Agregar entidad principal .
- Agregue la identidad del principal y seleccione el rol requerido.
- Para guardar los cambios, haga clic en Guardar .
-
RESOURCE_TYPE
: el tipo de recurso. Los valores válidos incluyen:-
disks
-
images
-
instances
-
instance-templates
-
machine-images
-
reservations
-
sole-tenancy node-groups
-
sole-tenancy node-templates
-
snapshots
-
-
RESOURCE_NAME
: el nombre del recurso. Por ejemplo,my_instance
. -
PRINCIPAL
: una identidad válida para el principal al que desea otorgarle el rol. Debe tener el formatouser|group|serviceAccount: EMAIL_ADDRESS
odomain: DOMAIN_ADDRESS
. Por ejemplo:-
user:test-user@gmail.com
-
group:admins@example.com
-
serviceAccount:test123@example.domain.com
-
domain:example.domain.com
-
-
ROLE
: el rol para asignar a este director. Lea la política existente con el método
getIamPolicy
respectivo del recurso. Por ejemplo, la siguiente solicitud HTTP lee la política de IAM de una VM:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME:getIamPolicy
Reemplace lo siguiente:
-
PROJECT_ID
: el ID del proyecto al que pertenece esta VM. -
ZONE
: la zona de la VM. Para recursos regionales o globales, reemplacezones/ ZONE
conregions/ REGION
oglobal
. -
VM_NAME
: el nombre de la instancia de VM.
Compute Engine devuelve la política actual en la respuesta.
-
Edite la política con un editor de texto para agregar o eliminar directores y sus roles asociados. Por ejemplo, para otorgar la función
compute.admin
a email@example.com, agregue el siguiente enlace nuevo a la política:{ "members": [ "user:email@example.com" ], "role":"roles/compute.admin" }
Escriba la política actualizada con
setIamPolicy()
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME:setIamPolicy
Reemplace lo siguiente:
-
PROJECT_ID
: el ID del proyecto al que pertenece esta VM. -
ZONE
: la zona de la VM. Para recursos regionales o globales, reemplacezones/ ZONE
conregions/ REGION
oglobal
. -
VM_NAME
: el nombre de la instancia de VM.
En el cuerpo de la solicitud, proporcione la política de IAM actualizada del paso anterior.
-
- En la consola de Google Cloud, vaya a la página de recursos respectiva para la que desea agregar permisos.
- Para ver instancias, vaya a la página de instancias de VM .
- Para discos zonales y regionales, vaya a la página Discos .
- Para obtener instantáneas, vaya a la página Instantáneas .
- Para imágenes, vaya a la página Imágenes .
- Por ejemplo, grupos de instancias, vaya a la página Grupos de instancias .
- Para plantillas de instancia, vaya a la página Plantillas de instancia .
- Para imágenes de máquinas, vaya a la página Imágenes de máquinas .
- Para reservas, vaya a la página de Reservas .
- Para nodos de único inquilino, vaya a la página Nodos de único inquilino .
- Seleccione las casillas de verificación junto a los recursos que desea actualizar.
- Complete los siguientes pasos según la página de recursos.
- Para instancias de VM, haga clic en Permisos .
- Para todos los demás recursos, complete lo siguiente:
- Compruebe si el panel de información está visible. Si no está visible, haga clic en Mostrar panel de información .
- Seleccione la pestaña Permisos .
- Haga clic en la tarjeta de función de la que desea eliminar los directores. Esto expande la tarjeta y muestra los usuarios con ese rol para ese recurso.
- Para eliminar un director de esa función, haga clic en Eliminar .
-
RESOURCE_TYPE
: tipo de recurso. Los valores válidos incluyen:-
disks
-
images
-
instances
-
instance-templates
-
machine-images
-
reservations
-
sole-tenancy node-groups
-
sole-tenancy node-templates
-
snapshots
-
-
RESOURCE_NAME
: nombre del recurso. Por ejemplo,my_instance
. -
PRINCIPAL
: una identidad válida para el principal. Debe tener el formatouser|group|serviceAccount: EMAIL_ADDRESS
odomain: DOMAIN_ADDRESS
. Por ejemplo:-
user:test-user@gmail.com
-
group:admins@example.com
-
serviceAccount:test123@example.domain.com
-
domain:example.domain.com
-
-
ROLE
: rol del cual desea eliminar al principal. Lea la política existente con el método
getIamPolicy
respectivo del recurso. Por ejemplo, la siguiente solicitud HTTP lee la política de IAM de una VM:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME:getIamPolicy
Reemplace lo siguiente:
-
PROJECT_ID
: el ID del proyecto al que pertenece esta VM. -
ZONE
: la zona de la VM. Para recursos regionales o globales, reemplacezones/ ZONE
conregions/ REGION
oglobal
. -
VM_NAME
: el nombre de la instancia de VM.
Compute Engine devuelve la política actual en la respuesta.
-
Edite la política con un editor de texto para eliminar miembros de los roles asociados. Por ejemplo, elimine email@example.com de la función
compute.admin
:{ "members": [ "user:owner@example.com" ], "role":"roles/compute.admin" }
Escriba la política actualizada con
setIamPolicy()
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME:setIamPolicy
Reemplace lo siguiente:
-
PROJECT_ID
: el ID del proyecto al que pertenece esta VM. -
ZONE
: la zona de la VM. Para recursos regionales o globales, reemplacezones/ ZONE
conregions/ REGION
oglobal
. -
VM_NAME
: el nombre de la instancia de VM.
En el cuerpo de la solicitud, proporcione la política de IAM actualizada del paso anterior.
-
Envíe una solicitud al recurso e incluya en el cuerpo de la solicitud una lista de permisos para verificar.
Por ejemplo, en una instancia, puede verificar
compute.instances.start
,compute.instances.stop
ycompute.instances.delete
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/testIamPermissions { "permissions": [ "compute.instances.start", "compute.instances.stop", "compute.instances.delete" ] }
La solicitud devuelve los permisos habilitados para la persona que llama.
{ "permissions": [ "compute.instances.start", "compute.instances.stop" ] }
- Aprenda a administrar el acceso a imágenes personalizadas con IAM.
- Obtenga más información sobre las cuentas de servicio .
- Obtenga más información sobre las funciones de IAM de Compute Engine .
- Obtenga más información sobre los permisos que se incluyen en las funciones IAM predefinidas de Compute Engine .
- Aprenda a crear y administrar roles personalizados .
- Revise la descripción general de IAM .
- Lee la descripción general del control de acceso de Compute Engine.
- Familiarícese con las funciones de IAM para Compute Engine .
- Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- Para otorgar o revocar el acceso a los recursos:
-
compute.projects.get
en el proyecto -
compute. RESOURCE_TYPE .get
en el recurso -
compute. RESOURCE_TYPE .getIamPolicy
en el recurso -
compute. RESOURCE_TYPE .setIamPolicy
en el recurso
-
- Para probar los permisos de la persona que llama:
compute. RESOURCE_TYPE .getIamPolicy
en el recursoReemplace RESOURCE_TYPE con el recurso al que desea administrar el acceso. Por ejemplo,
instances
,instanceTemplates
oimages
. - En la consola de Google Cloud, vaya a la página de recursos respectiva para la que desea agregar permisos.
- Para ver instancias, vaya a la página de instancias de VM .
- Para discos zonales y regionales, vaya a la página Discos .
- Para obtener instantáneas, vaya a la página Instantáneas .
- Para imágenes, vaya a la página Imágenes .
- Para plantillas de instancia, vaya a la página Plantillas de instancia .
- Para imágenes de máquinas, vaya a la página Imágenes de máquinas .
- Para reservas, vaya a la página de Reservas .
- Para nodos de único inquilino, vaya a la página Nodos de único inquilino .
- Seleccione las casillas de verificación junto a los recursos que desea actualizar.
- Complete los siguientes pasos según la página de recursos.
- Para instancias de VM, haga clic en Permisos .
- Para todos los demás recursos, complete lo siguiente:
- Compruebe si el panel de información está visible. Si no está visible, haga clic en Mostrar panel de información .
- Seleccione la pestaña Permisos .
- Haga clic en Agregar entidad principal .
- Agregue la identidad del principal y seleccione el rol requerido.
- Para guardar los cambios, haga clic en Guardar .
-
RESOURCE_TYPE
: el tipo de recurso. Los valores válidos incluyen:-
disks
-
images
-
instances
-
instance-templates
-
machine-images
-
reservations
-
sole-tenancy node-groups
-
sole-tenancy node-templates
-
snapshots
-
-
RESOURCE_NAME
: el nombre del recurso. Por ejemplo,my_instance
. -
PRINCIPAL
: una identidad válida para el principal al que desea otorgarle el rol. Debe tener el formatouser|group|serviceAccount: EMAIL_ADDRESS
odomain: DOMAIN_ADDRESS
. Por ejemplo:-
user:test-user@gmail.com
-
group:admins@example.com
-
serviceAccount:test123@example.domain.com
-
domain:example.domain.com
-
-
ROLE
: el rol para asignar a este principal. Lea la política existente con el método
getIamPolicy
respectivo del recurso. Por ejemplo, la siguiente solicitud HTTP lee la política de IAM de una VM:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME:getIamPolicy
Reemplace lo siguiente:
-
PROJECT_ID
: el ID del proyecto al que pertenece esta VM. -
ZONE
: la zona de la VM. Para recursos regionales o globales, reemplacezones/ ZONE
conregions/ REGION
oglobal
. -
VM_NAME
: el nombre de la instancia de VM.
Compute Engine devuelve la política actual en la respuesta.
-
Edite la política con un editor de texto para agregar o eliminar directores y sus roles asociados. Por ejemplo, para otorgar la función
compute.admin
a email@example.com, agregue el siguiente enlace nuevo a la política:{ "members": [ "user:email@example.com" ], "role":"roles/compute.admin" }
Escriba la política actualizada con
setIamPolicy()
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME:setIamPolicy
Reemplace lo siguiente:
-
PROJECT_ID
: el ID del proyecto al que pertenece esta VM. -
ZONE
: la zona de la VM. Para recursos regionales o globales, reemplacezones/ ZONE
conregions/ REGION
oglobal
. -
VM_NAME
: el nombre de la instancia de VM.
En el cuerpo de la solicitud, proporcione la política de IAM actualizada del paso anterior.
-
- En la consola de Google Cloud, vaya a la página de recursos respectiva para la que desea agregar permisos.
- Para ver instancias, vaya a la página de instancias de VM .
- Para discos zonales y regionales, vaya a la página Discos .
- Para obtener instantáneas, vaya a la página Instantáneas .
- Para imágenes, vaya a la página Imágenes .
- Por ejemplo, grupos de instancias, vaya a la página Grupos de instancias .
- Para plantillas de instancia, vaya a la página Plantillas de instancia .
- Para imágenes de máquinas, vaya a la página Imágenes de máquinas .
- Para reservas, vaya a la página de Reservas .
- Para nodos de único inquilino, vaya a la página Nodos de único inquilino .
- Seleccione las casillas de verificación junto a los recursos que desea actualizar.
- Complete los siguientes pasos según la página de recursos.
- Para instancias de VM, haga clic en Permisos .
- Para todos los demás recursos, complete lo siguiente:
- Compruebe si el panel de información está visible. Si no está visible, haga clic en Mostrar panel de información .
- Seleccione la pestaña Permisos .
- Haga clic en la tarjeta de función de la que desea eliminar los directores. Esto expande la tarjeta y muestra los usuarios con ese rol para ese recurso.
- Para eliminar un director de esa función, haga clic en Eliminar .
-
RESOURCE_TYPE
: tipo de recurso. Los valores válidos incluyen:-
disks
-
images
-
instances
-
instance-templates
-
machine-images
-
reservations
-
sole-tenancy node-groups
-
sole-tenancy node-templates
-
snapshots
-
-
RESOURCE_NAME
: nombre del recurso. Por ejemplo,my_instance
. -
PRINCIPAL
: una identidad válida para el principal. Debe tener el formatouser|group|serviceAccount: EMAIL_ADDRESS
odomain: DOMAIN_ADDRESS
. Por ejemplo:-
user:test-user@gmail.com
-
group:admins@example.com
-
serviceAccount:test123@example.domain.com
-
domain:example.domain.com
-
-
ROLE
: rol del cual desea eliminar al principal. Lea la política existente con el método
getIamPolicy
respectivo del recurso. Por ejemplo, la siguiente solicitud HTTP lee la política de IAM de una VM:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME:getIamPolicy
Reemplace lo siguiente:
-
PROJECT_ID
: el ID del proyecto al que pertenece esta VM. -
ZONE
: la zona de la VM. Para recursos regionales o globales, reemplacezones/ ZONE
conregions/ REGION
oglobal
. -
VM_NAME
: el nombre de la instancia de VM.
Compute Engine devuelve la política actual en la respuesta.
-
Edite la política con un editor de texto para eliminar miembros de los roles asociados. Por ejemplo, elimine email@example.com de la función
compute.admin
:{ "members": [ "user:owner@example.com" ], "role":"roles/compute.admin" }
Escriba la política actualizada con
setIamPolicy()
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME:setIamPolicy
Reemplace lo siguiente:
-
PROJECT_ID
: el ID del proyecto al que pertenece esta VM. -
ZONE
: la zona de la VM. Para recursos regionales o globales, reemplacezones/ ZONE
conregions/ REGION
oglobal
. -
VM_NAME
: el nombre de la instancia de VM.
En el cuerpo de la solicitud, proporcione la política de IAM actualizada del paso anterior.
-
Envíe una solicitud al recurso e incluya en el cuerpo de la solicitud una lista de permisos para verificar.
Por ejemplo, en una instancia, puede verificar
compute.instances.start
,compute.instances.stop
ycompute.instances.delete
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/testIamPermissions { "permissions": [ "compute.instances.start", "compute.instances.stop", "compute.instances.delete" ] }
La solicitud devuelve los permisos habilitados para la persona que llama.
{ "permissions": [ "compute.instances.start", "compute.instances.stop" ] }
- Aprenda a administrar el acceso a imágenes personalizadas con IAM.
- Obtenga más información sobre las cuentas de servicio .
- Obtenga más información sobre las funciones de IAM de Compute Engine .
- Obtenga más información sobre los permisos que se incluyen en las funciones IAM predefinidas de Compute Engine .
- Aprenda a crear y administrar roles personalizados .
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .
Roles requeridos
Para obtener los permisos que necesita para administrar el acceso a los recursos de Compute Engine, solicite a su administrador que le otorgue la función de IAM de Administrador de Compute (
roles/compute.admin
) en el recurso. Para obtener más información sobre cómo otorgar roles, consulte Administrar el acceso a proyectos, carpetas y organizaciones .Esta función predefinida contiene los permisos necesarios para administrar el acceso a los recursos de Compute Engine. Para ver los permisos exactos que se requieren, expanda la sección Permisos requeridos :
Permisos requeridos
Se requieren los siguientes permisos para administrar el acceso a los recursos de Compute Engine:
Es posible que también pueda obtener estos permisos con roles personalizados u otros roles predefinidos .
Recursos soportados
Para ver una lista de recursos de Compute Engine que admiten el control de acceso a nivel de recursos, consulte Tipos de recursos que aceptan políticas de IAM y filtros para Compute Engine .
Para otros recursos de Compute Engine que no admiten el control de acceso a nivel de recursos, debes administrar el acceso a esos recursos en los niveles de proyecto, carpeta u organización. Para obtener información sobre organizaciones, carpetas o proyectos, consulte Jerarquía de recursos .
Conceder acceso a los recursos de Compute Engine
Una entidad principal , como una cuenta de usuario o de servicio, puede acceder a los recursos de Compute Engine. Una identidad es una propiedad de un principal. La identidad de un principal suele estar representada por una dirección de correo electrónico asociada a la cuenta.
Antes de otorgar una función de IAM a una entidad principal para un recurso, verifique qué funciones están disponibles para otorgarse en un recurso en particular. Para obtener más información, consulte Ver las funciones que se pueden otorgar en los recursos .
Para otorgar permiso para acceder a recursos específicos de Compute Engine, establezca una política de IAM en el recurso.
Consola
nube de gcloud
Para otorgar una función a una entidad principal en un recurso, use el subcomando
add-iam-policy-binding
de ese recurso con los indicadores--member
y--role
.gcloud compute RESOURCE_TYPE add-iam-policy-binding RESOURCE_NAME \ --member='PRINCIPAL' \ --role='ROLE'
Reemplace lo siguiente:
Si otorgas acceso a un recurso que está en versión preliminar, usa un comando
gcloud beta compute
en su lugar.DESCANSAR
Para modificar una política de IAM a través de la API, haga lo siguiente:
Revocar el acceso a los recursos
Como práctica recomendada, una vez que las entidades principales ya no necesiten acceso a sus recursos de Compute Engine, revoque su acceso.
Consola
nube de gcloud
Para eliminar una función de una entidad principal para un recurso, use el subcomando
remove-iam-policy-binding
del recurso con los indicadores--member
y--role
.gcloud compute RESOURCE_TYPE remove-iam-policy-binding RESOURCE_NAME \ --member='MEMBER' \ --role='ROLE'
Reemplace lo siguiente:
Si estás revocando el acceso a un recurso que está en versión preliminar, usa un comando
gcloud beta compute
en su lugar.DESCANSAR
Para modificar una política de IAM directamente a través de la API, haga lo siguiente:
Probar si una persona que llama tiene permisos
Si no sabe qué permisos tiene una identidad, utilice el método API
testIamPermissions
para comprobar qué permisos están disponibles para una identidad.El método toma una URL de recurso y un conjunto de permisos como parámetros de entrada y devuelve el conjunto de permisos que tiene permitido el autor de la llamada. Puede utilizar este método en cualquiera de los recursos admitidos .
Normalmente,
testIamPermissions
está diseñado para la integración con su software propietario, como una interfaz gráfica de usuario personalizada. Normalmente no llamastestIamPermissions
si estás usando Google Clouddirectamente para gestionar los permisos.Por ejemplo, si estás creando una GUI sobre la API de Compute Engine y tu GUI tiene un botón de "inicio" que inicia una instancia, puedes llamar a
compute.instances.testIamPermissions()
para determinar si el botón debe estar habilitado o deshabilitado.Para probar si una persona que llama tiene permisos específicos en un recurso:
Modificar el acceso a recursos para varios miembros
Si desea modificar el acceso a los recursos de Compute Engine para varios miembros simultáneamente, revise las recomendaciones sobre cómo modificar una política de IAM mediante programación .
¿Qué sigue?
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-04-17 (UTC).
-
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .
Roles requeridos
Para obtener los permisos que necesita para administrar el acceso a los recursos de Compute Engine, solicite a su administrador que le otorgue la función de IAM de Administrador de Compute (
roles/compute.admin
) en el recurso. Para obtener más información sobre cómo otorgar roles, consulte Administrar el acceso a proyectos, carpetas y organizaciones .Esta función predefinida contiene los permisos necesarios para administrar el acceso a los recursos de Compute Engine. Para ver los permisos exactos que se requieren, expanda la sección Permisos requeridos :
Permisos requeridos
Se requieren los siguientes permisos para administrar el acceso a los recursos de Compute Engine:
Es posible que también pueda obtener estos permisos con roles personalizados u otros roles predefinidos .
Recursos soportados
Para ver una lista de recursos de Compute Engine que admiten el control de acceso a nivel de recursos, consulte Tipos de recursos que aceptan políticas de IAM y filtros para Compute Engine .
Para otros recursos de Compute Engine que no admiten el control de acceso a nivel de recursos, debes administrar el acceso a esos recursos en los niveles de proyecto, carpeta u organización. Para obtener información sobre organizaciones, carpetas o proyectos, consulte Jerarquía de recursos .
Conceder acceso a los recursos de Compute Engine
Una entidad principal , como una cuenta de usuario o de servicio, puede acceder a los recursos de Compute Engine. Una identidad es una propiedad de un principal. La identidad de un principal suele estar representada por una dirección de correo electrónico asociada a la cuenta.
Antes de otorgar una función de IAM a una entidad principal para un recurso, verifique qué funciones están disponibles para otorgarse en un recurso en particular. Para obtener más información, consulte Ver las funciones que se pueden otorgar en los recursos .
Para otorgar permiso para acceder a recursos específicos de Compute Engine, establezca una política de IAM en el recurso.
Consola
nube de gcloud
Para otorgar una función a una entidad principal en un recurso, use el subcomando
add-iam-policy-binding
de ese recurso con los indicadores--member
y--role
.gcloud compute RESOURCE_TYPE add-iam-policy-binding RESOURCE_NAME \ --member='PRINCIPAL' \ --role='ROLE'
Reemplace lo siguiente:
Si otorgas acceso a un recurso que está en versión preliminar, usa un comando
gcloud beta compute
en su lugar.DESCANSAR
Para modificar una política de IAM a través de la API, haga lo siguiente:
Revocar el acceso a los recursos
Como práctica recomendada, una vez que las entidades principales ya no necesiten acceso a sus recursos de Compute Engine, revoque su acceso.
Consola
nube de gcloud
Para eliminar una función de una entidad principal para un recurso, use el subcomando
remove-iam-policy-binding
del recurso con los indicadores--member
y--role
.gcloud compute RESOURCE_TYPE remove-iam-policy-binding RESOURCE_NAME \ --member='MEMBER' \ --role='ROLE'
Reemplace lo siguiente:
Si estás revocando el acceso a un recurso que está en versión preliminar, usa un comando
gcloud beta compute
en su lugar.DESCANSAR
Para modificar una política de IAM directamente a través de la API, haga lo siguiente:
Probar si una persona que llama tiene permisos
Si no sabe qué permisos tiene una identidad, utilice el método API
testIamPermissions
para comprobar qué permisos están disponibles para una identidad.El método toma una URL de recurso y un conjunto de permisos como parámetros de entrada y devuelve el conjunto de permisos que tiene permitido el autor de la llamada. Puede utilizar este método en cualquiera de los recursos admitidos .
Normalmente,
testIamPermissions
está diseñado para la integración con su software propietario, como una interfaz gráfica de usuario personalizada. Normalmente no llamastestIamPermissions
si estás usando Google Clouddirectamente para gestionar los permisos.Por ejemplo, si estás creando una GUI sobre la API de Compute Engine y tu GUI tiene un botón de "inicio" que inicia una instancia, puedes llamar a
compute.instances.testIamPermissions()
para determinar si el botón debe estar habilitado o deshabilitado.Para probar si una persona que llama tiene permisos específicos en un recurso:
Modificar el acceso a recursos para varios miembros
Si desea modificar el acceso a los recursos de Compute Engine para varios miembros simultáneamente, revise las recomendaciones sobre cómo modificar una política de IAM mediante programación .
¿Qué sigue?
Esta página describe cómo puedes ejercer el principio de privilegio mínimo al otorgar acceso a recursos específicos de Compute Engine en lugar de otorgar acceso a un recurso principal, como un proyecto, carpeta u organización.
Usted otorga acceso a un recurso estableciendo una política de administración de identidad y acceso (IAM) en el recurso. La política vincula a uno o más miembros, como un usuario o una cuenta de servicio, a uno o más roles . Cada rol contiene una lista de permisos que permiten al miembro interactuar con el recurso.
Si otorga acceso a un recurso principal (por ejemplo, a un proyecto), implícitamente otorga acceso a todos sus recursos secundarios (por ejemplo, a todas las máquinas virtuales de ese proyecto). Para limitar el acceso a los recursos, establezca políticas de IAM en recursos de nivel inferior cuando sea posible, en lugar de en el nivel de proyecto o superior.
Para obtener información general sobre cómo otorgar, cambiar y revocar acceso a recursos no relacionados con Compute Engine, por ejemplo, para otorgar acceso a un Google Cloud proyecto, consulte la documentación de IAM para Conceder, cambiar y revocar el acceso a recursos .
Antes de comenzar
-