JSON Web Token (JWT) transmite información de forma segura entre un cliente y un servidor como un objeto JSON. Esta información es verificable y confiable porque los JWT se pueden firmar con HMAC o con pares de claves pública/privada RSA/ECDSA. Cloud-native API Gateway utiliza la autenticación JWT para verificar identidades y controlar el acceso a las API.
Requisitos previos
Conozca los conceptos básicos del estándar JWT. Para obtener más información, consulte Introducción a JWT.
Comprenda los métodos de integración compatibles: su servicio de autorización emite tokens para garantizar la seguridad y usted configura la puerta de enlace con una clave pública para verificar las firmas de las solicitudes.
Prepare una clave privada y una clave pública. El servicio de autorización usa la clave privada para firmar los JWT. Configure la clave pública en Cloud-native API Gateway para verificar la firma de las solicitudes entrantes.
Contexto
Cloud-native API Gateway proporciona autenticación JWT para autorizar el acceso a sus API mediante tokens estructurados. Esto le ayuda a cumplir con requisitos de seguridad personalizados.
Autenticación basada en tokens
Las API expuestas a través de Cloud-native API Gateway necesitan identificar a los solicitantes y determinar si deben devolver los recursos solicitados. La autenticación basada en tokens verifica la identidad de quien realiza la llamada sin almacenar información de sesión en el servidor. De este modo, se habilita la autorización sin estado y se simplifica el escalado de la aplicación.
Métodos de integración compatibles

Crear una regla de autenticación
Inicie sesión en la consola de API Gateway.
En el panel de navegación izquierdo, haga clic en . En la barra de navegación superior, seleccione una región.
En la página Instance, haga clic en el nombre de la instancia de puerta de enlace de destino.
En el panel de navegación izquierdo, haga clic en .
-
En la esquina superior izquierda de la página Global Authentication, haga clic en Create Authentication. Configure los parámetros y, a continuación, haga clic en OK.
Parámetro
Descripción
Enable
Indica si se habilita la autenticación para Cloud-native API Gateway.
Authentication Name
Nombre personalizado de la regla de autenticación.
Authentication Type
Tipo de autenticación. JWT es compatible de forma predeterminada.
Issuer
La notificación
iss(emisor) del JWT. Esta notificación identifica al principal que emitió el JWT.Sub
La notificación
sub(asunto) del JWT. Esta notificación identifica al principal que es el asunto del JWT.JWKS
El conjunto de claves web JSON (JWKS) que contiene la clave pública utilizada para verificar el JWT. A continuación se muestra un ejemplo de formato:
{ "keys":[ { "e":"AQAB", "kid":"DHFbpoIUqrY8t2zpA2qXfCmr5VO5ZEr4RzHU_-envvQ", "kty":"RSA", "n":"xAE7eB6qugXyCAG3yhh7pkDkT65pHymX- P7KfIupjf59vsdo91bSP9C8H07pSAGQO1MV_xFj9VswgsCg4R6otmg5PV2 He95lZdHtOcU5DXIg_pbhLdKXbi66Gl VeK6ABZOUW3WYtnNHD-91gVuoeJT_DwtGGcp4ignkgXfkiEm4sw- 4sfb4qdt5oLbyVpmW6x9cfa7vs2WTfURiCrBoUqgBo_-4WTiULmmHSG ZHOjzwa8WtrtOQGsAFjIbno85jp6MnGGGZ PYZbDAa_b3y5u-YpW7ypZrvD8BgtKVjgtQgZhLAGezMt0ua3D RrWnKqTZ0BJ_EyxOGuHJrLsn00fnMQ" } ] }JWT Token
Configura cómo se extrae el JWT de la solicitud entrante.
-
Type: ubicación del parámetro del token en la solicitud. El valor predeterminado es Header.
-
Key: nombre del parámetro del token.
-
Prefix: prefijo del valor del parámetro del token. De forma predeterminada, el token se pasa en el encabezado Authorization con el prefijo
Bearer; por ejemplo:Authorization: Bearer token. -
Enable Passthrough: si selecciona esta opción, el parámetro del token se reenvía al servicio de backend.
Authorization
Modo de autorización. Son compatibles los modos Whitelist Mode y Blacklist Mode.
-
Lista blanca: las solicitudes que coinciden con los hosts y las rutas especificadas omiten la autenticación. Todas las demás solicitudes requieren autenticación.
-
Lista negra: las solicitudes que coinciden con los hosts y las rutas especificadas requieren autenticación. Todas las demás solicitudes pasan sin autenticarse.
Haga clic en Rule Condition para establecer el nombre de dominio y la ruta de la solicitud.
-
Request Domain Name: nombre de dominio de la solicitud, que corresponde a los hosts.
-
Request Path: ruta de la API en la solicitud, que corresponde a las rutas.
-
Consultar los detalles de la regla de autenticación
Inicie sesión en la consola de API Gateway.
En el panel de navegación izquierdo, haga clic en . En la barra de navegación superior, seleccione una región.
En la página Instance, haga clic en el nombre de la instancia de puerta de enlace de destino.
En el panel de navegación izquierdo, haga clic en .
-
En la página Global Authentication, busque la regla de autenticación de destino y haga clic en Description en la columna Actions. Consulte la Basic Information y la Authentication Configuration de la regla, y gestione su Authorization Information.
La sección Basic Information incluye el nombre y el origen (por ejemplo, JWT). La sección Authentication Configuration incluye campos como Issuer, Type (por ejemplo, HEADER), el interruptor Enable Passthrough, Sub, Prefix (por ejemplo, Bearer), Key (por ejemplo, Authorization) y JWKS. La sección Authorization Information admite el modo Whitelist, y la puerta de enlace evalúa varias condiciones de regla con lógica OR.
En la sección Authorization Information, haga clic en Create Authorization e introduzca un Request Domain Name y una Request Path en el cuadro de diálogo para agregar una nueva regla de autorización.
Comprobar el resultado
Regrese a la página Global Authentication. Si la nueva regla de autenticación aparece en la lista, la creación fue exitosa.
Operaciones relacionadas
También puede gestionar las reglas de autenticación de la puerta de enlace de la siguiente manera:
Habilitar una regla de autenticación: en la página Global Authentication, busque la regla de autenticación de destino y haga clic en Enable en la columna Actions.
Deshabilitar una regla de autenticación: en la página Global Authentication, busque la regla de autenticación de destino y haga clic en Close en la columna Actions.
Editar una regla de autenticación: en la página Global Authentication, busque la regla de autenticación de destino y haga clic en Edit en la columna Actions.
Eliminar una regla de autenticación: en la página Global Authentication, busque la regla de autenticación de destino y haga clic en Delete en la columna Actions.
Debe deshabilitar una regla de autenticación antes de eliminarla.
Documentación relacionada
Para conocer otros mecanismos de autenticación, consulte Global Authentication.