Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
JWTs Mit einem Application Load Balancer verifizieren
Sie können einen Application Load Balancer (ALB) konfigurieren, um JSON-Web-Tokens (JWT) zu verifizieren, die von Clients für sichere service-to-service (S2S) oder machine-to-machine (M2M) Kommunikation bereitgestellt werden. Der Load Balancer kann ein JWT unabhängig davon, wie es ausgestellt wurde, und ohne menschliche Interaktion verifizieren.
ALB validiert die Tokensignatur und verlangt zwei Pflichtangaben: „iss“ (Aussteller) und „exp“ (Ablauf). Falls im Token vorhanden, validiert ALB außerdem die Ansprüche „nbf“ (nicht vorher) und „iat“ (zu einem bestimmten Zeitpunkt ausgestellt). Sie können bis zu 10 zusätzliche Ansprüche für die Validierung konfigurieren. Diese Ansprüche unterstützen drei Formate:
-
Einzelzeichenfolge: Ein einzelner Textwert
-
Durch Leerzeichen getrennte Werte: Mehrere durch Leerzeichen getrennte Werte (maximal 10 Werte)
-
String-Array: Ein Array von Textwerten (maximal 10 Werte)
Wenn das Token gültig ist, leitet der Load Balancer die Anfrage mit dem Token unverändert an das Ziel weiter. Andernfalls wird die Anforderung abgelehnt.
Bereiten Sie sich auf die Verwendung der JWT-Verifizierung vor
Führen Sie die folgenden Schritte aus:
-
Registrieren Sie Ihren Service bei einem IdP, der eine Client-ID und ein Client-Geheimnis ausgibt.
-
Rufen Sie den IdP separat an, um Zugriff auf einen Dienst anzufordern. Der IdP antwortet mit einem Zugriffstoken. Dieses Token ist normalerweise ein JWT, das vom IdP signiert wurde.
-
Richten Sie einen JSON Web Key Sets (JWKS) -Endpunkt ein. Der Load Balancer ruft den öffentlichen Schlüssel ab, der vom IdP an einem bekannten Ort veröffentlicht wurde, den Sie konfigurieren.
-
Nehmen Sie das JWT in einen Anforderungsheader auf und leiten Sie es bei jeder Anfrage an den Application Load Balancer weiter.
Um die JWT-Verifizierung mithilfe der Konsole zu konfigurieren
-
Öffnen Sie die EC2 Amazon-Konsolenkonsole unter https://console.aws.amazon.com/ec2/
. -
Wählen Sie im Navigationsbereich unter LOAD BALANCING die Option Load Balancers aus.
-
Wählen Sie Ihren Application Load Balancer und dann die Registerkarte Listeners.
-
Wählen Sie einen HTTPS-Listener aus und klicken Sie auf Regeln verwalten.
-
Wählen Sie Regel hinzufügen aus.
-
(Optional) Um einen Namen für Ihre Regel anzugeben, erweitern Sie Name und Tags und geben Sie den Namen ein. Um weitere Tags hinzuzufügen, wählen Sie Zusätzliche Tags hinzufügen und geben Sie den Tag-Schlüssel und den Tag-Wert ein.
-
Definieren Sie unter Bedingungen 1—5 Bedingungswerte
-
(Optional) Um eine Transformation hinzuzufügen, wählen Sie Transformation hinzufügen aus, wählen Sie den Transformationstyp aus und geben Sie einen regulären Ausdruck für den Abgleich und eine Ersatzzeichenfolge ein.
-
Wählen Sie unter Aktionen, Aktion vor dem Routing die Option Token validieren aus.
-
Geben Sie für den JWKS-Endpunkt die URL Ihres JSON Web Key Set-Endpunkts ein. Dieser Endpunkt muss öffentlich zugänglich sein und die öffentlichen Schlüssel zurückgeben, die zur Überprüfung der JWT-Signaturen verwendet wurden.
-
Geben Sie für Issuer den erwarteten Wert des ISS-Anspruchs in Ihre JWT-Token ein.
-
(Optional) Um weitere Ansprüche zu validieren, wählen Sie Zusätzlicher Anspruch.
Geben Sie unter Name des Antrags den Namen des zu validierenden Anspruchs ein.
Wählen Sie unter Format aus, wie die Anspruchswerte interpretiert werden sollen:
-
Einzelne Zeichenfolge: Der Anspruch muss genau einem angegebenen Wert entsprechen.
-
Zeichenkettenarray: Der Anspruch muss mit einem der Werte in einem Array übereinstimmen.
-
Durch Leerzeichen getrennte Werte: Der Anspruch enthält durch Leerzeichen getrennte Werte, die die angegebenen Werte enthalten müssen.
-
-
Geben Sie unter Werte die erwarteten Werte für den Anspruch ein.
-
Wiederholen Sie den Vorgang für weitere Ansprüche (maximal 10 Ansprüche).
-
-
Wählen Sie unter Aktionen, Routing-Aktion die primäre Aktion (Weiterleiten an, Umleiten an oder Feste Antwort zurücksenden) aus, die nach erfolgreicher Token-Validierung ausgeführt werden soll.
-
Konfigurieren Sie die primäre Aktion nach Bedarf
-
Wählen Sie Speichern.
So konfigurieren Sie die JWT-Überprüfung mit CLI
Verwenden Sie den folgenden Befehl create-rule, um die JWT-Überprüfung zu konfigurieren.
Erstellen Sie eine Listener-Regel mit einer Aktion zur Überprüfung. JWTs Der Listener muss ein HTTPS-Listener sein.
aws elbv2 create-rule \ --listener-arnlistener-arn\ --priority10\ --conditions Field=path-pattern,Values="/login" \ --actions file://actions.json
Im Folgenden finden Sie ein Beispiel für die actions.json Datei, die eine jwt-validation Aktion und eine forward Aktion spezifiziert. In der Dokumentation Ihres Identitätsanbieters ist angegeben, welche Felder unterstützt werden.
--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 } ]'
Das folgende Beispiel gibt einen zusätzlichen Anspruch an, der überprüft werden muss.
--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 } ]'
Weitere Informationen finden Sie unter Listener-Regeln für Ihren Application Load Balancer.