JSON Web Token (JWT) permet de transmettre des informations de manière sécurisée entre un client et un serveur sous la forme d'un objet JSON. Ces informations sont vérifiables et fiables, car les jetons JWT peuvent être signés à l'aide de HMAC ou de paires de clés publiques/privées RSA/ECDSA. Cloud-native API Gateway utilise l'authentification JWT pour vérifier les identités et contrôler l'accès aux API.
Prérequis
Vous possédez une connaissance de base de la norme JWT. Pour plus d'informations, consultez la page Introduction to JWT.
Vous comprenez les méthodes d'intégration prises en charge : votre service d'autorisation émet des jetons pour garantir la sécurité, et vous configurez la passerelle avec une clé publique afin de vérifier les signatures des requêtes.
Vous avez préparé une clé privée et une clé publique. Le service d'autorisation utilise la clé privée pour signer les jetons JWT. Vous configurez la clé publique dans Cloud-native API Gateway pour vérifier la signature des requêtes entrantes.
Contexte
Cloud-native API Gateway propose l'authentification JWT pour autoriser l'accès à vos API sur la base de jetons structurés, ce qui vous aide à répondre à des exigences de sécurité personnalisées.
Authentification par jeton
Les API exposées via Cloud-native API Gateway doivent identifier les demandeurs et déterminer s'il convient de renvoyer les ressources demandées. L'authentification par jeton vérifie l'identité de l'appelant sans stocker d'informations de session sur le serveur, permettant ainsi une autorisation sans état et simplifiant la mise à l'échelle des applications.
Méthodes d'intégration prises en charge

Créer une règle d'authentification
Connectez-vous à la console API Gateway.
Dans le volet de navigation de gauche, cliquez sur . Dans la barre de navigation supérieure, sélectionnez une région.
Sur la page Instance, cliquez sur le nom de l'instance de passerelle cible.
Dans le volet de navigation de gauche, cliquez sur .
-
Dans le coin supérieur gauche de la page Global Authentication, cliquez sur Create Authentication. Configurez les paramètres, puis cliquez sur OK.
Paramètre
Description
Enable
Indique s'il faut activer l'authentification pour Cloud-native API Gateway.
Authentication Name
Nom personnalisé de la règle d'authentification.
Authentication Type
Type d'authentification. JWT est pris en charge par défaut.
Issuer
Revendication
iss(émetteur) du JWT. Cette revendication identifie l'entité principale qui a émis le JWT.Sub
Revendication
sub(sujet) du JWT. Cette revendication identifie l'entité principale qui est le sujet du JWT.JWKS
Jeu de clés web JSON (JWKS) contenant la clé publique utilisée pour vérifier le JWT. Voici un exemple de format :
{ "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
Configure la manière dont le JWT est extrait de la requête entrante.
-
Type : emplacement du paramètre de jeton dans la requête. La valeur par défaut est Header.
-
Key : nom du paramètre de jeton.
-
Prefix : préfixe de la valeur du paramètre de jeton. Par défaut, le jeton est transmis dans l'en-tête Authorization avec le préfixe
Bearer, par exemple :Authorization: Bearer token. -
Enable Passthrough : si cette option est sélectionnée, le paramètre de jeton est transmis au service backend.
Authorization
Mode d'autorisation. Les modes Whitelist Mode et Blacklist Mode sont pris en charge.
-
Liste d'autorisation : les requêtes correspondant aux hôtes et aux chemins spécifiés peuvent contourner l'authentification. Toutes les autres requêtes nécessitent une authentification.
-
Liste de blocage : les requêtes correspondant aux hôtes et aux chemins spécifiés nécessitent une authentification. Toutes les autres requêtes passent sans authentification.
Cliquez sur Rule Condition pour définir le nom de domaine et le chemin de la requête.
-
Request Domain Name : nom de domaine dans la requête, qui correspond aux hôtes.
-
Request Path : chemin de l'API dans la requête, qui correspond aux chemins.
-
Afficher les détails d'une règle d'authentification
Connectez-vous à la console API Gateway.
Dans le volet de navigation de gauche, cliquez sur . Dans la barre de navigation supérieure, sélectionnez une région.
Sur la page Instance, cliquez sur le nom de l'instance de passerelle cible.
Dans le volet de navigation de gauche, cliquez sur .
-
Sur la page Global Authentication, recherchez la règle d'authentification cible et cliquez sur Description dans la colonne Actions. Vous pouvez consulter les sections Basic Information et Authentication Configuration de la règle, et gérer ses Authorization Information.
La section Basic Information inclut le nom et la source (par exemple, JWT). La section Authentication Configuration comprend des champs tels que Issuer, Type (par exemple, HEADER), l'option Enable Passthrough, Sub, Prefix (par exemple, Bearer), Key (par exemple, Authorization) et JWKS. La section Authorization Information prend en charge le mode Whitelist, et la passerelle évalue plusieurs conditions de règle avec une logique OU.
Dans la section Authorization Information, cliquez sur Create Authorization, et saisissez un Request Domain Name et un Request Path dans la boîte de dialogue pour ajouter une nouvelle règle d'autorisation.
Vérifier le résultat
Revenez à la page Global Authentication. Si la nouvelle règle d'authentification est répertoriée, la création a réussi.
Opérations connexes
Vous pouvez également gérer les règles d'authentification de la passerelle comme suit :
Activer une règle d'authentification : sur la page Global Authentication, recherchez la règle d'authentification cible et cliquez sur Enable dans la colonne Actions.
Désactiver une règle d'authentification : sur la page Global Authentication, recherchez la règle d'authentification cible et cliquez sur Close dans la colonne Actions.
Modifier une règle d'authentification : sur la page Global Authentication, recherchez la règle d'authentification cible et cliquez sur Edit dans la colonne Actions.
Supprimer une règle d'authentification : sur la page Global Authentication, recherchez la règle d'authentification cible et cliquez sur Delete dans la colonne Actions.
Vous devez désactiver une règle d'authentification avant de pouvoir la supprimer.
Documentation connexe
Pour en savoir plus sur d'autres mécanismes d'authentification, consultez la rubrique Authentification globale.