Crie regras de validação de token de API ao configurar políticas de validação de JSON Web Token (JWT) e aplicá-las às suas APIs gerenciadas. O ESA valida as solicitações recebidas com base nesses tokens para proteger suas APIs de negócios.
Configurar uma regra de token de API
No console do ESA, acesse Websites. Na coluna Website, clique em o site desejado.
No painel de navegação à esquerda, acesse .
Na página API Security, clique em a aba API Rules e, em seguida, clique em Token Configuration.

Clique em Add para adicionar uma configuração de token.

-
Configure os parâmetros do token conforme necessário e clique em OK:
Name: Insira um nome personalizado para o token, como
JWT-Demo.-
Token Location: Selecione a localização do token na solicitação. Escolha Header ou Cookie e insira a chave.
NotaPara verificar tokens em diferentes locais, clique em Or para criar uma condição lógica
OR. É possível verificar até quatro locais de token simultaneamente. -
Token Key: Insira uma chave de token manualmente ou carregue um arquivo JSON. Para obter mais informações sobre os requisitos de chave, consulte Detalhes do token.
NotaSe você configurar várias chaves, o ESA usará o campo
kidpara selecionar uma chave para validação. A solicitação será considerada válida se qualquer uma das chaves a validar.

Após configurar o token, crie uma regra de API. Retorne à aba API Rules e clique em Add Rule.

-
Configure os parâmetros de validação de token conforme necessário:
Rule Name: Insira um nome para a regra, como
rule-jwt-demo.Validate API: Na lista suspensa, selecione o hostname que hospeda as APIs a serem validadas. O ESA exibirá automaticamente uma lista de APIs gerenciadas sob esse hostname. Selecione a API desejada na lista.
-
Select Token Configuration: Selecione um ou mais tokens para validar. Se selecionar vários tokens, escolha uma das seguintes opções:
Validate at least one: A solicitação deve corresponder a pelo menos uma das configurações de token selecionadas. Caso contrário, o sistema marcará a solicitação como não compatível.
-
Validate all: A solicitação deve corresponder a todas as configurações de token selecionadas. Caso contrário, o sistema marcará a solicitação como não compatível.
NotaPor padrão, o sistema marca uma solicitação como não compatível se um token estiver ausente. Para alterar esse comportamento, selecione Ignore na lista suspensa da coluna If No Token.
-
Action: Selecione uma ação para solicitações com falha na validação de token:

Verificar os resultados
Após criar a regra de API, no painel de navegação à esquerda, acesse . Na página Events, use o filtro para definir a regra de proteção como API Rule. Role a página para visualizar logs detalhados de mitigação na seção Sampling Logs.
Detalhes do token
Atualmente, a validação de token está disponível apenas para JWTs.
Descrições dos campos
A chave pública deve estar no formato JSON Web Key (JWK). A chave pública JWK deve conter os campos kid e alg. Os campos são descritos da seguinte forma:
kty: Tipo de chave, comoECpara Curva Elíptica.use: Uso pretendido da chave pública, comosigpara assinatura digital.crv: Tipo de curva elíptica, comoP-256para a curva P-256 padronizada pelo NIST.kid: Identificador de chave personalizado, comoesa. O JWK deve incluir o campokidpara permitir a seleção de chave. A claim JWT na solicitação também deve incluir o campokid. Esse campo é usado para rotação de chave de token.x: Coordenada x da chave pública de curva elíptica.y: Coordenada y da chave pública de curva elíptica.alg: Identificador de algoritmo. Atualmente, há suporte apenas paraES256, que corresponde ao algoritmo de assinatura ECDSA com SHA-256.
Exemplo
{
"kty": "EC",
"use": "sig",
"crv": "P-256",
"kid": "esa",
"x": "QG3VFVwUX4IatQvBy7sqBvvmticCZ-eX5-nbtGKBOfI",
"y": "A3PXCshn7XcG7Ivvd2K_DerW4LHAlIVKdqhrUnczTD0",
"alg": "ES256"
}
