Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Vérifier JWTs à l'aide d'un Application Load Balancer
Vous pouvez configurer un Application Load Balancer (ALB) pour vérifier les jetons Web JSON (JWT) fournis par les clients pour des communications sécurisées service-to-service (S2S) ou (M2M). machine-to-machine L'équilibreur de charge peut vérifier un JWT quelle que soit la manière dont il a été émis et sans interaction humaine.
ALB validera la signature du jeton et exigera deux demandes obligatoires : « iss » (émetteur) et « exp » (expiration). De plus, si le jeton est présent dans le jeton, ALB validera également les réclamations « nbf » (pas avant) et « iat » (émises à ce moment-là). Vous pouvez configurer jusqu'à 10 demandes supplémentaires pour validation. Ces allégations prennent en charge trois formats :
-
Chaîne unique : une seule valeur de texte
-
Valeurs séparées par des espaces : valeurs multiples séparées par des espaces (maximum de 10 valeurs)
-
String-array : tableau de valeurs de texte (maximum 10 valeurs)
Si le jeton est valide, l'équilibreur de charge transmet la demande avec le jeton tel quel à la cible. Sinon, il rejette la demande.
Préparez-vous à utiliser la vérification JWT
Réalisez les tâches suivantes :
-
Enregistrez votre service auprès d'un IdP, qui émet un identifiant client et un secret client.
-
Appelez séparément l'IdP pour demander l'accès à un service. L'IdP répond avec un jeton d'accès. Ce jeton est généralement un JWT signé par l'IdP.
-
Configurez un point de terminaison JWKS (Web Key Sets) au format JSON. L'équilibreur de charge acquiert la clé publique publiée par l'IdP dans un emplacement connu que vous configurez.
-
Incluez le JWT dans un en-tête de demande et transmettez-le à l'Application Load Balancer dans chaque demande.
Pour configurer la vérification JWT à l'aide de la console
-
Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/
. -
Dans le panneau de navigation, sous Load Balancing (Équilibrage de charge), choisissez Load Balancers (Équilibreurs de charge).
-
Sélectionnez votre Application Load Balancer et choisissez l'onglet Listeners.
-
Sélectionnez un écouteur HTTPS, puis choisissez Gérer les règles.
-
Choisissez Ajouter une règle.
-
(Facultatif) Pour donner un nom à votre règle, développez Nom et balises, puis entrez le nom. Pour ajouter des balises supplémentaires, choisissez Ajouter des balises supplémentaires et entrez la clé de balise et la valeur de la balise.
-
Sous Conditions, définissez 1 à 5 valeurs de condition
-
(Facultatif) Pour ajouter une transformation, choisissez Ajouter une transformation, choisissez le type de transformation, puis entrez une expression régulière correspondante ainsi qu'une chaîne de remplacement.
-
Pour Actions, Action de pré-routage, choisissez Valider le jeton.
-
Pour le point de terminaison JWKS, entrez l'URL de votre point de terminaison JSON Web Key Set. Ce point de terminaison doit être accessible au public et renvoyer les clés publiques utilisées pour vérifier les signatures JWT.
-
Pour l'émetteur, entrez la valeur attendue de la réclamation iss dans vos jetons JWT.
-
(Facultatif) Pour valider des demandes supplémentaires, sélectionnez Réclamation supplémentaire.
Dans Nom de la réclamation, entrez le nom de la réclamation à valider.
Dans Format, choisissez la manière dont les valeurs de réclamation doivent être interprétées :
-
Chaîne unique : La réclamation doit correspondre exactement à une valeur spécifiée.
-
Tableau de chaînes : la réclamation doit correspondre à l'une des valeurs d'un tableau.
-
Valeurs séparées par des espaces : La réclamation contient des valeurs séparées par des espaces qui doivent inclure les valeurs spécifiées.
-
-
Dans Valeurs, entrez les valeurs attendues pour la réclamation.
-
Répétez l'opération pour les demandes supplémentaires (maximum 10 demandes).
-
-
Pour Actions, Action de routage, sélectionnez l'action principale (Transférer vers, Rediriger vers ou Retourner une réponse fixe) qui doit être exécutée après la validation réussie du jeton.
-
Configurer l'action principale selon les besoins
-
Choisissez Enregistrer.
Pour configurer la vérification JWT à l'aide de la CLI
Utilisez la commande create-rule suivante pour configurer la vérification JWT.
Créez une règle d'écoute avec une action à vérifier JWTs. L'écouteur doit être un écouteur HTTPS.
aws elbv2 create-rule \ --listener-arnlistener-arn\ --priority10\ --conditions Field=path-pattern,Values="/login" \ --actions file://actions.json
Voici un exemple de actions.json fichier qui spécifie une jwt-validation action et une forward action. Veuillez suivre la documentation fournie par votre fournisseur d'identité pour déterminer les champs pris en charge
--actions '[ { "Type":"jwt-validation", "JwtValidationConfig":{ "JwksEndpoint":"https://issuer.example.com/.well-known/jwks.json", "Issuer":"https://issuer.com" }, "Order":1 }, { "Type":"forward", "TargetGroupArn":"target-group-arn", "Order":2 } ]'
L'exemple suivant indique une réclamation supplémentaire à valider.
--actions '[ { "Type":"jwt-validation", "JwtValidationConfig":{ "JwksEndpoint":"https://issuer.example.com/.well-known/jwks.json", "Issuer":"https://issuer.com", "AdditionalClaims":[ { "Format":"string-array", "Name":"claim_name", "Values":["value1","value2"] } ], }, "Order":1 }, { "Type":"forward", "TargetGroupArn":"target-group-arn", "Order":2 } ]'
Pour de plus amples informations, veuillez consulter Règles d'écouteur pour votre Application Load Balancer.