Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Verifica JWTs utilizzando un Application Load Balancer
È possibile configurare un Application Load Balancer (ALB) per verificare i JSON Web Tokens (JWT) forniti dai client per comunicazioni sicure (S2S) o service-to-service (M2M). machine-to-machine Il load balancer può verificare un JWT indipendentemente da come è stato emesso e senza interazione umana.
ALB convaliderà la firma del token e richiederà due attestazioni obbligatorie: 'iss' (emittente) e 'exp' (scadenza). Inoltre, se presenti nel token, ALB convaliderà anche le attestazioni «nbf» (non precedenti) e «iat» (emesse al momento). Puoi configurare fino a 10 attestazioni aggiuntive per la convalida. Queste attestazioni supportano tre formati:
-
Stringa singola: un singolo valore di testo
-
Valori separati da spazi: valori multipli separati da spazi (massimo 10 valori)
-
String-array: una matrice di valori di testo (massimo 10 valori)
Se il token è valido, il load balancer inoltra la richiesta con il token così com'è alla destinazione. In caso contrario, la richiesta viene respinta.
Preparati a utilizzare la verifica JWT
Completa le seguenti operazioni:
-
Registra il tuo servizio con un IdP, che emette un ID cliente e un segreto cliente.
-
Effettua una chiamata separata all'IdP per richiedere l'accesso a un servizio. L'IdP risponde con un token di accesso. Questo token è in genere un JWT firmato dall'IdP.
-
Configura un endpoint JSON Web Key Sets (JWKS). Il load balancer acquisisce la chiave pubblica pubblicata dall'IdP in una posizione nota configurata dall'utente.
-
Includi il JWT nell'intestazione di una richiesta e inoltralo all'Application Load Balancer in ogni richiesta.
Per configurare la verifica JWT tramite console
-
Apri la console della EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/
. -
Nel pannello di navigazione, sotto Bilanciamento del carico, scegli Sistemi di bilanciamento del carico.
-
Seleziona il tuo Application Load Balancer e scegli la scheda Listeners.
-
Seleziona un listener HTTPS e scegli Gestisci regole.
-
Scegli Aggiungi regola.
-
(Facoltativo) Per specificare un nome per la regola, espandi Nome e tag e inserisci il nome. Per aggiungere altri tag, scegli Aggiungi tag aggiuntivi e inserisci la chiave del tag e il valore del tag.
-
In Condizioni, definisci da 1 a 5 valori di condizione
-
(Facoltativo) Per aggiungere una trasformazione, scegliete Aggiungi trasformazione, scegliete il tipo di trasformazione e immettete un'espressione regolare da abbinare e una stringa sostitutiva.
-
Per Azioni, Azione di pre-routing, scegliete Convalida token.
-
Per l'endpoint JWKS, inserisci l'URL del tuo endpoint JSON Web Key Set. Questo endpoint deve essere accessibile al pubblico e restituire le chiavi pubbliche utilizzate per verificare le firme JWT.
-
Per Emittente, inserisci il valore previsto del reclamo iss nei tuoi token JWT.
-
(Facoltativo) Per convalidare reclami aggiuntivi, scegli Reclamo aggiuntivo.
Per Nome del reclamo, inserisci il nome del reclamo da convalidare.
Per Formato, scegli come devono essere interpretati i valori dell'attestazione:
-
Stringa singola: l'attestazione deve corrispondere esattamente a un valore specificato.
-
Matrice di stringhe: l'affermazione deve corrispondere a uno dei valori di una matrice.
-
Valori separati da spazi: l'attestazione contiene valori separati da spazi che devono includere i valori specificati.
-
-
Per Valori, inserisci i valori previsti per l'attestazione.
-
Ripetere l'operazione per ulteriori reclami (massimo 10 reclami).
-
-
Per Azioni, Azione di routing, seleziona l'azione principale (Inoltra a, Reindirizza a o Restituisci risposta fissa) da eseguire dopo la corretta convalida del token.
-
Configura l'azione principale in base alle esigenze
-
Scegli Save (Salva).
Per configurare la verifica JWT tramite CLI
Usa il seguente comando create-rule per configurare la verifica JWT.
Crea una regola listener con un'azione da verificare. JWTs Il listener deve essere un listener HTTPS.
aws elbv2 create-rule \ --listener-arnlistener-arn\ --priority10\ --conditions Field=path-pattern,Values="/login" \ --actions file://actions.json
Di seguito è riportato un esempio del actions.json file che specifica un'jwt-validationazione e un'azione. forward Seguire la documentazione fornita dal provider di identità per determinare quali campi sono supportati.
--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'esempio seguente specifica un claim aggiuntivo da convalidare.
--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 } ]'
Per ulteriori informazioni, consulta Regole dell'ascoltatore per Application Load Balancer.