Verwenden der eigenen Domäne für die gehostete Benutzeroberfläche - Amazon Cognito

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.

Verwenden der eigenen Domäne für die gehostete Benutzeroberfläche

Nach dem Einrichten eines App-Clients können Sie Ihren Benutzerpool mit einer benutzerdefinierten Domäne für die in Amazon Cognito gehostete Benutzeroberfläche und Auth-API-Endpunkte konfigurieren. Mit einer benutzerdefinierten Domäne ermöglichen Sie den Benutzern, Ihre eigene Webadresse für die Anmeldung bei Ihrer Anwendung zu verwenden.

Hinzufügen einer benutzerdefinierten Domäne zu einem Benutzerpool

Zum Hinzufügen einer benutzerdefinierten Domäne zum Benutzerpool legen Sie den Domänennamen in der Amazon-Cognito-Konsole fest und stellen ein Zertifikat bereit, das Sie mit AWS Certificate Manager (ACM) verwalten. Wenn Sie die Domäne hinzugefügt haben, stellt Amazon Cognito ein Aliasziel zur Verfügung, das Sie zur DNS-Konfiguration hinzufügen.

Voraussetzungen

Bevor Sie anfangen, benötigen Sie:

  • Einen Benutzerpool mit einem App-Client. Weitere Informationen finden Sie unter Erste Schritte mit Benutzerpools.

  • Eine Web-Domäne, die Sie besitzen. Die übergeordnete Domain muss über einen gültigen A-Eintrag im DNS verfügen. Sie können diesem Datensatz einen beliebigen Wert zuweisen. Die übergeordnete Domain kann die Wurzel der Domain oder eine untergeordnete Domain sein, die in der Domainhierarchie eine Stufe höher ist. Wenn Ihre benutzerdefinierte Domain beispielsweise auth.xyz.example.com lautet, muss Amazon Cognito in der Lage sein, xyz.example.com in eine IP-Adresse aufzulösen. Damit versehentliche Auswirkungen auf die Kundeninfrastruktur verhindert werden, unterstützt Amazon Cognito die Verwendung von Top-Level-Domänen (TLDs) für benutzerdefinierte Domänen nicht. Weitere Informationen finden Sie unter Domänennamen.

  • Die Möglichkeit zum Erstellen einer Unterdomäne für die benutzerdefinierte Domäne. Wir empfehlen die Verwendung von auth als die Subdomäne. Zum Beispiel: auth.example.com.

    Anmerkung

    Möglicherweise müssen Sie ein neues Zertifikat für die Subdomäne Ihrer benutzerdefinierten Domäne beschaffen, wenn Sie kein Platzhalterzertifikat (Wildcard Certificate) haben.

  • Ein von ACM verwaltetes Secure-Sockets-Layer-(SSL)-Zertifikat.

    Anmerkung

    Sie müssen die AWS Region in der ACM-Konsole auf USA Ost (Nord-Virginia) ändern, bevor Sie ein Zertifikat anfordern oder importieren können.

  • Eine Anwendung, die es Ihrem Benutzerpool-Autorisierungsserver ermöglicht, Cookies zu Benutzersitzungen hinzuzufügen. Amazon Cognito setzt mehrere erforderliche Cookies für die gehostete Benutzeroberfläche. Dies sind beispielsweise cognito, cognito-fl und XSRF-TOKEN. Obwohl jedes einzelne Cookie den Größenbeschränkungen des Browsers entspricht, können Änderungen an Ihrer Benutzerpool-Konfiguration dazu führen, dass gehostete UI-Cookies an Größe zunehmen. Ein Zwischendienst wie ein Application Load Balancer (ALB) vor Ihrer benutzerdefinierten Domain kann eine maximale Header-Größe oder Gesamtcookie-Größe erzwingen. Wenn Ihre Anwendung auch ihre eigenen Cookies setzt, können die Sitzungen Ihrer Benutzer diese Grenzwerte überschreiten. Um Konflikte mit Größenbeschränkungen zu vermeiden, empfehlen wir, dass Ihre Anwendung keine Cookies in der gehosteten UI-Subdomain setzt.

  • Erlaubnis zur Aktualisierung von CloudFront Amazon-Distributionen. Fügen Sie hierzu die folgende IAM-Richtlinienanweisung einem Benutzer in Ihrem AWS-Konto an:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudFrontUpdateDistribution", "Effect": "Allow", "Action": [ "cloudfront:updateDistribution" ], "Resource": [ "*" ] } ] }

    Weitere Informationen zur Autorisierung von Aktionen finden Sie unter Verwenden identitätsbasierter Richtlinien (IAM-Richtlinien) für. CloudFront CloudFront

    Amazon Cognito verwendet zunächst Ihre IAM-Berechtigungen, um die CloudFront Verteilung zu konfigurieren, aber die Verteilung wird von verwaltet. AWS Sie können die Konfiguration der CloudFront Distribution, die Amazon Cognito Ihrem Benutzerpool zugeordnet hat, nicht ändern. Sie können also beispielsweise nicht die unterstützten TLS-Versionen in der Sicherheitsrichtlinie aktualisieren.

