En esta página, se proporciona una descripción general de la autenticación en la plataforma de Google Cloud para desarrolladores de aplicaciones. Se describen los principales, las credenciales de aplicaciones y diversas formas de autenticar las llamadas a las API de Google Cloud.
Introducción
En el control de acceso para las API de Google Cloud, se abarca la autenticación, la autorización y la auditoría. La autenticación determina quién eres, la autorización determina lo que puedes hacer y los registros de auditoría registran lo que hiciste.
En esta página, se explica en detalle la autenticación. Para realizar una autorización, consulta Administración de identidades y accesos (IAM). Para realizar una auditoría, consulta Cloud Audit Logs.
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 gratisPrincipales
Un principal es una entidad, también conocida como una identidad, a la que se le puede otorgar acceso a un recurso. Las API de Google Cloud admiten dos tipos de principales: cuentas de usuario y cuentas de servicio:
Las cuentas de usuario se administran como Cuentas de Google y representan a un desarrollador, un administrador o cualquier otra persona que interactúe con Google Cloud. Se crearon para situaciones en las que la aplicación necesita acceder a los recursos en nombre de un usuario humano. Consulta Autentícate como usuario final para obtener más información.
IAM administra las cuentas de servicio, que representan a usuarios que no son humanos. Se crearon para situaciones en las que la aplicación necesita acceder a recursos o realizar acciones por su cuenta, como ejecutar apps de App Engine o interactuar con instancias de Compute Engine. Consulta Autentícate como cuenta de servicio para obtener más información.
Para obtener más información sobre cada tipo de cuenta, consulta la descripción general de IAM.
Aplicaciones
Las API de Google Cloud solo aceptan solicitudes de aplicaciones registradas, que son aplicaciones de identificación única que presentan una credencial en el momento de la solicitud. Las solicitudes de aplicaciones anónimas se rechazan.
Las credenciales de aplicaciones proporcionan la información necesaria sobre el emisor que realiza una solicitud a una API de Google Cloud. Dentro de los tipos válidos de credenciales, se incluyen las claves de API, las credenciales de cliente de OAuth 2.0 o las claves de cuentas de servicio. Las cuentas de servicio son únicas, ya que se pueden usar como una identidad principal o como credenciales de aplicaciones. Consulta Comprende las cuentas de servicio para obtener más información.
Cuando se presentan credenciales de aplicaciones en las solicitudes a las API de Google Cloud, solo se identifica al emisor como una aplicación registrada. Si se requiere autenticación, el cliente también deberá identificar al principal que ejecuta la aplicación, como una cuenta de usuario o de servicio. Este proceso se describe en la siguiente sección.
Estrategias de autenticación
Las API de Google Cloud usan el protocolo OAuth 2.0 para autenticar cuentas de usuario y de servicio. El proceso de autenticación de OAuth 2.0 determina el principal y la aplicación.
La mayoría de las API de Google Cloud también admiten el acceso anónimo a datos públicos mediante claves de API. Sin embargo, las claves de API solo identifican a la aplicación y no al principal. Cuando se usan claves de API, el principal se debe autenticar por otros medios.
Las API de Google Cloud admiten varios flujos de autenticación para distintos entornos de ejecución. Para obtener la mejor experiencia como desarrollador, recomendamos usar las bibliotecas cliente de Google Cloud con las API de Google Cloud. Estas usan bibliotecas de autenticación proporcionadas por Google que admiten una variedad de flujos de autenticación y entornos de ejecución.
Si deseas compilar una aplicación con las API de Google Cloud, sigue estos pasos generales:
- Elige y usa las bibliotecas cliente de Google Cloud proporcionadas.
- Determina el flujo de autenticación adecuado para la aplicación.
- Encuentra o crea las credenciales necesarias para la aplicación
- Pasa las credenciales de la aplicación a las bibliotecas cliente durante el inicio de la aplicación, de ser posible, a través de las credenciales predeterminadas de la aplicación (ADC).
Debes elegir las credenciales de la aplicación en función de las necesidades de esta y del lugar en el que se ejecuta. En la siguiente tabla, se proporcionan algunas recomendaciones generales para los requisitos comunes:
Requisito | Recomendación | Comentario |
---|---|---|
Acceder a los datos públicos de forma anónima | Clave de API | Una clave de API solo identifica la aplicación y no requiere la autenticación del usuario. Es suficiente para acceder a los datos públicos. |
Acceder a los datos privados en nombre de un usuario final | Cliente de OAuth 2.0 | Un cliente de OAuth 2.0 identifica la aplicación y permite que los usuarios finales autentiquen la aplicación con Google. Permite que la aplicación acceda a las API de Google Cloud en nombre del usuario final. |
Acceder a datos privados en nombre de una cuenta de servicio dentro de los entornos de Google Cloud | Cuenta de servicio proporcionada por el entorno | Tu aplicación debe usar la cuenta de servicio proporcionada por el entorno si se ejecuta dentro de un entorno de Google Cloud, como Compute Engine, App Engine, GKE, Cloud Run o Cloud Functions. Las bibliotecas cliente de Google Cloud encontrarán y usarán de forma automática las credenciales de la cuenta de servicio. |
Acceder a los datos privados en nombre de una cuenta de servicio fuera de los entornos de Google Cloud | Clave de cuenta de servicio | Debes crear una cuenta de servicio y descargar su clave privada como un archivo JSON. Debes pasar el archivo a las bibliotecas cliente de Google Cloud para que puedan generar las credenciales de la cuenta de servicio en el entorno de ejecución. Las bibliotecas cliente de Google Cloud buscarán y usarán de forma automática las credenciales de la cuenta de servicio mediante el uso de la variable de entorno GOOGLE_APPLICATION_CREDENTIALS . |
Ejemplos
En los siguientes ejemplos de código, se muestra cómo usar distintas estrategias de autenticación con la versión del lenguaje Go de la biblioteca cliente de Pub/Sub. La experiencia del desarrollador con otros lenguajes es casi la misma.
Claves de cuenta de servicio
Para obtener más información, consulta Autentícate como cuenta de servicio.Cuentas de servicio del entorno
Para obtener más información, consulta Autentícate como cuenta de servicio.Clientes de OAuth 2.0
Para obtener más información, consulta Autentícate como usuario final.Claves de API
Consulta Usa claves de API para obtener más información.Próximos pasos
- Obtén información sobre la autenticación como usuario final.
- Obtén información sobre la autenticación como cuenta de servicio.
- Obtén información sobre cómo usar las claves de API.