O JSON Web Token (JWT) transmite informações com segurança entre cliente e servidor como um objeto JSON. As informações são verificáveis e confiáveis porque os JWTs podem ser assinados com HMAC ou pares de chaves públicas/privadas RSA/ECDSA. O Cloud-native API Gateway usa a autenticação JWT para verificar identidades e controlar o acesso à API.
Pré-requisitos
Conhecimento básico sobre o padrão JWT. Para mais informações, consulte Introdução ao JWT.
Compreensão dos métodos de integração compatíveis: o serviço de autorização emite tokens para garantir a segurança e você configure o gateway com uma chave pública para verifique as assinaturas das requisições.
Uma chave privada e uma chave pública preparadas. O serviço de autorização usa a chave privada para assinar os JWTs. Você configure a chave pública no Cloud-native API Gateway para verifique a assinatura das requisições recebidas.
Contexto
O Cloud-native API Gateway oferece autenticação JWT para autorizar o acesso às suas APIs com base em tokens estruturados, ajudando a atender a requisitos personalizados de segurança.
Autenticação baseada em token
As APIs expostas pelo Cloud-native API Gateway precisam identificar os solicitantes e determinar se devem retornar os recursos requisitados. A autenticação baseada em token verifica a identidade do chamador sem armazenar informações de sessão no servidor, permitindo autorização stateless e simplificando o dimensionamento da aplicação.
Métodos de integração compatíveis

Crie uma regra de autenticação
Faça login no console do API Gateway.
No painel de navegação à esquerda, clique em . Na barra de navegação superior, selecione uma região.
Na página Instance, clique em no nome da instância de gateway desejada.
No painel de navegação à esquerda, clique em .
-
No canto superior esquerdo da página Global Authentication, clique em Create Authentication. Configure os parâmetros e clique em OK.
Parâmetro
Descrição
Enable
Ativa ou desativa a autenticação para o Cloud-native API Gateway.
Authentication Name
Nome personalizado para a regra de autenticação.
Authentication Type
Tipo de autenticação. O JWT é compatível por padrão.
Issuer
A claim
iss(emissor) do JWT. Identifica a entidade principal que emitiu o JWT.Sub
A claim
sub(assunto) do JWT. Identifica a entidade principal que é o assunto do JWT.JWKS
O JSON Web Key Set (JWKS) que contém a chave pública usada para verifique o JWT. Exemplo 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
Defina como extrair o JWT da requisição recebida.
-
Type: Localização do parâmetro de token na requisição. O valor padrão é Header.
-
Key: Nome do parâmetro de token.
-
Prefix: Prefixo do valor do parâmetro de token. Por padrão, o token é passado no cabeçalho Authorization com o prefixo
Bearer. Exemplo:Authorization: Bearer token. -
Enable Passthrough: Se selecionado, repassa o parâmetro de token ao serviço de backend.
Authorization
Modo de autorização. Os modos Whitelist Mode e Blacklist Mode são compatíveis.
-
Lista de permissões: Requisições correspondentes aos hosts e caminhos especificados ignoram a autenticação. Todas as outras exigem autenticação.
-
Lista de bloqueios: Requisições correspondentes aos hosts e caminhos especificados exigem autenticação. Todas as outras passam sem autenticação.
Clique em Rule Condition para defina o nome de domínio e o caminho da requisição.
-
Request Domain Name: Nome de domínio na requisição, correspondente aos hosts.
-
Request Path: Caminho da API na requisição, correspondente aos paths.
-
Visualize detalhes da regra de autenticação
Faça login no console do API Gateway.
No painel de navegação à esquerda, clique em . Na barra de navegação superior, selecione uma região.
Na página Instance, clique em no nome da instância de gateway desejada.
No painel de navegação à esquerda, clique em .
-
Na página Global Authentication, localize a regra de autenticação desejada e clique em Description na coluna Actions. Visualize as Basic Information e a Authentication Configuration da regra, além de gerencie suas Authorization Information.
A seção Basic Information inclui o nome e a source (por exemplo, JWT). A seção Authentication Configuration inclui campos como Issuer, Type (por exemplo, HEADER), a opção Enable Passthrough, Sub, Prefix (por exemplo, Bearer), Key (por exemplo, Authorization) e JWKS. A seção Authorization Information é compatível com o modo Whitelist, e o gateway avalia múltiplas condições de regra com lógica OR.
Na seção Authorization Information, clique em Create Authorization e insira um Request Domain Name e um Request Path na caixa de diálogo para adicionar uma nova regra de autorização.
Verifique o resultado
Retorne à página Global Authentication. Se a nova regra de autenticação estiver listada, a criação foi bem-sucedida.
Operações relacionadas
Também é possível gerencie as regras de autenticação do gateway da seguinte forma:
Ativar uma regra de autenticação: Na página Global Authentication, localize a regra de autenticação desejada e clique em Enable na coluna Actions.
Desativar uma regra de autenticação: Na página Global Authentication, localize a regra de autenticação desejada e clique em Close na coluna Actions.
Edite uma regra de autenticação: Na página Global Authentication, localize a regra de autenticação desejada e clique em Edit na coluna Actions.
Exclua uma regra de autenticação: Na página Global Authentication, localize a regra de autenticação desejada e clique em Delete na coluna Actions.
É necessário desativar uma regra de autenticação antes de excluí-la.
Documentação relacionada
Para conhecer outros mecanismos de autenticação, consulte Autenticação Global.