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.
Einrichtung
Führen Sie die folgenden Schritte aus, bevor Sie Device Advisor zum ersten Mal verwenden:
Erstellen eines IoT-Dings
Erstellen Sie zunächst ein IoT-Ding und fügen Sie diesem Ding ein Zertifikat hinzu. Ein Tutorial zum Erstellen von Dingen finden Sie unter Create a thing object (Erstellen eines Dingobjekts).
Erstellen Sie eine IAM Rolle, die Sie als Ihre Geräterolle verwenden möchten
Anmerkung
Sie können die Geräterolle mit der Device-Advisor-Konsole schnell erstellen. Informationen zum Einrichten Ihrer Geräterolle mit der Device-Advisor-Konsole finden Sie unter Getting started with the Device Advisor in the console.
-
Rufen Sie die AWS Identity and Access Management Konsole
auf und melden Sie sich bei dem an, den AWS-Konto Sie für Device Advisor-Tests verwenden. -
Wählen Sie im linken Navigationsbereich die Option Richtlinien aus.
-
Wählen Sie Create Policy (Richtlinie erstellen) aus.
-
Gehen Sie unter Richtlinie erstellen wie folgt vor:
-
Wählen Sie unter Service die Option IoT aus.
-
Führen Sie unter Aktionen eine der folgenden Aktionen aus.
-
(Empfohlen) Wählen Sie Aktionen auf der Grundlage der Richtlinie aus, die dem IoT-Ding oder dem IoT-Zertifikat zugeordnet ist, das Sie im vorherigen Abschnitt erstellt haben.
-
Suchen Sie im Feld Filteraktion nach den folgenden Aktionen und wählen Sie sie aus:
-
Connect
-
Publish
-
Subscribe
-
Receive
-
RetainPublish
-
-
-
Schränken Sie unter Ressourcen die Ressourcen für Client und Thema ein. Die Einschränkung dieser Ressourcen ist eine bewährte Sicherheitsmethode. Gehen Sie wie folgt vor, um Ressourcen einzuschränken:
-
Wählen Sie ARNfür die Aktion Connect die Option Client-Ressource angeben aus.
-
Wählen Sie „Hinzufügen ARN“ und führen Sie dann einen der folgenden Schritte aus:
Anmerkung
Das clientIdist die MQTT Client-ID, die Ihr Gerät für die Interaktion mit Device Advisor verwendet.
-
Geben Sie die Region, die accountID und clientID im Visual Editor an. ARN
-
Geben Sie manuell die Amazon-Ressourcennamen (ARNs) der IoT-Themen ein, mit denen Sie Ihre Testfälle ausführen möchten.
-
-
Wählen Sie Hinzufügen aus.
-
Wählen Sie „Themenressource angeben“ ARN für „Empfangen“ und eine weitere Aktion aus.
-
Wählen Sie „Hinzufügen ARN“ und führen Sie dann einen der folgenden Schritte aus:
Anmerkung
Der Themenname ist das MQTT Thema, zu dem Ihr Gerät Nachrichten veröffentlicht.
-
Geben Sie die Region, die accountID und den Themennamen im Visual ARN Editor an.
-
Geben Sie manuell ARNs die IoT-Themen ein, mit denen Sie Ihre Testfälle ausführen möchten.
-
-
Wählen Sie Hinzufügen aus.
-
Wählen Sie ARNfür die Aktion Abonnieren die Option topicFilter Ressource angeben aus.
-
Wählen Sie „Hinzufügen ARN“ und führen Sie dann einen der folgenden Schritte aus:
Anmerkung
Der Themenname ist das MQTT Thema, das Ihr Gerät abonniert hat.
-
Geben Sie die Region, die accountID und den Themennamen im Visual ARN Editor an.
-
Geben Sie manuell ARNs die IoT-Themen ein, mit denen Sie Ihre Testfälle ausführen möchten.
-
-
Wählen Sie Hinzufügen aus.
-
-
-
Wählen Sie Next: Tags (Weiter: Tags) aus.
-
Klicken Sie auf Weiter: Prüfen.
-
Geben Sie unter Richtlinie überprüfen einen Namen für Ihre Richtlinie ein.
-
Wählen Sie Create Policy (Richtlinie erstellen) aus.
-
Wählen Sie im linken Navigationsbereich Rollen aus.
-
Wählen Sie Create Role aus.
-
Wählen Sie unter Vertrauenswürdige Entitäten auswählen die Option Benutzerdefinierte Vertrauensrichtlinie aus.
-
Geben Sie die folgende Vertrauensrichtlinie in das Feld Benutzerdefinierte Vertrauensrichtlinie ein. Verwenden Sie die globalen Konditionsschlüssel
aws:SourceArn
undaws:SourceAccount
für die Richtlinie, um vor dem Confused-Deputy-Problem zu schützen.Wichtig
Ihr
aws:SourceArn
muss mit demformat: arn:aws:iotdeviceadvisor:
konform sein. Stellen Sie sicher, dassregion:account-id
:*.
Ihrer AWS IoT -Region entspricht und dassregion
Ihrer Kundenkonto-ID entspricht. Weitere Informationen finden Sie unter Vermeidung des dienstübergreifenden Confused-Deputy-Problems.account-id
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAwsIoTCoreDeviceAdvisor", "Effect": "Allow", "Principal": { "Service": "iotdeviceadvisor.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:iotdeviceadvisor:*:111122223333:suitedefinition/*" } } } ] }
-
Wählen Sie Weiter.
-
Wählen Sie die Richtlinie aus, den Sie in Schritt 4 erstellt haben.
-
(Optional) Wählen Sie unter Berechtigungsgrenze festlegen die Option Use a permissions boundary to control the maximum role permissions (Eine Berechtigungsgrenze verwenden, um die maximalen Rollenberechtigungen zu kontrollieren) aus und dann die Richtlinie, die Sie erstellt haben.
-
Wählen Sie Weiter.
-
Geben Sie einen Rollennamen und eine Rollenbeschreibung an.
-
Wählen Sie Rolle erstellen.
Erstellen Sie eine individuell verwaltete Richtlinie für einen IAM Benutzer zur Verwendung von Device Advisor
-
Navigieren Sie zur IAM Konsole unter. https://console.aws.amazon.com/iam/
Geben Sie bei Aufforderung Ihre AWS -Anmeldeinformationen ein. -
Wählen Sie im linken Navigationsbereich Richtlinien aus.
-
Wählen Sie Create Policy und dann den JSONTab aus.
-
Fügen Sie die erforderlichen Berechtigungen hinzu, um Device Advisor zu verwenden. Das Richtliniendokument finden Sie im Thema Bewährte Methoden für die Sicherheit.
-
Wählen Sie Review policy (Richtlinie überprüfen) aus.
-
Geben Sie Name (Name) und Description (Beschreibung) ein.
-
Wählen Sie Create Policy (Richtlinie erstellen) aus.
Erstellen Sie einen IAM Benutzer für die Verwendung von Device Advisor
Anmerkung
Es wird empfohlen, einen IAM Benutzer für die Ausführung von Device Advisor-Tests zu erstellen. Das Ausführen von Device-Advisor-Tests als Administratorbenutzer kann Sicherheitsrisiken bergen und wird nicht empfohlen.
-
Navigieren Sie zur IAM Konsole unter https://console.aws.amazon.com/iam/
Wenn Sie dazu aufgefordert werden, geben Sie Ihre AWS Anmeldeinformationen ein, um sich anzumelden. -
Wählen Sie im linken Navigationsbereich Benutzer aus.
-
Wählen Sie Benutzer hinzufügen.
-
Geben Sie einen Benutzernamen ein.
-
Benutzer benötigen programmgesteuerten Zugriff, wenn sie mit AWS außerhalb des AWS Management Console interagieren möchten. Die Art und Weise, wie programmatischer Zugriff gewährt wird, hängt vom Benutzertyp ab, der zugreift. AWS
Um Benutzern programmgesteuerten Zugriff zu gewähren, wählen Sie eine der folgenden Optionen.
Welcher Benutzer benötigt programmgesteuerten Zugriff? Bis Von Mitarbeiteridentität
(In IAM Identity Center verwaltete Benutzer)
Verwenden Sie temporäre Anmeldeinformationen, um programmatische Anfragen an AWS CLI AWS SDKs, oder AWS APIs zu signieren. Befolgen Sie die Anweisungen für die Schnittstelle, die Sie verwenden möchten.
-
Informationen zu den AWS CLI finden Sie unter Konfiguration der AWS CLI zur Verwendung AWS IAM Identity Center im AWS Command Line Interface Benutzerhandbuch.
-
Informationen zu AWS SDKs Tools und AWS APIs finden Sie unter IAMIdentity Center-Authentifizierung im Referenzhandbuch AWS SDKsund im Tools-Referenzhandbuch.
IAM Verwenden Sie temporäre Anmeldeinformationen, um programmatische Anfragen an das AWS CLI AWS SDKs, oder AWS APIs zu signieren. Folgen Sie den Anweisungen unter Verwenden temporärer Anmeldeinformationen mit AWS Ressourcen im IAMBenutzerhandbuch. IAM (Nicht empfohlen)
Verwenden Sie langfristige Anmeldeinformationen, um programmatische Anfragen an das AWS CLI AWS SDKs, oder AWS APIs zu signieren.Befolgen Sie die Anweisungen für die Schnittstelle, die Sie verwenden möchten.
-
Informationen dazu AWS CLI finden Sie unter Authentifizierung mithilfe von IAM Benutzeranmeldedaten im AWS Command Line Interface Benutzerhandbuch.
-
Informationen zu AWS SDKs und Tools finden Sie unter Authentifizieren mit langfristigen Anmeldeinformationen im Referenzhandbuch AWS SDKsund im Tools-Referenzhandbuch.
-
Weitere Informationen finden Sie unter Verwaltung von Zugriffsschlüsseln für IAM Benutzer im IAMBenutzerhandbuch. AWS APIs
-
-
Wählen Sie Weiter: Berechtigungen aus.
-
Um Zugriff zu gewähren, fügen Sie Ihren Benutzern, Gruppen oder Rollen Berechtigungen hinzu:
-
Benutzer und Gruppen in AWS IAM Identity Center:
Erstellen Sie einen Berechtigungssatz. Befolgen Sie die Anweisungen unter Erstellen eines Berechtigungssatzes im AWS IAM Identity Center -Benutzerhandbuch.
-
Benutzer, IAM die über einen Identitätsanbieter verwaltet werden:
Erstellen Sie eine Rolle für den Identitätsverbund. Folgen Sie den Anweisungen unter Erstellen einer Rolle für einen externen Identitätsanbieter (Federation) im IAMBenutzerhandbuch.
-
IAMBenutzer:
-
Erstellen Sie eine Rolle, die Ihr Benutzer annehmen kann. Folgen Sie den Anweisungen unter Eine Rolle für einen IAM Benutzer erstellen im IAMBenutzerhandbuch.
-
(Nicht empfohlen) Weisen Sie einem Benutzer eine Richtlinie direkt zu oder fügen Sie einen Benutzer zu einer Benutzergruppe hinzu. Folgen Sie den Anweisungen unter Hinzufügen von Berechtigungen für einen Benutzer (Konsole) im IAMBenutzerhandbuch.
-
-
-
Geben Sie in das Suchfeld den Namen der individuell verwalteten Richtlinie ein, die Sie erstellt haben. Aktivieren Sie dann das Kontrollkästchen für Richtliniennamen.
-
Wählen Sie Next: Tags (Weiter: Tags) aus.
-
Klicken Sie auf Next: Review (Weiter: Prüfen).
-
Wählen Sie Create user aus.
-
Klicken Sie auf Close (Schließen).
Device Advisor benötigt in Ihrem Namen Zugriff auf Ihre AWS Ressourcen (Dinge, Zertifikate und Endpunkte). Ihr IAM Benutzer muss über die erforderlichen Berechtigungen verfügen. Device Advisor veröffentlicht auch Protokolle auf Amazon, CloudWatch wenn Sie Ihrem IAM Benutzer die erforderlichen Berechtigungsrichtlinien beifügen.
Konfigurieren Ihres Geräts
Device Advisor verwendet die TLS Erweiterung „Servername Indication“ (SNI), um TLS Konfigurationen anzuwenden. Geräte müssen diese Erweiterung verwenden, wenn sie eine Verbindung herstellen und einen Servernamen übergeben, der mit dem Device-Advisor-Testendpunkt identisch ist.
Device Advisor ermöglicht die TLS Verbindung, wenn sich ein Test im Running
Status befindet. Er verweigert die TLS Verbindung vor und nach jedem Testlauf. Aus diesem Grund empfehlen wir, den Mechanismus zur Wiederholung der Geräteverbindung zu verwenden, um ein vollautomatisches Testerlebnis mit Device Advisor zu gewährleisten. Sie können Testsuiten ausführen, die mehr als einen Testfall enthalten, z. B. TLS Connect, MQTT Connect und MQTT Publish. Wenn Sie mehrere Testfälle ausführen, empfehlen wir, dass Ihr Gerät versucht, alle fünf Sekunden eine Verbindung zu unserem Testendpunkt herzustellen. Sie können dann die Ausführung mehrerer Testfälle nacheinander automatisieren.
Anmerkung
Um Ihre Gerätesoftware für das Testen vorzubereiten, empfehlen wir, eine zu verwendenSDK, mit der eine Verbindung hergestellt werden kann AWS IoT Core. Anschließend sollten Sie den SDK mit dem für Sie bereitgestellten Device Advisor-Testendpunkt aktualisieren AWS-Konto.
Device Advisor unterstützt zwei Arten von Endpunkten: Endpunkte auf Kontoebene und Endpunkte auf Geräteebene. Wählen Sie den Endpunkt aus, der Ihrem Anwendungsfall am besten entspricht. Um mehrere Testsuiten für verschiedene Geräte gleichzeitig auszuführen, verwenden Sie einen Endpunkt auf Geräteebene.
Führen Sie den folgenden Befehl aus, um den Endpunkt auf Geräteebene abzurufen:
Für MQTT Kunden, die X.509-Client-Zertifikate verwenden:
aws iotdeviceadvisor get-endpoint --thing-arn
your-thing-arn
or
aws iotdeviceadvisor get-endpoint --certificate-arn
your-certificate-arn
Für MQTT mehr als WebSocket Kunden, die Signature Version 4 verwenden:
aws iotdeviceadvisor get-endpoint --device-role-arn
your-device-role-arn
--authentication-method SignatureVersion4
Um jeweils eine Testsuite auszuführen, wählen Sie einen Endpunkt auf Kontoebene. Führen Sie den folgenden Befehl aus, um den Endpunkt auf Kontoebene abzurufen:
aws iotdeviceadvisor get-endpoint