La mayoría de los recursos Cloud de Confiance by S3NS exponen el método testIamPermissions(), que te permite comprobar de manera programática si el emisor autenticado actual tiene uno o más permisos de IAM específicos en el recurso. El método testIamPermissions() toma un identificador de recursos y un conjunto de permisos como parámetros de entrada y muestra el conjunto de permisos habilitados para el emisor.
Puedes usar el método testIamPermissions() para determinar si un usuario debe tener acceso a una herramienta administrativa en una aplicación web. Por ejemplo, puedes usar este método para decidir, en función de los permisos del usuario, si deseas mostrar información detallada sobre un recurso de Cloud de Confiance .
Por ejemplo, si quieres determinar si el usuario autenticado actual tiene permiso para borrar un proyecto, llama al método projects.testIamPermissions() mediante el ID del proyecto (por ejemplo, foo-project) y el permiso resourcemanager.projects.delete como parámetros de entrada. Si se le otorgó el permiso resourcemanager.projects.delete al emisor, se lo incluirá en el cuerpo de la respuesta. Si el emisor no tiene este permiso, el cuerpo de la respuesta no mostrará ningún permiso.
El método testIamPermissions() está orientado a interfaces gráficas de usuario (GUI) de terceros que necesitan mostrar recursos de Cloud de Confiance según lo que el usuario autenticado tenga permiso para ver. Por ejemplo, la consola deCloud de Confiance usa internamente el método testIamPermissions() para determinar qué recursos y funciones son visibles para ti después de la autenticación. En general, los diferentes usuarios tienen distintos permisos, y la Cloud de Confiance consola los oculta o expone según corresponda.
Antes de comenzar
Habilita la API de Resource Manager.
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (
roles/serviceusage.serviceUsageAdmin), que contiene el permisoserviceusage.services.enable. Obtén más información para otorgar roles.Configura la autenticación.
Selecciona la pestaña que corresponda a la forma en que planeas usar las muestras de esta página:
C#
Para usar las muestras de .NET de esta página en un entorno de desarrollo local, instala e inicializa la gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
-
Instala Google Cloud CLI.
-
Configura gcloud CLI para usar tu identidad federada.
Para obtener más información, consulta Accede a la gcloud CLI con tu identidad federada.
-
Crea credenciales de autenticación locales para tu cuenta de usuario:
gcloud auth application-default login
Si se devuelve un error de autenticación y usas un proveedor de identidad (IdP) externo, confirma que accediste a la gcloud CLI con tu identidad federada.
Para obtener más información, consulta Configura ADC para un entorno de desarrollo local en la documentación de autenticación de Cloud de Confiance .
C++
Para usar las muestras de C++ de esta página en un entorno de desarrollo local, instala e inicializa la gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
-
Instala Google Cloud CLI.
-
Configura gcloud CLI para usar tu identidad federada.
Para obtener más información, consulta Accede a la gcloud CLI con tu identidad federada.
-
Crea credenciales de autenticación locales para tu cuenta de usuario:
gcloud auth application-default login
Si se devuelve un error de autenticación y usas un proveedor de identidad (IdP) externo, confirma que accediste a la gcloud CLI con tu identidad federada.
Para obtener más información, consulta Configura ADC para un entorno de desarrollo local en la documentación de autenticación de Cloud de Confiance .
Java
Para usar las muestras de Java de esta página en un entorno de desarrollo local, instala e inicializa la gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
-
Instala Google Cloud CLI.
-
Configura gcloud CLI para usar tu identidad federada.
Para obtener más información, consulta Accede a la gcloud CLI con tu identidad federada.
-
Crea credenciales de autenticación locales para tu cuenta de usuario:
gcloud auth application-default login
Si se devuelve un error de autenticación y usas un proveedor de identidad (IdP) externo, confirma que accediste a la gcloud CLI con tu identidad federada.
Para obtener más información, consulta Configura ADC para un entorno de desarrollo local en la documentación de autenticación de Cloud de Confiance .
Python
Para usar las muestras de Python de esta página en un entorno de desarrollo local, instala e inicializa la gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
-
Instala Google Cloud CLI.
-
Configura gcloud CLI para usar tu identidad federada.
Para obtener más información, consulta Accede a la gcloud CLI con tu identidad federada.
-
Crea credenciales de autenticación locales para tu cuenta de usuario:
gcloud auth application-default login
Si se devuelve un error de autenticación y usas un proveedor de identidad (IdP) externo, confirma que accediste a la gcloud CLI con tu identidad federada.
Para obtener más información, consulta Configura ADC para un entorno de desarrollo local en la documentación de autenticación de Cloud de Confiance .
REST
Para usar las muestras de la API de REST incluidas en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la gcloud CLI.
Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada.
Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Cloud de Confiance .
-
Roles obligatorios
No se requiere ningún rol de IAM para probar los permisos.
Cómo probar permisos
En este ejemplo, se muestra cómo probar los permisos resourcemanager.projects.get y resourcemanager.projects.delete para un proyectoCloud de Confiance . Para probar los permisos de otros recursos Cloud de Confiance , usa el métodotestIamPermissions() que expone cada recurso. Por ejemplo, puedes probar los permisos de IAM para un bucket de Cloud Storage.
C++
Para obtener más obtener información sobre cómo instalar y usar la biblioteca cliente de IAM, consulta Bibliotecas cliente de IAM. Para obtener más información, consulta la documentación de referencia de la API de IAM C++.
Para autenticarte en IAM, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Antes de comenzar.
Antes de ejecutar muestras de código, configura la variable de entorno GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
C#
Para autenticarte en Resource Manager, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Antes de comenzar.
Si deseas obtener información para instalar y usar la biblioteca cliente de Resource Manager, consulta las bibliotecas cliente de Resource Manager.
IAM prueba los permisos de la cuenta de servicio que usas para generar credenciales.
Java
Para autenticarte en Resource Manager, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Antes de comenzar.
Si deseas obtener información para instalar y usar la biblioteca cliente de Resource Manager, consulta las bibliotecas cliente de Resource Manager.
IAM prueba los permisos de la cuenta de servicio que usas para generar credenciales.
Python
Para autenticarte en Resource Manager, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Antes de comenzar.
Si deseas obtener información para instalar y usar la biblioteca cliente de Resource Manager, consulta las bibliotecas cliente de Resource Manager.
IAM prueba los permisos de la cuenta de servicio que usas para generar credenciales.
REST
En este ejemplo, el usuario tiene una función de IAM que le permite obtener información sobre un proyecto, pero no borrarlo.
El método projects.testIamPermissions de la API de Resource Manager acepta una lista de permisos y prueba qué permisos tiene un miembro.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_ID: Es el ID de tu proyecto de Cloud de Confiance . Los IDs de proyecto son cadenas alfanuméricas, comomy-project.
Método HTTP y URL:
POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:testIamPermissions
Cuerpo JSON de la solicitud:
{
"permissions": [
"resourcemanager.projects.get",
"resourcemanager.projects.delete"
]
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"permissions": [
"resourcemanager.projects.get"
]
}
¿Qué sigue?
Obtén más información para otorgar, cambiar y revocar el acceso a las principales.