Wie richte ich einen Application Load Balancer ein, damit ich Benutzer über einen Amazon-Cognito-Benutzerpool authentifizieren kann?

Lesedauer: 5 Minute
0

Ich möchte einen Application Load Balancer in einen Amazon-Cognito-Benutzerpool für die Benutzerauthentifizierung integrieren.

Kurzbeschreibung

Um Benutzer zu verwalten und zu authentifizieren, können Sie einen Application Load Balancer in einen Amazon-Cognito-Benutzerpool integrieren. Gehen Sie wie folgt vor, um die Benutzerauthentifizierung mit einem Application Load Balancer und einem Amazon-Cognito-Benutzerpool einzurichten:

1.    Erstellen Sie einen Application Load Balancer und rufen Sie seinen DNS-Namen ab.

2.    Erstellen und konfigurieren Sie einen Amazon-Cognito-Benutzerpool.

3.    Konfigurieren Sie den Application Load Balancer.

4.    Testen Sie die Einrichtung.

Lösung

Gehen Sie wie folgt vor, um einen Application Load Balancer und einen Amazon-Cognito-Benutzerpool zur Authentifizierung Ihrer Anwendungsbenutzer zu konfigurieren.

Application Load Balancer erstellen

Hinweis: Wenn Sie bereits einen Application Load Balancer konfiguriert haben, fahren Sie mit dem nächsten Abschnitt fort.

1.    Erstellen Sie einen mit dem Internet verbundenen Application Load Balancer.

2.    Erstellt einen HTTPS-Listeners für Ihren Application Load Balancer.

Hinweis: Nur HTTPS-Listener unterstützen die Regelaktionstypen authenticate-cognito und authenticate-oidc.

Holen Sie sich den DNS-Namen Ihres Application Load Balancers

1.    Öffnen Sie die Amazon Elastic Compute Cloud (Amazon EC2)-Konsole.

2.    Wählen Sie im Navigationsbereich Load Balancers unter Load Balancing.

3.    Wählen Sie Ihren Application Load Balancer aus.

4.    Kopieren und speichern Sie auf der Registerkarte Beschreibung den DNS-Namen Ihres Load Balancers. Verwenden Sie diesen DNS-Namen, um zu Testzwecken auf die Endpunkt-URL Ihres Application Load Balancers zuzugreifen.

Erstellen und konfigurieren Sie einen Amazon-Cognito-Benutzerpool

1.    Erstellen Sie einen Amazon-Cognito-Benutzerpool mit einem App-Client. Wählen Sie bei der Konfiguration des App-Clients das Optionsfeld Client-Geheimnis generieren aus.

Weitere Informationen finden Sie unter Vorbereiten der Verwendung von Amazon Cognito.

Hinweis: Wenn Sie den Benutzerpool erstellen, konfigurieren Sie die Einstellungen, die Sie für die Produktion wünschen. Nachdem Sie den Benutzerpool erstellt haben, können Sie einige Benutzerpooleinstellungen nicht ändern. Beispielsweise können Sie die erforderlichen Standardattribute für die Benutzerregistrierung nicht ändern.

2.    Öffnen Sie die Amazon-Cognito-Konsole.

3.    Wählen Sie im Navigationsbereich Benutzerpools und dann Ihren Benutzerpool aus. Kopieren und speichern Sie die Benutzerpool-ID. Verwenden Sie diese ID, um Ihren Application Load Balancer für die Benutzerauthentifizierung zu konfigurieren.

4.    Wählen Sie die Registerkarte App-Integration für Ihren Benutzerpool und fügen Sie dann eine Domäne für Ihren Benutzerpool hinzu.

5.    Navigieren Sie auf der Registerkarte App-Integration für Ihren Benutzerpool zum Abschnitt App-Clients und Analysen. Wählen Sie dann Ihren App-Client aus.

6.    Kopieren und speichern Sie auf der App-Client-Seite unter App-Client-Informationen die Client-ID. Verwenden Sie diese ID, um Ihren Application Load Balancer für die Benutzerauthentifizierung zu konfigurieren.

7.    Wählen Sie im Bereich Gehostete Benutzeroberfläche die Option Bearbeiten aus.

8.    Wählen Sie Rückruf-URL hinzufügen und geben Sie dann https://loadBalancerDNSName/oauth2/idpresponse ein.

-oder-

Wenn Sie einen CNAME-Eintrag verwendet haben, um Ihrem Application Load Balancer eine benutzerdefinierte Domäne zuzuordnen, geben Sie https://CNAME/oauth2/idpresponse ein.

Hinweis: Ersetzen Sie loadBalancerDNSName durch den DNS-Namen, den Sie von der Amazon-EC2-Konsole kopiert haben. Wenn Sie einen CNAME-Eintrag verwenden, ersetzen Sie CNAME durch Ihre benutzerdefinierte Domäne.

