Antes de asignar un rol de Gestión de Identidades y Accesos (IAM) a un usuario para un recurso, puede que quieras saber qué roles se pueden asignar a un recurso concreto.
Antes de empezar
Enable the IAM API.
Configura la autenticación.
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
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
C#
Para usar las .NET muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación. Google Cloud
C++
Para usar las C++ muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación. Google Cloud
Go
Para usar las Go muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación. Google Cloud
Java
Para usar las Java muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación. Google Cloud
Python
Para usar las Python muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Configurar ADC en un entorno de desarrollo local en la documentación de autenticación. Google Cloud
REST
Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Para obtener más información, consulta el artículo Autenticación para usar REST de la documentación sobre autenticación de Google Cloud .
Roles obligatorios
Para obtener los permisos que necesitas para enumerar los roles que se pueden conceder, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Revisor de seguridad (
Este rol contiene los permisosroles/iam.securityReviewer
) en el recurso para el que quieras enumerar los roles que se pueden conceder. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.getIamPolicy
de todos los tipos de recursos. Para enumerar los roles que se pueden conceder, necesitas el permisogetIamPolicy
para el recurso del que quieras enumerar los roles que se pueden conceder. Por ejemplo, para enumerar los roles que se pueden conceder de un proyecto, necesitas el permisoresourcemanager.projects.getIamPolicy
.También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Información sobre los roles que se pueden conceder
Un rol se puede conceder en un recurso o en un nivel superior si contiene algún permiso para ese tipo de recurso. Por ejemplo, el rol
storage.admin
concede permisos a las APIsstorage.buckets.get
ystorage.objects.get
, por lo que se puede asignar a los tipos de recursos Segmentos de almacenamiento y Objetos de almacenamiento.Los roles también se pueden conceder "por encima" de los tipos de recursos para los que se definen sus permisos. Es decir, los roles de los recursos de nivel inferior se pueden asignar a un recurso que esté en un nivel superior de la Google Cloud jerarquía de recursos. Por ejemplo, el rol
storage.admin
también se puede asignar a nivel de proyecto o de organización, además de a segmentos de almacenamiento.Los permisos concedidos por un rol solo afectan a los recursos del nivel especificado o inferior. No afectan a los recursos de nivel superior ni a los recursos del mismo nivel. Además, cuando se concede un rol en un recurso, solo se conceden los permisos aplicables al recurso en cuestión, independientemente del nombre, la descripción u otros permisos que contenga el rol. Por ejemplo, si asignas el rol
resourcemanager.organizationAdmin
(que concede el permisoresourcemanager.projects.list
) a un usuario a nivel de proyecto, solo tendrá permisos para ese proyecto concreto. No les permitirá enumerar ni administrar todos los proyectos de la organización. Del mismo modo, si asignas el rolcompute.admin
a una instancia de Compute Engine específica, solo se concederán permisos para esa instancia, no para otras del proyecto.Listar roles que se pueden conceder
Puedes consultar la lista de roles que se pueden asignar mediante la Google Cloud consola, la CLI de Google Cloud, la API de gestión de identidades y accesos o las bibliotecas de cliente de gestión de identidades y accesos.
La consola siempre muestra todos los roles que se pueden conceder para el recurso que estás viendo. Google Cloud La CLI de Google Cloud, la API IAM y las bibliotecas de cliente solo muestran los roles que se pueden conceder a las APIs habilitadas.
Consola
Para ver los roles que se pueden asignar a un proyecto, una carpeta o una organización, haz lo siguiente:
En la consola, ve a la página IAM. Google Cloud
En la parte superior de la página, haz clic en Selecciona un proyecto.
Selecciona el proyecto, la carpeta o la organización para los que quieras ver los roles que se pueden asignar.
Haz clic en
Conceder acceso.Haz clic en Selecciona un rol. En este menú se muestran todos los roles, incluidos los personalizados, que puedes asignar en este recurso.
Para ver los roles que se pueden conceder a otros tipos de recursos, sigue estos pasos:
En la consola de Google Cloud , ve a la página que muestra el recurso del que quieres ver los roles que se pueden conceder.
Por ejemplo, para gestionar el acceso a una instancia de Compute Engine, ve a la página Instancias de VM.
Seleccione la casilla situada junto al recurso para el que quiera ver los roles que se pueden conceder.
Asegúrate de que el panel de información esté visible. Si no aparece, haz clic en Mostrar panel de información.
Haz clic en
Añadir principal.Haz clic en Selecciona un rol. En este menú se muestran todos los roles, incluidos los personalizados, que puedes asignar en este recurso.
gcloud
Usa el comando
gcloud iam list-grantable-roles
para obtener una lista de todos los roles que se pueden aplicar a un recurso determinado.gcloud iam list-grantable-roles full-resource-name
En función del recurso deseado, se puede devolver un gran número de roles. Para limitar los resultados, puedes especificar una expresión de filtro.
La salida será similar a la siguiente:
description: Full control of all Compute Engine resources. name: roles/compute.admin title: Compute Admin --- description: Full control of Compute Engine instance resources. name: roles/compute.instanceAdmin title: Compute Instance Admin # Additional results here...
C++
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API C++ de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
C#
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API C# de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Go
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Go de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Java
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Java de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
Python
Para saber cómo instalar y usar la biblioteca de cliente de IAM, consulta Bibliotecas de cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API Python de gestión de identidades y accesos.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta la sección Antes de empezar.
REST
El método
roles.queryGrantableRoles
devuelve una lista de todos los roles que se pueden conceder en un recurso.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
FULL_RESOURCE_NAME
: un URI que consta del nombre del servicio y la ruta al recurso. Para ver ejemplos, consulta Nombres de recursos completos.
Método HTTP y URL:
POST https://iam.googleapis.com/v1/roles:queryGrantableRoles
Cuerpo JSON de la solicitud:
{ "fullResourceName": "FULL_RESOURCE_NAME" }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "roles": [ { "name": "roles/compute.admin", "title": "Compute Admin", "description": "Full control of all Compute Engine resources." }, { "name": "roles/compute.instanceAdmin", "title": "Compute Instance Admin (beta)", "description": "Full control of Compute Engine instance resources." } ] }
En los ejemplos anteriores, el nombre de recurso completo es un URI sin esquema que consta de un nombre de servicio de API compatible con DNS y una ruta de recurso.
Por ejemplo, para devolver todos los roles que se pueden conceder en un proyecto, usa lo siguiente:
//cloudresourcemanager.googleapis.com/projects/project-id
Los recursos de nivel inferior tienen un nombre completo más detallado. Por ejemplo, usa lo siguiente para devolver todos los roles que se pueden conceder en una instancia de Compute Engine:
//compute.googleapis.com/projects/project-id/zones/zone-name/instances/instance-id
Siguientes pasos
- Consulta los roles de gestión de identidades y accesos disponibles.
- Consulta cómo elegir los roles predefinidos más adecuados.
- Consulta cómo conceder, cambiar y revocar el acceso de una entidad de seguridad.
- Consulta ejemplos de nombres de recursos para diferentes tipos de recursos.
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-08-20 (UTC).