Elegir un método de autenticación

API Gateway admite varios métodos de autenticación que se adaptan a aplicaciones y casos de uso diferentes. API Gateway usa el método de autenticación que especificaste en la configuración del servicio para validar las solicitudes entrantes antes de pasarlas al backend de tu API. En esta página, se proporciona una descripción general de cada método de autenticación compatible en API Gateway.

Claves de API

Una clave de API es una string simple que identifica un proyecto de Google Cloud para fines de cuotas, facturación y supervisión. Un desarrollador genera una clave de API en un proyecto en Cloud Console y, luego, incorpora esa clave en cada llamada a tu API como un parámetro de búsqueda o en un encabezado de solicitud.

Si especificas un requisito de clave de API en tu configuración de API, API Gateway usa la clave de API para buscar el proyecto de Google Cloud con el que está asociada esta clave. En API Gateway, se rechazan las solicitudes, a menos que la clave de API se haya generado en tu proyecto de Google Cloud o en otros proyectos de la plataforma en los que está habilitada la API.

A diferencia de las credenciales que usan tokens de corta duración o solicitudes firmadas, las claves de API son parte de la solicitud, por ello, se las considera vulnerables frente a ataques de intermediarios y, por lo tanto, menos seguras. Puedes usar las claves de API junto con uno de los métodos de autenticación que se describen a continuación. Por motivos de seguridad, no uses las claves de API por sí mismas cuando las llamadas a la API contengan datos sensibles.

Caso de uso

Para usar las funciones de API Gateway, como las cuotas, puedes pasar una clave de API a fin de que API Gateway pueda identificar el proyecto de Google Cloud con el que está asociada la aplicación cliente.

Información sobre la autenticación de clave de API para API Gateway

Si usas una clave de API para la autenticación, primero debes habilitar la compatibilidad con la clave de API de tu servicio. Ingresa el siguiente comando, donde:

  • MANAGED_SERVICE_NAME especifica el nombre del servicio administrado que se creó cuando implementaste la API. Puedes encontrar este nombre en la columna Servicio administrado de tu API en la página de destino de las API en la consola. Como alternativa, puedes encontrar este nombre en la propiedad Managed service cuando uses el comando gcloud api-gateway apis describe.
  • PROJECT_ID especifica el nombre del proyecto de Google Cloud.
gcloud services enable .apigateway.PROJECT_ID.cloud.goog

Por ejemplo:

gcloud services enable my-api-a12bcd345e67f89g0h.apigateway.my-project.cloud.goog

Cuentas de servicio

Para identificar un servicio que envía solicitudes a tu API, usas una cuenta de servicio. El servicio de llamadas usa la clave privada de la cuenta de servicio para firmar un token web JSON (JWT) seguro y enviarlo en la solicitud a tu API.

Caso de uso

Las cuentas de servicio y los JWT son adecuados para microservicios. Para obtener más información, consulta Autenticación entre servicios.