9.    Wählen Sie Abmelde-URL hinzufügen aus, und geben Sie dann eine URL ein, zu der Sie Ihre Benutzer nach dem Abmelden weiterleiten möchten. Zum Testen können Sie eine beliebige gültige URL eingeben, z. B. https://example.com/.

10.    Aktivieren Sie für Identitätsanbieter das Kontrollkästchen Cognito-Benutzerpool.

11.    Aktivieren Sie unter OAuth-2.0-Gewährungstypen das Kontrollkästchen Autorisierungscode gewähren. Wählen Sie weitere OAuth-Gewährungstypen entsprechend Ihren Anforderungen aus.

12.    Aktivieren Sie unter OpenID-Connect-Geltungsbereichen das Kontrollkästchen OpenID. Der OpenID-Bereich gibt ein ID-Token zurück. Wählen Sie weitere OpenID-Connect-Bereiche (OIDC) entsprechend Ihren Anforderungen aus.

13.    Wählen Sie Änderungen speichern.

Weitere Informationen finden Sie unter Konfiguration eines Benutzerpool-App-Clients und Hinzufügen einer Benutzerpool-Anmeldung über einen Drittanbieter.

Application Load Balancer konfigurieren

1.    Öffnen Sie die Amazon-EC2-Konsole.

2.    Wählen Sie im Navigationsbereich Load Balancers unter Load Balancing.

3.    Wählen Sie Ihren Application Load Balancer aus.

4.    Wählen Sie auf der Registerkarte Listener die HTTPS-Listener-Standardregel aus, die Sie aktualisieren möchten, und klicken Sie dann auf Aktionen, Regeln verwalten.

5.    Bearbeiten Sie die HTTPS-Listener-Standardregel mit den folgenden Einstellungen:

  • Wählen Sie für DANN****Aktion hinzufügen aus.
  • Wählen Sie Authentifizieren.
  • Wählen Sie für Authentifizieren****Amazon Cognito.
  • Geben Sie für den Benutzerpool die Benutzerpool-ID ein, die Sie von der Amazon-Cognito-Konsole kopiert haben.
  • Geben Sie für den App-Client die Client-ID ein, die Sie von der Amazon-Cognito-Konsole kopiert haben.
  • Wählen Sie Erweiterte Einstellungen aus.
  • Geben Sie unter Bereich die Bereiche ein, die Sie für Ihren Benutzerpool-App-Client konfiguriert haben, durch Leerzeichen getrennt. Sie finden die Bereiche in der OIDC-Konfiguration Ihres Benutzerpools. Wenn der Wert scopes_supported in der Konfiguration beispielsweise [„openid“, „email“, „phone“, „profile“] ist, geben Sie das openid-E-Mail-Telefonprofil ein.
  • Wählen Sie das Häkchensymbol.

6.    Fahren Sie mit der Bearbeitung der HTTPS-Listener-Standardregel mit den folgenden Einstellungen fort:

  • Wählen Sie für DANN****Aktion hinzufügen aus.
    Hinweis: Wenn Sie Aktion hinzufügen nicht auswählen können, verwenden Sie das Papierkorbsymbol, um die bestehende Routing-Aktion zu löschen, z. B. Weiterleiten zu. Versuchen Sie es dann erneut.
  • Wählen Sie Weiterleiten zu.
  • Wählen Sie unter Weiterleiten an eine oder mehrere Zielgruppen aus.
  • (Optional) Konfigurieren Sie die Stickiness auf Gruppenebene.
  • Wählen Sie das Häkchensymbol.

7.    Wählen Sie Update, um die HTTPS-Listener-Standardregel zu aktualisieren.

Einrichtung testen

Geben Sie in Ihrem Webbrowser eine der folgenden URLs ein:

  • https://loadBalancerDNSName/
  • https://CNAME/

Hinweis: Ersetzen Sie loadBalancerDNSName durch den DNS-Namen, den Sie von der Amazon-EC2-Konsole kopiert haben. Oder ersetzen Sie CNAME durch Ihre benutzerdefinierte Domäne. Sie werden zur von Amazon Cognito gehosteten Web-UI für Ihren Benutzerpool weitergeleitet. Nachdem sich Benutzer angemeldet haben und der Benutzerpool sie authentifiziert hat, werden die Benutzer zum Ziel umgeleitet.


Ähnliche Informationen

Erste Schritte mit dem Application Load Balancers

Vereinfachen Sie die Anmeldung mit der integrierten Application-Load-Balancer-Authentifizierung

Listener-Regeln für Ihren Application Load Balancer

OIDC-Benutzerpool-IdP-Authentifizierungsablauf

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr