Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Verificación JWTs mediante un Application Load Balancer
Puede configurar un Application Load Balancer (ALB) para verificar los JSON Web Tokens (JWT) proporcionados por los clientes para comunicaciones seguras service-to-service (S2S) o (M2M). machine-to-machine El balanceador de cargas puede verificar un JWT independientemente de cómo se haya emitido y sin interacción humana.
ALB validará la firma del token y exigirá dos menciones obligatorias: «iss» (emisor) y «exp» (caducidad). Además, si está presente en el token, ALB también validará las solicitudes «nbf» (no antes) e «iat» (emitidas en el momento). Puedes configurar hasta 10 notificaciones adicionales para su validación. Estas reclamaciones admiten tres formatos:
-
Cadena única: un valor de texto único
-
Valores separados por espacios: valores múltiples separados por espacios (máximo 10 valores)
-
Matriz de cadenas: matriz de valores de texto (máximo 10 valores)
Si el token es válido, el balanceador de cargas reenvía la solicitud con el token tal cual al destino. De lo contrario, se rechaza la solicitud.
Prepárate para usar la verificación JWT
Realice los siguientes pasos:
-
Registre su servicio con un IdP, que emite un ID de cliente y un secreto de cliente.
-
Haga una llamada por separado al IdP para solicitar acceso a un servicio. El IdP responde con un token de acceso. Este token suele ser un JWT firmado por el IdP.
-
Configure un punto final de conjuntos de claves web JSON (JWKS). El balanceador de cargas adquiere la clave pública publicada por el IdP en una ubicación conocida que usted configure.
-
Incluye el JWT en el encabezado de una solicitud y reenvíalo al Application Load Balancer en cada solicitud.
Para configurar la verificación de JWT mediante la consola
-
Abre la EC2 consola Amazon en https://console.aws.amazon.com/ec2/
. -
En el panel de navegación, en Equilibrio de carga, elija Equilibradores de carga.
-
Seleccione su Application Load Balancer y elija la pestaña Listeners.
-
Seleccione un agente de escucha HTTPS y elija Administrar reglas.
-
Seleccione Agregar regla.
-
(Opcional) Para especificar un nombre para la regla, expanda Nombre y etiquetas e introduzca el nombre. Para agregar etiquetas adicionales, elija Agregar etiquetas adicionales e introduzca la clave y el valor de la etiqueta.
-
En Condiciones, defina de 1 a 5 valores de condición
-
(Opcional) Para agregar una transformación, elija Agregar transformación, elija el tipo de transformación e introduzca una expresión regular que coincida y una cadena de reemplazo.
-
En Acciones, acción previa al enrutamiento, elige Validar token.
-
En el caso del punto final JWKS, introduzca la URL del punto final del conjunto de claves web JSON. Este punto final debe ser de acceso público y devolver las claves públicas utilizadas para verificar las firmas de JWT.
-
En el caso del emisor, introduce el valor esperado de la reclamación de ISS en tus fichas de JWT.
-
(Opcional) Para validar reclamaciones adicionales, selecciona Reclamación adicional.
En Nombre de la reclamación, introduce el nombre de la reclamación que deseas validar.
En Formato, elija cómo deben interpretarse los valores de la reclamación:
-
Cadena única: la afirmación debe coincidir exactamente con un valor especificado.
-
Matriz de cadenas: la afirmación debe coincidir con uno de los valores de una matriz.
-
Valores separados por espacios: la afirmación contiene valores separados por espacios que deben incluir los valores especificados.
-
-
En Valores, introduzca los valores esperados para la reclamación.
-
Repita el procedimiento para las reclamaciones adicionales (máximo 10 reclamaciones).
-
-
En Acciones, acción de enrutamiento, selecciona la acción principal (Reenviar a, Redirigir a o Devolver una respuesta fija) que se debe realizar después de validar correctamente el token.
-
Configure la acción principal según sea necesario
-
Seleccione Save.
Para configurar la verificación JWT mediante CLI
Utilice el siguiente comando create-rule para configurar la verificación de JWT.
Cree una regla de escucha con una acción para verificarla. JWTs El oyente debe ser un oyente HTTPS.
aws elbv2 create-rule \ --listener-arnlistener-arn\ --priority10\ --conditions Field=path-pattern,Values="/login" \ --actions file://actions.json
El siguiente es un ejemplo del actions.json archivo que especifica una jwt-validation acción y una forward acción. Siga la documentación proporcionada por su proveedor de identidades para determinar los campos que son compatibles
--actions '[ { "Type":"jwt-validation", "JwtValidationConfig":{ "JwksEndpoint":"https://issuer.example.com/.well-known/jwks.json", "Issuer":"https://issuer.com" }, "Order":1 }, { "Type":"forward", "TargetGroupArn":"target-group-arn", "Order":2 } ]'
En el siguiente ejemplo, se especifica una reclamación adicional que se debe validar.
--actions '[ { "Type":"jwt-validation", "JwtValidationConfig":{ "JwksEndpoint":"https://issuer.example.com/.well-known/jwks.json", "Issuer":"https://issuer.com", "AdditionalClaims":[ { "Format":"string-array", "Name":"claim_name", "Values":["value1","value2"] } ], }, "Order":1 }, { "Type":"forward", "TargetGroupArn":"target-group-arn", "Order":2 } ]'
Para obtener más información, consulte Reglas del oyente del equilibrador de carga de aplicaciones.