Erstellen und Konfigurieren benutzerdefinierter Domänen - AWS IoT Core

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.

Erstellen und Konfigurieren benutzerdefinierter Domänen

Mit Domänenkonfigurationen können Sie einen benutzerdefinierten vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN) angeben, mit dem eine Verbindung zu AWS IoT Core hergestellt werden soll. Die Verwendung benutzerdefinierter Domains bietet viele Vorteile: Sie können Ihre eigene Domain oder die Ihres Unternehmens Kunden zu Branding-Zwecken zugänglich machen; Sie können Ihre eigene Domain einfach so ändern, dass sie auf einen neuen Broker verweist; Sie können Multi-Tenancy unterstützen, um Kunden mit unterschiedlichen Domains innerhalb derselben zu bedienen AWS-Konto; und Sie können die Details Ihrer eigenen Serverzertifikate verwalten, z. B. die Root-Zertifizierungsstelle (CA), die zum Signieren des Zertifikats verwendet wurde, den Signaturalgorithmus, die Tiefe der Zertifikatskette und den Lebenszyklus von das Zertifikat.

Der Workflow zum Einrichten einer Domänenkonfiguration mit einer benutzerdefinierten Domäne besteht aus den folgenden drei Phasen.

Registrierung von Serverzertifikaten im AWS Zertifikatsmanager

Bevor Sie eine Domänenkonfiguration mit einer benutzerdefinierten Domäne erstellen, müssen Sie die Serverzertifikatskette in AWS Certificate Manager (ACM) registrieren. Sie können die folgenden drei Serverzertifikattypen verwenden.

Anmerkung

AWS IoT Core betrachtet ein Zertifikat als von einer öffentlichen Zertifizierungsstelle signiert, wenn es in Mozillas vertrauenswürdigem CA-Bundle enthalten ist.

Zertifikatanforderungen

Die Anforderungen für den Import von Zertifikaten in ACM finden Sie unter Anforderungen an den Import von Zertifikaten. Zusätzlich zu diesen Anforderungen fügt AWS IoT Core folgende Anforderungen hinzu.

  • Das Leaf-Zertifikat muss die Erweiterung Extended Key Usage x509 v3 mit dem Wert ServerAuth (TLS Web Server Authentication) enthalten. Wenn Sie das Zertifikat von ACM anfordern, wird diese Erweiterung automatisch hinzugefügt.

  • Die maximale Tiefe der Zertifikatskette beträgt 5 Zertifikate.

  • Die maximale Größe der Zertifikatskette beträgt 16 KB.

  • Zu den unterstützten kryptografischen Algorithmen und Schlüsselgrößen gehören RSA 2048-Bit (RSA_2048) und ECDSA 256-Bit (EC_Prime256V1).

Verwenden eines Zertifikats für mehrere Domänen

Wenn Sie planen, ein Zertifikat für mehrere Unterdomänen zu verwenden, verwenden Sie eine Platzhalterdomäne im Feld „Common Name (CN)“ oder „Subject Alternative Names (SAN)“. Verwenden Sie zum Beispiel *.iot.example.com dev.iot.example.com, qa.iot.example.com und prod.iot.example.com. Jeder FQDN erfordert eine eigene Domänenkonfiguration, aber mehr als eine Domänenkonfiguration kann denselben Platzhalterwert verwenden. Der CN oder das SAN muss den FQDN abdecken, den Sie als benutzerdefinierte Domäne verwenden möchten. Wenn SANs vorhanden sind, wird die CN ignoriert und ein SAN muss den FQDN abdecken, den Sie als benutzerdefinierte Domäne verwenden möchten. Hierbei kann es sich um eine exakte Übereinstimmung oder um eine Platzhalterübereinstimmung handeln. Nachdem ein Wildcard-Zertifikat validiert und für ein Konto registriert wurde, werden andere Konten in der Region daran gehindert, benutzerdefinierte Domänen zu erstellen, die sich mit dem Zertifikat überschneiden.

In den folgenden Abschnitten wird beschrieben, wie Sie die einzelnen Zertifikatstypen erhalten. Für jede Zertifikatressource ist ein bei ACM registrierter Amazon-Ressourcenname (ARN) erforderlich, den Sie beim Erstellen Ihrer Domänenkonfiguration verwenden.

ACM-generierte öffentliche Zertifikate

Mithilfe der API können Sie ein öffentliches Zertifikat für Ihre benutzerdefinierte Domain generieren. RequestCertificate Wenn Sie auf diese Weise ein Zertifikat generieren, überprüft ACM Ihr Eigentum an der benutzerdefinierten Domäne. Weitere Informationen finden Sie unter Anfordern eines öffentlichen Zertifikats im AWS Certificate Manager -Benutzerhandbuch.

Von einer öffentlichen Zertifizierungsstelle signierte externe Zertifikate

Wenn Sie bereits über ein Serverzertifikat verfügen, das von einer öffentlichen Zertifizierungsstelle signiert wurde (eine Zertifizierungsstelle, die im vertrauenswürdigen CA-Bundle von Mozilla enthalten ist), können Sie die Zertifikatskette mithilfe der ImportCertificateAPI direkt in ACM importieren. Weitere Informationen zu dieser Aufgabe und den Voraussetzungen und Anforderungen an das Zertifikatformat finden Sie unter Importieren von Zertifikaten.

Von einer privaten Zertifizierungsstelle signierte externe Zertifikate

Wenn Sie bereits über ein Serverzertifikat verfügen, das von einer privaten Zertifizierungsstelle signiert oder selbstsigniert ist, können Sie das Zertifikat zum Erstellen Ihrer Domänenkonfiguration verwenden. Sie müssen jedoch auch ein zusätzliches öffentliches Zertifikat in ACM erstellen, um den Besitz Ihrer Domäne zu überprüfen. Registrieren Sie dazu Ihre Serverzertifikatskette mithilfe der API in ACM. ImportCertificate Weitere Informationen zu dieser Aufgabe und den Voraussetzungen und Anforderungen an das Zertifikatformat finden Sie unter Importieren von Zertifikaten.

Erstellen eines Validierungszertifikats

Nachdem Sie Ihr Zertifikat in ACM importiert haben, generieren Sie mithilfe der API ein öffentliches Zertifikat für Ihre benutzerdefinierte Domain. RequestCertificate Wenn Sie auf diese Weise ein Zertifikat generieren, überprüft ACM Ihr Eigentum an der benutzerdefinierten Domäne. Weitere Informationen finden Sie unter Anfordern eines öffentlichen Zertifikats. Wenn Sie Ihre Domänenkonfiguration erstellen, verwenden Sie dieses öffentliche Zertifikat als Validierungszertifikat.

Erstellen einer Domänenkonfiguration

Mithilfe der CreateDomainConfigurationAPI erstellen Sie einen konfigurierbaren Endpunkt in einer benutzerdefinierten Domain. Eine Domänenkonfiguration für eine benutzerdefinierte Domäne besteht aus folgenden Elementen:

  • domainConfigurationName

    Ein benutzerdefinierter Name, der die Domänenkonfiguration identifiziert Domänenkonfigurationsnamen, die mit IoT: beginnen, sind für Standardendpunkte reserviert und können nicht verwendet werden. Außerdem muss dieser Wert für Sie einzigartig sein AWS-Region.

  • domainName

    Der FQDN, mit dem Ihre Geräte eine Verbindung herstellen AWS IoT Core. AWS IoT Core nutzt die TLS-Erweiterung (Server Name Indication, SNI), um Domänenkonfigurationen anzuwenden. Geräte müssen diese Erweiterung verwenden, wenn sie eine Verbindung herstellen und einen Servernamen übergeben, der mit dem Domänennamen identisch ist, der in der Domänenkonfiguration angegeben ist.

  • serverCertificateArns

    Der ARN der Serverzertifikatskette, die Sie bei ACM registriert haben. AWS IoT Core unterstützt derzeit nur ein Serverzertifikat.

  • validationCertificateArn

    Der ARN des öffentlichen Zertifikats, das von ACM ausgestellt wurde, um das Eigentum an Ihrer benutzerdefinierten Domäne zu validieren. Dieses Argument ist nicht erforderlich, wenn Sie ein öffentlich signiertes oder in ACM generiertes Serverzertifikat verwenden.

  • defaultAuthorizerName (optional)

    Der Name des benutzerdefinierten Autorisierers, der am Endpunkt verwendet werden soll.

  • allowAuthorizerOverride

    Ein boolescher Wert, der angibt, ob Geräte den Standard-Autorisierer überschreiben können, indem sie im HTTP-Header der Anfrage einen anderen Autorisierer angeben. Dieser Wert ist erforderlich, wenn ein Wert für defaultAuthorizerName angegeben wird.

  • serviceType

    AWS IoT Core unterstützt derzeit nur den DATA Diensttyp. Wenn Sie angebenDATA, wird ein Endpunkt mit dem Endpunkttyp AWS IoT zurückgegebeniot:Data-ATS.

  • TlsConfig (optional)

    Ein Objekt, das die TLS-Konfiguration für eine Domäne spezifiziert. Weitere Informationen finden Sie unter Konfiguration von TLS-Einstellungen in Domänenkonfigurationen.

  • serverCertificateConfig (optional)

    Ein Objekt, das die Serverzertifikatkonfiguration für eine Domäne angibt. Weitere Informationen finden Sie unter Konfiguration des Serverzertifikats für OCSP-Hefting.

