Seguridad del último kilómetro

Esta página se aplica a Apigee y Apigee Hybrid.

Consulta la documentación de Apigee Edge.

La seguridad del último tramo protege los servicios de backend a los que se accede mediante proxy a través de los servicios de APIs. El objetivo principal de la seguridad de última milla es evitar los ataques de "end-run", en los que un desarrollador de aplicaciones descubre la URL de un servicio de backend y elude los proxies de API para acceder directamente a la URL del backend.

Estas son las principales opciones para configurar la seguridad del último tramo:

  • TLS/SSL de cliente
  • Autenticación saliente

TLS/SSL de cliente

El mecanismo principal para proteger la última milla es el protocolo TLS/SSL de cliente, también conocido como "autenticación mutua".

Consulta Opciones para configurar TLS.

Autenticación saliente

La seguridad del último tramo también se puede aplicar exigiendo que el proxy de API presente una credencial al servicio de backend.

Por ejemplo, puede que quieras que un proxy de API presente una clave de API a tu servicio de backend. También puedes hacer que un proxy de API obtenga y presente un token de acceso de credenciales de cliente de OAuth.

Clave de API

Las claves de API se pueden aplicar a las solicitudes salientes de los proxies de API a los servicios de backend. En este caso, se da por supuesto que el servicio de backend es una API que puede emitir y validar claves de API.

Si configura un proxy de API para presentar una clave de API en las solicitudes salientes, debe almacenar la clave de API en un lugar donde el proxy de API pueda recuperarla en tiempo de ejecución. Una de las ubicaciones disponibles para almacenar claves de API es un mapa de clave/valor. Consulta la política de operaciones de mapas de clave-valor.

Puede usar el tipo de política AssignMessage para añadir la clave de API como encabezado HTTP, parámetro de consulta o elemento de carga útil a la solicitud saliente. Consulta la política de mensajes asignados.

Credenciales de cliente de OAuth

Las credenciales de cliente de OAuth se pueden usar para añadir una capa de revocabilidad a las claves de API. Si tus servicios de backend admiten credenciales de cliente de OAuth, puedes configurar un proxy de API para que presente un token de acceso de credenciales de cliente en cada solicitud.

El proxy de API debe configurarse para realizar una llamada externa y obtener el token de acceso de tu endpoint de token. El proxy de API también es necesario para almacenar en caché el token de acceso, de modo que no tenga que obtener un token de acceso nuevo para cada llamada.

Se pueden usar varios enfoques para implementar credenciales de cliente salientes.

Puedes modificar este ejemplo para llamar a tu endpoint de token y obtener un token de acceso. En este ejemplo se usa JavaScript para adjuntar el token a la solicitud de salida como encabezado de autorización HTTP. También puedes usar la política Asignar mensaje para ello.

SAML

El tipo de política GenerateSAMLAssertion se puede usar para adjuntar una aserción SAML a un mensaje de solicitud XML saliente, desde el proxy de API a un servicio de backend. De esta forma, el servicio de backend puede autenticar y autorizar las solicitudes recibidas de los proxies de API.

Consulta las políticas de aserciones SAML.