En este artículo, se explica cómo acceder a las API de Google Cloud en nombre de un usuario final. Para obtener información general sobre la autenticación en las API de Google Cloud, consulta Descripción general de la autenticación.
Flujo de autenticación
Cuando una aplicación necesita acceder a las API de Google Cloud en nombre de un usuario final, la aplicación inicia un flujo de consentimiento de OAuth. Una vez que el usuario completa el flujo, la aplicación recibe las credenciales del usuario. Con las credenciales, la aplicación puede llamar a las API de Google Cloud en nombre del usuario.
Este proceso es un protocolo que se denomina OAuth 2.0.
Consulta OAuth 2.0 para obtener más información sobre el tema.
Especifica permisos de OAuth
Si te autenticas como usuario final, debes especificar los permisos de OAuth de manera explícita. Estos permisos limitan las acciones que puede realizar la aplicación en nombre del usuario final. Por ejemplo, estas acciones pueden incluir la lectura de archivos de Cloud Storage o la administración de proyectos de Google Cloud.
Consulta la página específica de la API si quieres conocer los permisos de OAuth disponibles. Por ejemplo, si planeas usar el método disks.get()
para la API de Compute Engine, debes configurar uno de estos permisos de OAuth.
Usa tu caso práctico como referencia para establecer el permiso mínimo necesario.
Otorga y limita el acceso a recursos de proyectos
Si usas credenciales de usuario final para acceder a los recursos del proyecto, asegúrate de que el usuario tenga acceso a esos recursos. Para hacerlo, configura una función en la administración de identidades y accesos (IAM) dentro de Google Cloud.
Recomendamos que limites los recursos a los que puede acceder un usuario. Esto sucede especialmente si permites que el usuario acceda a los recursos de uno de tus proyectos. Configura las funciones según el privilegio mínimo que necesite el usuario.
Cada servicio tiene un conjunto de funciones de IAM, pero también puedes crear funciones personalizadas. Consulta Comprende las funciones y Crea y administra funciones personalizadas para obtener más información.
Ejemplo de autenticación de un usuario final
A fin de obtener las credenciales para un usuario final, completa las siguientes secciones. En los pasos que se enumeran a continuación, se usa la API de BigQuery, pero puedes replicar el proceso con cualquier API de Google Cloud que tenga una biblioteca cliente.
Configura el proyecto
- Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Cloud. Descubre cómo confirmar que tienes habilitada la facturación en un proyecto.
- Habilita la API BigQuery.
- Instala las bibliotecas cliente de BigQuery.
- Si usas Python o Node.js, debes instalar una biblioteca auth adicional.
Python
Instala la integración con oauthlib para Google Auth.pip install --upgrade google-auth-oauthlib
Crea las credenciales del cliente
Crea las credenciales de cliente en Google Cloud Console.
Ve a la página Pantalla de consentimiento de OAuth en Cloud Console.
En la página Credenciales, selecciona el botón Crear credenciales y, luego, ID de cliente de OAuth.
Selecciona Otro y, luego, el botón Crear. Selecciona el botón Aceptar después de que aparezca el cuadro de diálogo de éxito.
Para descargar las credenciales, selecciona el botón Descargar JSON para el ID de cliente.
Guarda el archivo de credenciales en
client_secrets.json
. Este se debe distribuir con la aplicación.
Autenticar y llamar a la API
Usa las credenciales del cliente para completar el flujo de OAuth 2.0.
Python
Usa las credenciales autenticadas para conectarte a la API de BigQuery.
Python
Si ejecutas el código de muestra, este iniciará un navegador que solicita acceso al proyecto asociado con los secretos del cliente. Luego, las credenciales que se generan pueden usarse para acceder a los recursos de BigQuery del usuario, ya que la muestra solicitó el permiso de BigQuery.
En otro caso de uso, te recomendamos otorgar funciones de IAM para definir el nivel de acceso de un usuario.
Próximos pasos
- Obtén información sobre cómo autenticar en una API de Google Cloud.
- Obtén información sobre la autenticación como cuenta de servicio.
- Obtén información para usar las claves de API.
Pruébalo tú mismo
Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
Comenzar gratis