Der folgende AWS CLI Befehl erstellt eine Domänenkonfiguration für iot.example.com.

aws iot create-domain-configuration --domain-configuration-name "myDomainConfigurationName" --service-type "DATA" --domain-name "iot.example.com" --server-certificate-arns serverCertARN --validation-certificate-arn validationCertArn
Anmerkung

Nachdem Sie Ihre Domänenkonfiguration erstellt haben, kann es bis zu 60 Minuten dauern, bis Ihre benutzerdefinierten Serverzertifikate AWS IoT Core bereitgestellt werden.

Weitere Informationen finden Sie unter Verwalten von Domänenkonfigurationen.

Erstellen von DNS-Datensätzen

Nachdem Sie die Serverzertifikatkette registriert und die Domänenkonfiguration erstellt haben, erstellen Sie einen DNS-Datensatz, damit Ihre benutzerdefinierte Domäne auf eine AWS IoT -Domäne verweist. Dieser Datensatz muss auf einen AWS IoT Endpunkt vom Typ verweiseniot:Data-ATS. Sie können Ihren Endpunkt mithilfe der DescribeEndpointAPI abrufen.

Der folgende AWS CLI Befehl zeigt, wie Sie Ihren Endpunkt ermitteln.

aws iot describe-endpoint --endpoint-type iot:Data-ATS

Nachdem Sie Ihren iot:Data-ATS Endpunkt erhalten haben, erstellen Sie einen CNAME Datensatz von Ihrer benutzerdefinierten Domain zu diesem AWS IoT Endpunkt. Wenn Sie mehrere benutzerdefinierte Domains in derselben Domain erstellen AWS-Konto, geben Sie ihnen einen Alias für denselben iot:Data-ATS Endpunkt.

Fehlerbehebung

Wenn Sie Probleme haben, Geräte mit einer benutzerdefinierten Domain zu verbinden, stellen Sie sicher, dass diese Ihr Serverzertifikat akzeptiert und angewendet AWS IoT Core hat. Sie können überprüfen, ob Ihr Zertifikat akzeptiert AWS IoT Core wurde, indem Sie entweder die AWS IoT Core Konsole oder den verwenden AWS CLI.

Um die AWS IoT Core Konsole zu verwenden, navigieren Sie zur Seite „Einstellungen“ und wählen Sie den Namen der Domänenkonfiguration aus. Überprüfen Sie im Abschnitt Serverzertifikatsdetails den Status und die Statusdetails. Wenn das Zertifikat ungültig ist, ersetzen Sie es in ACM durch ein Zertifikat, das die im vorherigen Abschnitt aufgeführten Zertifikatsanforderungen erfüllt. Wenn das Zertifikat denselben ARN hat, AWS IoT Core wird es automatisch abgeholt und angewendet.

Um den Status des Zertifikats mithilfe von zu überprüfen AWS CLI, rufen Sie die DescribeDomainConfigurationAPI auf und geben Sie Ihren Domain-Konfigurationsnamen an.

Anmerkung

Wenn Ihr Zertifikat ungültig ist, AWS IoT Core wird weiterhin das letzte gültige Zertifikat ausgestellt.

Mit dem folgenden openssl-Befehl können Sie überprüfen, welches Zertifikat auf Ihrem Endpunkt zugestellt wird.

openssl s_client -connect custom-domain-name:8883 -showcerts -servername custom-domain-name