Wie behebe ich Fehler, wenn ich in Amazon Cognito eine benutzerdefinierte Domäne erstelle?

Lesedauer: 5 Minute
0

Ich möchte erfahren, wie ich häufig auftretende Fehler bei der Konfiguration von benutzerdefinierten Domänen in Amazon Cognito beheben kann.

Kurzbeschreibung

Bei der Konfiguration benutzerdefinierter Domänennamen in Amazon Cognito treten häufig die folgenden Fehler auf:

  • „Custom domain is not a valid subdomain: Was not able to resolve the root domain, please ensure an A record exists for the root domain.“ (Die benutzerdefinierte Domäne ist keine gültige Subdomäne: Die Stammdomäne konnte nicht aufgelöst werden. Stellen Sie sicher, dass ein A-Eintrag für die Stammdomäne vorhanden ist.)
  • „Domain already associated with another user pool.“ (Die Domäne ist bereits mit einem anderen Benutzerpool verknüpft.)
  • „One or more of the CNAMEs you provided are already associated with a different resource.“ (Einer oder mehrere der von Ihnen angegebenen CNAMes sind bereits mit einer anderen Ressource verknüpft.)
  • „The specified SSL certificate doesn't exist, isn't in us-east-1 region, isn't valid, or doesn't include a valid certificate chain.“ (Das angegebene SSL-Zertifikat existiert nicht , befindet sich nicht in der Region us-east-1, ist nicht gültig oder enthält keine gültige Zertifikatskette.)
  • „The domain name contains an invalid character.“ (Der Domänenname enthält ein ungültiges Zeichen.) Domänennamen können nur Kleinbuchstaben, Zahlen und Bindestriche enthalten. Bitte geben Sie einen anderen Namen ein, der diesem Format folgt: ^a-z0-9?$"

Lösung

Fehler Benutzerdefinierte Domäne ist keine gültige Subdomäne

Um versehentliche Änderungen an der Infrastruktur zu verhindern, unterstützt Amazon Cognito keine Top-Level-Domänen (TLDs) für benutzerdefinierte Domänen. Um eine benutzerdefinierte Amazon-Cognito-Domäne zu erstellen, muss die übergeordnete Domäne über einen Domain Name System (DNS)-A-Eintrag verfügen.

Die übergeordnete Domäne kann entweder die Stammdomäne oder eine untergeordnete Domäne sein, die in der Domänenhierarchie eine Stufe höher liegt. Wenn Ihre benutzerdefinierte Domäne beispielsweise auth.xyz.yourdomain.com lautet, muss Amazon Cognito xyz auflösen.yourdomain.com an eine IP-Adresse. Um xyz.yourdomain.com als benutzerdefinierte Domäne zu konfigurieren, konfigurieren Sie einen A-Eintrag für yourdomain.com.

Sie müssen in Ihrer DNS-Konfiguration einen A-Eintrag für die übergeordnete Domäne erstellen. Wenn die übergeordnete Domäne zu einem gültigen A-Eintrag aufgelöst wird, führt Amazon Cognito keine zusätzlichen Überprüfungen durch. Wenn die übergeordnete Domäne nicht auf eine echte IP-Adresse verweist, sollten Sie erwägen, eine Schein-IP-Adresse wie „8.8.8.8" in Ihre DNS-Konfiguration aufzunehmen.

Es kann einige Zeit dauern, bis Ihr DNS-Anbieter die Änderungen, die Sie an Ihrer DNS-Konfiguration vorgenommen haben, weitergibt. Führen Sie einen der folgenden Befehle aus, um sicherzustellen, dass Ihr DNS-Anbieter die Änderung weitergegeben hat.

Verwenden von auth.xyz.yourdomain.com als benutzerdefinierte Domäne:

$ dig A xyz.yourdomain.com +short

-oder-

Verwenden von xyz.yourdomain.com als benutzerdefinierte Domäne:

$ dig A yourdomain.com +short

Hinweis: Die vorherigen Beispielbefehle gelten für eine Linux-Umgebung.

Wenn die Änderung der DNS-Konfiguration weitergegeben wird, gibt der vorherige Befehl die von Ihnen konfigurierte IP-Adresse zurück. Wenn die DNS-Suche die konfigurierte IP-Adresse nicht zurückgibt, warten Sie, bis die Änderung weitergegeben wird. Andernfalls wird immer wieder der Fehler „benutzerdefinierte Domäne ist keine gültige Subdomäne“ angezeigt.

Nachdem die benutzerdefinierte Domäne in Amazon Cognito erstellt wurde, können Sie die zuvor konfigurierte A-Datensatzzuordnung der übergeordneten Domäne entfernen.

Die Domäne ist bereits mit einem anderen Benutzerpoolfehler verknüpft

