jwt-validate

Use a política de segurança Validar JWT para ativar a validação de um JSON Web Token (JWT) em uma solicitação antes de permitir acesso às APIs.

Suporte de gateway

Tabela 1. Tabela mostrando quais gateways suportam a política e a versão da política correspondente
Gateway Versão da política
DataPower® Gateway (v5 compatible) 1.0.0
DataPower API Gateway 2.0.0

Este tópico descreve como configurar a política em sua origem OpenAPI ; para obter detalhes sobre como configurar a política na interface com o usuário do conjunto, consulte Validar JWT..

Nota:
  • Se a mensagem original foi assinada com uma Chave secreta compartilhada, o objeto criptográfico especificado também deverá ser uma Chave secreta compartilhada.
  • Se a mensagem original foi assinada com uma Chave privada, o objeto criptográfico especificado deverá ser um Certificado criptográfico (certificado público).
  • O material criptográfico pode ser fornecido por meio de um JSON Web Key (JWK).
  • Se um parâmetro de cabeçalho JWK estiver incluído no cabeçalho do JWT, o parâmetro deverá corresponder ao JWK ou objeto criptográfico especificado na política, ou a validação JWT falhará.
  • Se um objeto criptográfico e um JWK forem ambos especificados, o objeto criptográfico será usado para decriptografar ou verificar o JWT.
  • A ação de validação do JWT no DataPower API Gateway pode verificar um JWT usando um único JWK ou um conjunto de JWK

Sobre

A política jwt-validate tem a seguinte estrutura:
- 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

Propriedades

A tabela a seguir descreve as propriedades de política:
Tabela 2. Propriedades da política Validar JWT
Propriedade Necessário Descrição Tipo de dados
version True O número de versão da política sequência
title True O título da política. sequência
description Não Uma descrição da política. sequência
jwt True A variável de contexto ou de tempo de execução que contém o JWT a ser validado.

O valor padrão é: request.headers.authorization. No entanto, se essa propriedade não for configurada, a política procurará o JWT no local request.headers.authorization por padrão.

Nota: O formato do cabeçalho de autorização deve ser:
"Authorization: Bearer jwt-token"
em que jwt-token é o JWT codificado.
sequência
output-claims True A variável de tempo de execução à qual o conjunto integral de solicitações contidas no JWT está designado.

O valor padrão é: decoded.claims.

sequência
iss-claim Não O Perl Compatible Regular Expressions (PCRE) para usar para validar a solicitação do Emissor (iss). sequência
aud-claim Não O PCRE a ser usado par validar a solicitação do Público (aud). sequência
jwe-crypto Não O objeto criptográfico (uma chave compartilhada ou um certificado) a ser usado para decodificar a solicitação. Um JWK e um objeto criptográfico são maneiras válidas de fornecer os dados criptográficos necessários para decriptografar o JWT. Entretanto, se ambos os tipos de dados forem especificados, somente o Objeto criptográfico será usado. sequência
jwe-jwk Não Variável de tempo de execução que contém o JWK a ser usado para decriptografar o JWT. Um JWK e um objeto criptográfico são maneiras válidas de fornecer os dados criptográficos necessários para decriptografar o JWT. Entretanto, se ambos os tipos de dados forem especificados, somente o Objeto criptográfico será usado. sequência
jws-crypto Não O objeto criptográfico (uma chave compartilhada ou um certificado) a ser usado para verificar a assinatura. Um JWK ou um conjunto JWK e um Crypto Object são maneiras válidas de fornecer os dados criptográficos necessários para verificar o JWT. Entretanto, se ambos os tipos de dados forem especificados, somente o Objeto criptográfico será usado. sequência
jws-jwk Não Variável de tempo de execução que contém o JWK, ou um conjunto JWK, a ser usado para verificar a assinatura. Um JWK ou um conjunto JWK e um Crypto Object são maneiras válidas de fornecer os dados criptográficos necessários para verificar o JWT. Entretanto, se ambos os tipos de dados forem especificados, somente o Objeto criptográfico será usado. sequência

Exemplo

A seguir há um exemplo de uma 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 obter mais informações sobre como usar uma política de segurança do jwt-validate , consulte Validar JWT na seção de políticas integradas