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

Nachdem Sie einen App-Client eingerichtet haben, können Sie Ihren Benutzerpool mit einer benutzerdefinierten Domain für die von Amazon Cognito gehostete Benutzeroberfläche und die Autorisierungsserver-Endpunkte konfigurieren. Mit einer benutzerdefinierten Domain können sich Benutzer mit Ihrer eigenen Webadresse statt mit der standardmäßigen Amazon Cognito Cognito-Domain bei Ihrer Anwendung anmelden. Benutzerdefinierte Domänen verbessern das Vertrauen der Benutzer in Ihre Anwendung mit einem vertrauten Domainnamen, insbesondere wenn die Stammdomain mit der Domain übereinstimmt, die Ihre Anwendung hostet. Benutzerdefinierte Domänen können auch die Sicherheitsanforderungen des Unternehmens erfüllen.

Für eine benutzerdefinierte Domain sind einige Voraussetzungen erforderlich, darunter ein Benutzerpool, ein App-Client und eine Webdomain, die Sie besitzen. Für benutzerdefinierte Domänen ist außerdem ein SSL Zertifikat für die benutzerdefinierte Domain erforderlich, die mit AWS Certificate Manager (ACM) in USA Ost (Nord-Virginia) verwaltet wird. Amazon Cognito erstellt eine CloudFront Amazon-Distribution, die während der Übertragung mit Ihrem ACM Zertifikat gesichert ist. Dabei muss es sich um das DNS Alias-Ziel Ihres benutzerdefinierten Domainnamens handeln.

Nachdem diese Elemente fertig sind, können Sie die benutzerdefinierte Domain über die Amazon Cognito Cognito-Konsole oder API zu Ihrem Benutzerpool hinzufügen. Dazu müssen Sie den Domainnamen und das SSL Zertifikat angeben und anschließend Ihre DNS Konfiguration mit dem angegebenen Alias-Ziel aktualisieren. Nachdem Sie diese Änderungen vorgenommen haben, können Sie überprüfen, ob die Anmeldeseite in Ihrer benutzerdefinierten Domain zugänglich ist.

Hinzufügen einer benutzerdefinierten Domäne zu einem Benutzerpool

Um Ihrem Benutzerpool eine benutzerdefinierte Domain hinzuzufügen, geben Sie den Domainnamen in der Amazon Cognito Cognito-Konsole an und stellen ein Zertifikat bereit, das Sie verwalten AWS Certificate Manager(ACM). Nachdem Sie Ihre Domain hinzugefügt haben, stellt Amazon Cognito ein Alias-Ziel bereit, das Sie Ihrer 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 DNS einen gültigen A-Eintrag 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. Um versehentliche Auswirkungen auf die Kundeninfrastruktur zu verhindern, unterstützt Amazon Cognito die Verwendung von Top-Level-Domains (TLDs) für benutzerdefinierte Domains 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. Beispielsweise: 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 Secure Sockets Layer (SSL) -Zertifikat, verwaltet von. ACM

    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 die Gesamtgröße von Cookies 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. Sie können dies tun, indem Sie einem Benutzer die folgende IAM Datenschutzerklärung beifügen: AWS-Konto

    { "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 (Richtlinien) IAM für. CloudFront CloudFront

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

Schritt 1: Eingeben des benutzerdefinierten Domänennamens

Sie können Ihre Domain zu Ihrem Benutzerpool hinzufügen, indem Sie die Amazon Cognito Cognito-Konsole verwenden oderAPI.

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 Benutzerdefinierte Domain die URL Domain 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 unter ACMZertifikat das SSL Zertifikat aus, das Sie für Ihre Domain 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 es für die Bereitstellung eines Zertifikats in USA Ost (Nord-Virginia) verwendenACM. 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. Eine Meldung mit dem Titel Einen Aliaseintrag in Ihrer Domain erstellen DNS wird 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
So fügen Sie Ihre Domain mit Amazon Cognito API zu Ihrem Benutzerpool hinzu:

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

In diesem Schritt richten Sie über Ihren Domain Name Server (DNS) -Dienstanbieter einen Alias ein, der auf das Alias-Ziel aus dem vorherigen Schritt zurückverweist. Wenn Sie Amazon Route 53 für die DNS Adressauflösung verwenden, wählen Sie den Abschnitt So fügen Sie ein Alias-Ziel und eine Subdomain mithilfe von Route 53 hinzu.

  • Wenn Sie Route 53 nicht für die DNS Adressauflösung verwenden, müssen Sie die Konfigurationstools Ihres DNS Dienstanbieters verwenden, um das Alias-Ziel aus dem vorherigen Schritt zum DNS Datensatz Ihrer Domain hinzuzufügen. Ihr DNS Anbieter muss auch die Subdomain für Ihre benutzerdefinierte Domain einrichten.

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

  2. Wenn Sie in Route 53 keine öffentlich gehostete Zone haben, erstellen Sie eine Zone mit einem Stamm, der Ihrer benutzerdefinierten Domain übergeordnet ist. Weitere Informationen finden Sie unter Creating a public hosted zone im Amazon Route 53 Developer Guide.

    1. Wählen Sie Create Hosted Zone.

    2. Geben Sie zum Beispiel die übergeordnete Domain ein auth.example.com, Ihrer benutzerdefinierten Domain, zum Beispiel myapp.auth.example.com, aus der Domainnamenliste.

    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 Hosting-Zone für Ihre benutzerdefinierte Domain mit einer Delegierung in der übergeordneten Hosting-Zone erstellen, die Anfragen an die Hosting-Zone der Subdomain 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. Erstellen Sie einen DNS Datensatz für die übergeordnete Domain mit den folgenden Eigenschaften:

    • Datensatzname: Leer lassen.

    • Datensatztyp:A.

    • Alias: Nicht aktivieren.

    • Wert: Geben Sie ein Ziel Ihrer Wahl ein. Dieser Datensatz muss etwas ergeben, aber der Wert des Datensatzes spielt für Amazon Cognito keine Rolle.

    • TTL: Wählen Sie Ihre bevorzugte Option TTL oder lassen Sie die Standardeinstellung unverändert.

    • Routing-Richtlinie: Wählen Sie Simple Routing.

  5. Wählen Sie Create records (Datensätze erstellen). Im Folgenden finden Sie einen Beispieldatensatz für die Domain example.com:

    example.com. 60 IN A 198.51.100.1

    Anmerkung

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

  6. Fügen Sie einen weiteren DNS Eintrag für Ihre benutzerdefinierte Domain mit den folgenden Eigenschaften hinzu:

    • Datensatzname: Ihr benutzerdefiniertes Domainpräfix, auth um beispielsweise einen Datensatz für zu erstellenauth.example.com.

    • Datensatztyp:A.

    • Alias: Aktivieren.

    • Traffic weiterleiten an: Wählen Sie Alias to Cloudfront Distribution. Geben Sie beispielsweise 123example.cloudfront.net das Alias-Ziel ein, das Sie zuvor aufgezeichnet haben.

    • Routing-Richtlinie: Wählen Sie Simple Routing.

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

    Anmerkung

    Es kann etwa 60 Sekunden dauern, bis Ihre neuen Datensätze an alle Route DNS 53-Server weitergegeben werden. Sie können die Route GetChangeAPI53-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 ein Beispiel URL für eine benutzerdefinierte Domain example.com mit der Subdomain auth:

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

Das SSL Zertifikat für Ihre benutzerdefinierte Domain ändern

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

In der Regel ist dies nach der routinemäßigen Zertifikatserneuerung mit nicht erforderlichACM. Wenn Sie Ihr vorhandenes Zertifikat erneuernACM, bleibt das ARN für Ihr Zertifikat gleich, und Ihre benutzerdefinierte Domain verwendet das neue Zertifikat automatisch.

Wenn Sie jedoch Ihr vorhandenes Zertifikat durch ein neues ersetzen, ACM erhält das neue Zertifikat ein neuesARN. Um das neue Zertifikat auf Ihre benutzerdefinierte Domain anzuwenden, müssen Sie es Amazon Cognito ARN zur Verfügung stellen.

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 Ihr Zertifikat in Amazon Cognito ändern können, müssen Sie Ihr Zertifikat zu ACM hinzufügen. Weitere Informationen finden Sie unter Erste Schritte im AWS Certificate Manager -Benutzerhandbuch.

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

Sie können Ihr Zertifikat über die Amazon Cognito Cognito-Konsole oder 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 Aktionen, ACMZertifikat bearbeiten.

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

  7. Wählen Sie Änderungen speichern.

API
Um ein Zertifikat zu erneuern (Amazon CognitoAPI)