Schritt 1: Eingeben des benutzerdefinierten Domänennamens

Sie können dem Benutzerpool Ihre Domäne mithilfe der Amazon-Cognito-Konsole oder der API hinzufügen.

Amazon Cognito console
Domäne dem Benutzerpool über die Amazon-Cognito-Konsole hinzufügen:
  1. Melden Sie sich bei der Amazon Cognito-Konsole an. Geben Sie bei Aufforderung Ihre AWS -Anmeldeinformationen ein.

  2. Klicken Sie auf User pools (Benutzerpools).

  3. Wählen Sie den Benutzerpool aus, dem Sie die Domäne hinzufügen möchten.

  4. Wählen Sie die Registerkarte App integration (Anwendungsintegration) aus.

  5. Gehen Sie als nächstes zu Domain (Domäne), wählen Sie Actions (Aktionen) und dann Create custom domain (Benutzerdefinierte Domäne erstellen) aus.

    Anmerkung

    Wenn Sie bereits eine Benutzerpool-Domäne konfiguriert haben, wählen Sie Delete Cognito domain (Cognito-Domäne löschen) oder Delete custom domain (Benutzerdefinierte Domäne löschen) aus, um eine bestehende Domäne zu löschen, bevor Sie Ihre neue benutzerdefinierte Domäne erstellen.

  6. Geben Sie für Custom domain (Benutzerdefinierte Domäne) die URL der Domäne ein, die Sie mit Amazon Cognito verwenden möchten. Der Domänenname darf nur Kleinbuchstaben, Zahlen und Bindestriche enthalten. Verwenden Sie keinen Bindestrich als erstes oder letztes Zeichen. Trennen Sie die Namen von Unterdomänen durch Punkte.

  7. Wählen Sie für ACM certificate (ACM-Zertifikat) das SSL-Zertifikat aus, das Sie für die Domäne verwenden möchten. Nur ACM-Zertifikate in USA Ost (Nord-Virginia) können unabhängig von Ihrem Benutzerpool mit einer benutzerdefinierten Amazon Cognito Cognito-Domain verwendet werden. AWS-Region

    Wenn Sie kein verfügbares Zertifikat haben, können Sie ACM verwenden, um eines in USA Ost (Nord-Virginia) bereitzustellen. Weitere Informationen finden Sie unter Erste Schritte im AWS Certificate Manager -Benutzerhandbuch.

  8. Wählen Sie Create (Erstellen) aus.

  9. Amazon Cognito bringt Sie zurück zur Registerkarte App integration (Anwendungsintegration) zurück. Es wird Ihnen eine Nachricht mit dem Titel Create an alias record in your domain's DNS (Erstellen eines Alias-Datensatzes im DNS der Domäne) angezeigt. Notieren Sie die Domäne und das Alias-Ziel, das in der Konsole angezeigt wird. Sie werden im nächsten Schritt verwendet, um den Datenverkehr auf Ihre benutzerdefinierte Domäne weiterzuleiten.

API
Domäne mit Amazon-Cognito-API zu Benutzerpool hinzufügen:

Schritt 2: Hinzufügen eines Alias-Ziels und einer Subdomäne

In diesem Schritt richten Sie einen Alias über Ihren Domain Name Server (DNS)-Serviceanbieter ein, der auf das Alias-Ziel aus dem vorherigen Schritt zurück verweist. Wenn Sie Amazon Route 53 für die DNS-Adresse Auflösung verwenden, wählen Sie den Abschnitt Hinzufügen eines Alias-Ziels und einer Subdomäne mit Route 53.

  • Wenn Sie nicht Route 53 für die DNS-Adressauflösung verwenden, müssen Sie die Konfigurationstools Ihres DNS-Serviceanbieters verwenden, um das Alias-Ziel aus dem vorherigen Schritt zum DNS-Datensatz Ihrer Domäne hinzuzufügen. Ihre DNS-Anbieter muss außerdem die Subdomäne für Ihre benutzerdefinierte Domäne einrichten.

  1. Melden Sie sich bei der Route-53-Konsole an. Geben Sie bei Aufforderung Ihre AWS -Anmeldeinformationen ein.

  2. Wenn Sie keine gehostete Zone in Route 53 haben, erstellen Sie eine mit einem Stamm, der Ihrer benutzerdefinierten Domain übergeordnet ist. Weitere Informationen finden Sie unter

    1. Wählen Sie Create Hosted Zone.

    2. Geben Sie beispielsweise die übergeordnete Domäne auth.example.com Ihrer benutzerdefinierten Domain ein oder beispielsweise myapp.auth.example.com aus der Liste Domänenname.

    3. Geben Sie eine Beschreibung für Ihre gehostete Zone ein.

    4. Wählen Sie einen Typ einer gehosteten Zone aus Public hosted zone (Öffentliche gehostete Zone), damit öffentliche Clients die benutzerdefinierte Domäne auflösen können. Die Auswahl von Private hosted zone (Private gehostete Zone) wird nicht unterstützt.

    5. Wenden Sie Tags wie gewünscht an.

    6. Wählen Sie Erstellte gehostete Zone.

      Anmerkung

      Sie können auch eine neue gehostete Zone für Ihre benutzerdefinierte Domäne und einen Delegationssatz in der übergeordneten gehosteten Zone erstellen, der Abfragen an die gehostete Zone der Subdomäne weiterleitet. Andernfalls erstellen Sie einen A-Eintrag. Diese Methode bietet mehr Flexibilität und Sicherheit bei Ihren gehosteten Zonen. Weitere Informationen finden Sie unter Creating a subdomain for a domain hosted through Amazon Route 53 (Erstellen einer Subdomäne für eine über Amazon Route 53 gehostete Domäne).

  3. Wählen Sie auf der Seite Hosted Zones (Gehostete Zonen) den Namen Ihrer gehosteten Zone aus.

  4. Fügen Sie einen DNS-Eintrag für die übergeordnete Domain Ihrer benutzerdefinierten Domain hinzu, falls Sie noch keinen haben. Fügen Sie einen A DNS-Eintrag für die übergeordnete Domain hinzu und wählen Sie Einträge erstellen. Im Folgenden finden Sie ein Beispieldatensatz für die Domäne auth.example.com.

    auth.example.com. 60 IN A 198.51.100.1

    Anmerkung

    Amazon Cognito überprüft, dass es einen DNS-Datensatz für die übergeordnete Domäne Ihrer benutzerdefinierten Domäne gibt, um sich vor versehentlichem Hijacking von Produktionsdomänen zu schützen. Wenn Sie keinen DNS-Datensatz für die übergeordnete Domäne haben, gibt Amazon Cognito einen Fehler zurück, wenn Sie versuchen, die benutzerdefinierte Domäne festzulegen. Ein SOA-Eintrag (Start of Authority) ist kein ausreichender DNS-Eintrag für die Überprüfung der übergeordneten Domain.

  5. Fügen Sie einen DNS-Eintrag für Ihre benutzerdefinierte Domain hinzu. Ihr Eintrag muss beispielsweise auf das Alias-Ziel der benutzerdefinierten Domain verweisen123example.cloudfront.net. Wählen Sie erneut Create record (Datensatz erstellen) aus.

  6. Geben Sie einen Datensatznamen ein, der zum Namen Ihrer benutzerdefinierten Domäne passt, beispielsweise myapp zum Erstellen eines Datensatzes für myapp.auth.example.com.

  7. Aktivieren Sie die Option Alias.

  8. Wählen Sie unter Route traffic to (Datenverkehr weiterleiten an) die Option Alias to Cloudfront distribution (Alias an Cloudfront Distribution) aus. Geben Sie das von Amazon Cognito bereitgestellte Alias-Ziel ein, nachdem Sie die benutzerdefinierte Domäne erstellt haben.

  9. Wählen Sie Create records (Datensätze erstellen) aus.

    Anmerkung

    Es kann etwa 60 Sekunden dauern, bis Ihre neuen Datensätze auf alle Route-53-DNS-Server übertragen werden. Sie können die Route GetChange53-API-Methode verwenden, um zu überprüfen, ob Ihre Änderungen übernommen wurden.

Schritt 3: Überprüfen Ihrer Anmeldeseite

  • Stellen Sie sicher, dass die Anmeldeseite Ihrer benutzerdefinierten Domäne erreichbar ist.

    Melden Sie sich bei Ihrer benutzerdefinierten Domäne und Subdomäne an, indem Sie diese Adresse in Ihren Browser eingeben. Dies ist eine Beispiel-URL der benutzerdefinierten Domäne example.com mit der Subdomäne auth:

    https://myapp.auth.example.com/login?response_type=code&client_id=<your_app_client_id>&redirect_uri=<your_callback_url>

Ändern des SSL-Zertifikats für die benutzerdefinierte Domäne

Falls erforderlich, können Sie mit Amazon Cognito das Zertifikat ändern, das Sie für Ihre benutzerdefinierte Domäne übernommen haben.

Im Falle der routinemäßigen Zertifikaterneuerung mit ACM ist dies in der Regel nicht notwendig. Wenn Sie das vorhandene Zertifikat in ACM erneuern, bleibt der ARN für Ihr Zertifikat gleich und die benutzerdefinierte Domäne verwendet automatisch das neue Zertifikat.

Wenn Sie jedoch das vorhandene Zertifikat durch ein neues ersetzen, gibt ACM dem neuen Zertifikat einen neuen ARN. Sie müssen diesen ARN an Amazon Cognito übermitteln, um das neue Zertifikat für den benutzerdefinierten Domänennamen zu übernehmen.

Nachdem Sie Ihr neues Zertifikat bereitgestellt haben, dauert es max. eine Stunde, bis Amazon Cognito das Zertifikat an die benutzerdefinierte Domäne verteilt hat.

Bevor Sie beginnen

Bevor Sie das Zertifikat in Amazon Cognito ändern können, müssen Sie es ACM hinzufügen. Weitere Informationen finden Sie unter Erste Schritte im AWS Certificate Manager -Benutzerhandbuch.

Wenn Sie Ihr Zertifikat zu ACM hinzufügen, müssen Sie als AWS -Region USA Ost (Nord-Virginia) auswählen.

Sie können das Zertifikat mit der Amazon-Cognito-Konsole oder der API ändern.

AWS Management Console
Zertifikat über die Amazon-Cognito-Konsole erneuern:
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon Cognito Cognito-Konsole unterhttps://console.aws.amazon.com/cognito/home.

  2. Wählen Sie User Pools (Benutzerpools) aus.

  3. Wählen Sie den Benutzerpool aus, für den Sie das Zertifikat aktualisieren möchten.

  4. Wählen Sie die Registerkarte App integration (Anwendungsintegration) aus.

  5. Wählen Sie Actions (Aktionen), Edit ACM certificate (ACM-Zertifikat bearbeiten) aus.

  6. Wählen Sie das neue Zertifikat aus, das Sie Ihrer benutzerdefinierten Domäne zuordnen möchten.

  7. Wählen Sie Save Changes.

API
So erneuern Sie ein Zertifikat (Amazon-Cognito-API)