Benutzerdefinierte Domänennamen müssen für alle AWS-Konten in allen AWS-Regionen eindeutig sein. Wenn Sie einen benutzerdefinierten Domänennamen für einen Benutzerpool verwenden, kann derselbe Domänenname nicht für einen anderen Benutzerpool verwendet werden. Sie müssen die benutzerdefinierte Domäne löschen, die dem ersten Benutzerpool zugeordnet ist, wenn Sie den Domänennamen für einen anderen Benutzerpool verwenden möchten.

Nach dem Löschen einer benutzerdefinierten Domäne dauert es einige Zeit, bis die benutzerdefinierte Domäne vollständig vom Benutzerpool getrennt ist. Wenn Sie versuchen, den Domänennamen unmittelbar nach dem Löschen mit einem anderen Benutzerpool zu konfigurieren, tritt möglicherweise der Domänenzuordnungsfehler auf. Wenn Sie den Domänenzuordnungsfehler erhalten, warten Sie 15 bis 20 Minuten, bevor Sie den Domänennamen mit dem neuen Benutzerpool einrichten.

Einer oder mehrere der von Ihnen angegebenen CNAMEs sind bereits mit einem anderen Ressourcenfehler verknüpft

Nach der Erstellung einer benutzerdefinierten Domäne erstellt Amazon Cognito eine von AWS verwaltete Amazon-CloudFront-Verteilung mit demselben benutzerdefinierten Domänennamen. Sie können einen Domänennamen mit nur einer CloudFront-Verteilung verwenden. Wenn Sie einen Domänennamen als alternative Domäne in CloudFront verwenden, können Sie den vorhandenen Domänennamen nicht zum Erstellen einer benutzerdefinierten Domäne verwenden. Wenn Sie versuchen, eine benutzerdefinierte Domäne zu erstellen, die bereits einer CloudFront-Verteilung zugeordnet ist, wird der CNAME-Zuordnungsfehler angezeigt.

Sie können diesen Fehler auf eine der folgenden zwei Arten beheben:

  • Verwenden Sie einen anderen Domänennamen für die benutzerdefinierte Amazon-Cognito-Domäne.
  • Wenn Sie die Domäne als benutzerdefinierte Amazon Cognito-Domäne verwenden, verwenden Sie den Domänennamen nicht mehr mit einer anderen CloudFront-Verteilung.

Fehler: Das angegebene SSL-Zertifikat existiert nicht

  1. Um eine benutzerdefinierte Amazon Cognito-Domäne zu erstellen, müssen Sie über ein AWS Certificate Manager (ACM)-Zertifikat in der AWS-Region us-east-1 verfügen. Wenn Sie die benutzerdefinierte Domäne erstellen, erstellt Amazon Cognito intern eine CloudFront-Verteilung. CloudFront unterstützt ACM-Zertifikate nur in der Region us-east-1.
  2. Stellen Sie beim Konfigurieren der benutzerdefinierten Domäne sicher, dass das ausgewählte Zertifikat nicht abgelaufen ist.
  3. Wenn Sie ein Zertifikat in ACM importieren, stellen Sie sicher, dass das Zertifikat von einer öffentlichen Zertifizierungsstelle (CA) ausgestellt wurde. Das Zertifikat muss auch die richtige Zertifikatskette haben. Weitere Informationen finden Sie unter Importieren von Zertifikaten in AWS Certificate Manager.
  4. Ihr Zertifikat muss 2 048 Bit oder kleiner sein. Das Zertifikat darf nicht passwortgeschützt sein.
  5. Wenn eine Richtlinienauswertung für den AWS Key Management Service (AWS KMS) zu einer ausdrücklichen Ablehnung führt, erhalten Sie möglicherweise einen SSL-Zertifikatsfehler. Wenn bestimmte AWS-KMS-Aktionen für den IAM-Benutzer oder die IAM-Rolle, die die benutzerdefinierte Amazon-Cognito-Domäne erstellt, ausdrücklich verweigert werden, tritt dieser Fehler auf. Der Fehler tritt am häufigsten bei den folgenden ausdrücklich verweigerten AWS-KMS-Aktionen auf: kms:DescribeKey, kms:CreateGrant oder kms: *.

Der Domänenname enthält einen ungültigen Zeichenfehler

Wenn ein Domänenname etwas anderes als Kleinbuchstaben, Zahlen und Bindestriche enthält, wird der Domänenname nicht akzeptiert. Sie können keinen Bindestrich für das erste oder letzte Zeichen verwenden. Die maximale Länge des gesamten Domänennamens, einschließlich der Punkte, beträgt 63 Zeichen.


Ähnliche Informationen

Verwenden Sie Ihre eigene Domäne für die gehostete Benutzeroberfläche

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr