jwt-validate

Utilice la política de seguridad Validar JWT para habilitar la validación de una señal web JSON (JWT) en una solicitud antes de permitir el acceso a las API.

Soporte de pasarela

Tabla 1. Tabla que muestra qué pasarelas soportan esta política y la versión de política correspondiente
Pasarela Versión de política
DataPower® Gateway (v5 compatible) 1.0.0
DataPower API Gateway 2.0.0

En este tema se describe cómo configurar la política en el origen de OpenAPI ; para obtener detalles sobre cómo configurar la política en la interfaz de usuario de ensamblaje, consulte Validar JWT.

Nota:
  • Si el mensaje original estaba firmado con una clave secreta compartida, el objeto criptográfico especificado debe ser también una clave secreta compartida.
  • Si el mensaje original era una clave privada, el objeto criptográfico especificado debe ser un certificado criptográfico (certificado público).
  • El material criptográfico se puede proporcionar a través de una Clave web JSON (JWK).
  • Si se incluye un parámetro de cabecera JWK en la cabecera de la JWT, el parámetro debe coincidir con la JWK o el objeto criptográfico especificado en la política o de lo contrario, la validación de la JWT fallará.
  • Si se especifican un objeto criptográfico y una JWK, el objeto criptográfico se utiliza para descifrar o verificar la JWT.
  • La acción de validación JWT en DataPower API Gateway puede verificar un JWT utilizando un único JWK o un conjunto JWK.

Acerca de

La política jwt-validate tiene la estructura siguiente:
- jwt-validate:
  version: version
  title: title
  description: description
  jwt: json_web_token
  output-claims: output_full_set_of_jwt_claims
  iss-claim: issuer_claim
  aud-claim: audience_claim
  jwe-crypto: decrypt_crypto_object
  jwe-jwk: decrypt_crypto_jwk_variable_name
  jws-crypto: verify_crypto_object
  jws-jwk: verify_crypto_jwk_variable_name

Propiedades

La tabla siguiente describe las propiedades de política.
Tabla 2. Propiedades de política de Validar JWT
Propiedad Obligatorio Descripción Tipo de datos
version El número de versión de la política serie
title El título de la política. serie
description Nee Una descripción de la política. serie
jwt Variable de contexto o de tiempo de ejecución que contiene la JWT que se va a validar.

El valor predeterminado es request.headers.authorization. Sin embargo, si esta propiedad no está establecida, la política busca de forma predeterminada la JWT en la ubicación request.headers.authorization.

Nota: El formato de la cabecera de autorización debe ser:
"Authorization: Bearer jwt-token"
donde señal_JWT es la JWT codificada.
serie
output-claims Variable de tiempo de ejecución a la que se asigna el conjunto completo de reclamaciones que están contenidas en la JWT.

El valor predeterminado es decoded.claims.

serie
iss-claim Nee Las Perl Compatible Regular Expressions (PCRE) que se utilizan para validar la reclamación Emisor (iss). serie
aud-claim Nee La PCRE que se va a utilizar para validar la reclamación Público (aud). serie
jwe-crypto Nee El objeto criptográfico (una clave o un certificado compartidos) que se va a utilizar para decodificar la reclamación. Un objeto JWK y un objeto criptográfico son formas válidas de proporcionar los datos criptográficos necesarios para descifrar la JWT. Sin embargo, si se especifican ambos tipos de datos, sólo se utiliza el objeto criptográfico. serie
jwe-jwk Nee Variable de tiempo de ejecución que contiene el JWK que se va a utilizar para descifrar la JWT. Un objeto JWK y un objeto criptográfico son formas válidas de proporcionar los datos criptográficos necesarios para descifrar la JWT. Sin embargo, si se especifican ambos tipos de datos, sólo se utiliza el objeto criptográfico. serie
jws-crypto Nee El objeto criptográfico (una clave o un certificado compartidos) que se va a utilizar para verificar la firma. Un JWK, o un conjunto JWK, y un objeto criptográfico son formas válidas de proporcionar los datos criptográficos necesarios para verificar el JWT. Sin embargo, si se especifican ambos tipos de datos, sólo se utiliza el objeto criptográfico. serie
jws-jwk Nee Variable de tiempo de ejecución que contiene el JWK, o un conjunto JWK, que se debe utilizar para verificar la firma. Un JWK, o un conjunto JWK, y un objeto criptográfico son formas válidas de proporcionar los datos criptográficos necesarios para verificar el JWT. Sin embargo, si se especifican ambos tipos de datos, sólo se utiliza el objeto criptográfico. serie

Ejemplo

A continuación se muestra un ejemplo de una política jwt-validate :
- jwt-validate:
    version: 1.0.0
    title: jwt-validate
    jwt: request.headers.authorization
    output-claims: decoded.claims
    iss-claim: "'^data.*'"
    aud-claim: "'^id.*'"
    jwe-crypto: jweCryptoObjectName
    jwe-jwk: jwe.jwk
    jws-crypto: jwsCryptoObjectName
    jws-jwk: jws.jwk

Para obtener más información sobre cómo utilizar una política de seguridad de jwt-validate , consulte Validar JWT en la sección de políticas incorporadas.