AWS IoT FleetWise steht neuen Kunden nicht mehr offen. Bestehende AWS FleetWise IoT-Kunden können den Service weiterhin nutzen. Der Leitfaden für vernetzte Mobilität auf AWS
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.
Steuerung des Zugriffs mit AWS IoT FleetWise
Wichtig
Der Zugriff auf bestimmte AWS FleetWise IoT-Funktionen ist derzeit gesperrt. Weitere Informationen finden Sie unter AWS Verfügbarkeit von Regionen und Funktionen im AWS Internet der Dinge FleetWise.
In den folgenden Abschnitten wird beschrieben, wie Sie den Zugriff auf und von Ihren AWS IoT FleetWise Ressourcen steuern können. Zu den darin enthaltenen Informationen gehört auch, wie Sie Ihrer Anwendung Zugriff gewähren, damit AWS IoT Fahrzeugdaten während Kampagnen übertragen FleetWise kann. Sie beschreiben auch, wie Sie AWS IoT FleetWise Zugriff auf Ihre Amazon S3 (S3) -Bucket- oder Amazon Timestream-Datenbank und -Tabelle gewähren können, um Daten zu speichern, oder auf MQTT-Nachrichten, die zum Senden von Daten von Fahrzeugen verwendet werden.
Die Technologie zur Verwaltung all dieser Zugriffsformen ist AWS Identity and Access Management (IAM). Weitere Informationen zu IAM finden Sie unter Was ist IAM?.
Inhalt
Gewährung AWS IoT FleetWise Erlaubnis zum Senden und Empfangen von Daten zu einem MQTT-Thema
Wenn Sie ein MQTT-Thema verwenden, senden Ihre Fahrzeuge Daten über den AWS IoT MQTT-Nachrichtenbroker. Sie müssen die AWS IoT FleetWise Erlaubnis erteilen, das von Ihnen angegebene MQTT-Thema zu abonnieren. Wenn Sie AWS IoT Regeln auch verwenden, um Maßnahmen zu ergreifen oder Daten an andere Ziele weiterzuleiten, müssen Sie einer IAM-Rolle Richtlinien zuordnen, damit AWS IoT FleetWise Daten an IoT-Regeln weitergeleitet werden können.
Darüber hinaus können Ihre anderen Apps oder Geräte das von Ihnen angegebene Thema abonnieren, um Fahrzeugdaten nahezu in Echtzeit zu erhalten. Diesen Apps oder Geräten müssen nach Bedarf Berechtigungen und Zugriff gewährt werden.
Weitere Informationen zur Verwendung von MQTT und zu den erforderlichen Rollen und Berechtigungen finden Sie unter:
Bevor Sie beginnen, überprüfen Sie Folgendes:
Wichtig
-
Sie müssen dieselbe AWS Region verwenden, wenn Sie Ressourcen für Fahrzeugkampagnen für AWS IoT erstellen FleetWise. Wenn Sie die AWS Region wechseln, haben Sie möglicherweise Probleme beim Zugriff auf die Ressourcen.
-
AWS IoT FleetWise ist in den USA Ost (Nord-Virginia) und Europa (Frankfurt) verfügbar.
Sie können das verwenden AWS CLI , um eine IAM-Rolle mit einer Vertrauensrichtlinie für MQTT-Nachrichten zu erstellen. Führen Sie den folgenden Befehl aus, um eine IAM-Rolle zu erstellen.
Um eine IAM-Rolle mit einer Vertrauensrichtlinie zu erstellen
-
IotTopicExecutionRoleErsetzen Sie es durch den Namen der Rolle, die Sie erstellen. -
trust-policyErsetzen Sie es durch die JSON-Datei, die die Vertrauensrichtlinie enthält.
aws iam create-role --role-nameIotTopicExecutionRole--assume-role-policy-document file://trust-policy.json
Erstellen Sie eine Berechtigungsrichtlinie, um AWS FleetWise IoT-Berechtigungen zum Veröffentlichen von Nachrichten zu dem von Ihnen angegebenen MQTT-Thema zu erteilen. Führen Sie den folgenden Befehl aus, um eine Berechtigungsrichtlinie zu erstellen.
Um eine Berechtigungsrichtlinie zu erstellen
-
AWSIoTFleetwiseAccessIotTopicPermissionsPolicyErsetzen Sie es durch den Namen der Richtlinie, die Sie erstellen. -
permissions-policyErsetzen Sie es durch den Namen der JSON-Datei, die die Berechtigungsrichtlinie enthält.
aws iam create-policy --policy-nameAWSIoTFleetwiseAccessIotTopicPermissionsPolicy--policy-document file://permissions-policy.json
Um die Berechtigungsrichtlinie an Ihre IAM-Rolle anzuhängen
-
Kopieren Sie aus der Ausgabe den Amazon-Ressourcennamen (ARN) der Berechtigungsrichtlinie.
-
Führen Sie den folgenden Befehl aus, um die IAM-Berechtigungsrichtlinie an Ihre IAM-Rolle anzuhängen.
-
permissions-policy-arnErsetzen Sie ihn durch den ARN, den Sie im vorherigen Schritt kopiert haben. -
IotTopicExecutionRoleErsetzen Sie es durch den Namen der IAM-Rolle, die Sie erstellt haben.
aws iam attach-role-policy --policy-arnpermissions-policy-arn--role-nameIotTopicExecutionRole -
Weitere Informationen finden Sie im IAM-Benutzerhandbuch unter Zugriffsverwaltung für AWS Ressourcen.
Gewährung AWS IoT FleetWise Zugriff auf ein Amazon S3-Ziel
Wenn Sie ein Amazon S3-Ziel verwenden, AWS IoT FleetWise übermittelt Fahrzeugdaten an Ihren S3-Bucket und kann optional einen AWS KMS Schlüssel, den Sie besitzen, für die Datenverschlüsselung verwenden. Wenn die Fehlerprotokollierung aktiviert ist, werden AWS IoT FleetWise auch Fehler bei der Datenübermittlung an Ihre CloudWatch Protokollgruppe und Streams gesendet. Sie müssen über eine IAM-Rolle verfügen, wenn Sie einen Delivery-Stream erstellen.
AWS IoT FleetWise verwendet eine Bucket-Richtlinie mit dem Dienstprinzipal für das S3-Ziel. Weitere Informationen zum Hinzufügen von Bucket-Richtlinien finden Sie unter Hinzufügen einer Bucket-Richtlinie mithilfe der Amazon S3-Konsole im Amazon Simple Storage Service-Benutzerhandbuch.
Verwenden Sie die folgende Zugriffsrichtlinie, um den Zugriff auf Ihren S3-Bucket AWS IoT FleetWise zu aktivieren. Wenn Sie nicht Eigentümer des S3-Buckets sind, fügen Sie s3:PutObjectAcl der Liste der Amazon-S3-Aktionen hinzu. Dadurch erhält der Bucket-Besitzer vollen Zugriff auf die Objekte, die von bereitgestellt wurden AWS IoT FleetWise. Weitere Informationen darüber, wie Sie den Zugriff auf Objekte in Ihren Buckets sichern können, finden Sie unter Beispiele für Bucket-Richtlinien im Amazon Simple Storage Service-Benutzerhandbuch.
Die folgende Bucket-Richtlinie gilt für alle Kampagnen in einem Konto in einer AWS Region.
Wenn Sie einen KMS-Schlüssel an Ihren S3-Bucket angehängt haben, benötigt der Schlüssel die folgende Richtlinie. Informationen zur Schlüsselverwaltung finden Sie unter Schützen von Daten mithilfe der serverseitigen Verschlüsselung mit AWS Key Management Service Schlüsseln (SSE-KMS) im Amazon Simple Storage Service-Benutzerhandbuch.
{ "Version": "2012-10-17", "Effect": "Allow", "Principal": { "Service": "iotfleetwise.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "key-arn" }
Wichtig
Wenn Sie einen Bucket erstellen, erstellt S3 eine Standard-Zugriffskontrollliste (ACL), die dem Ressourcenbesitzer die volle Kontrolle über die Ressource gewährt. Wenn AWS IoT keine Daten an S3 liefern FleetWise kann, stellen Sie sicher, dass Sie die ACL im S3-Bucket deaktivieren. Weitere Informationen finden Sie unter Deaktivieren von ACLs für alle neuen Buckets und Erzwingen des Objektbesitzes im Amazon Simple Storage Service-Benutzerhandbuch.
Gewährung AWS IoT FleetWise Zugriff auf ein Amazon Timestream-Ziel
Wenn Sie ein Timestream-Ziel verwenden, AWS IoT FleetWise werden Fahrzeugdaten in eine Timestream-Tabelle übertragen. Sie müssen die Richtlinien an die IAM-Rolle anhängen, damit Daten an Timestream AWS IoT FleetWise gesendet werden können.
Wenn Sie die Konsole verwenden, um eine Kampagne zu erstellen, hängt AWS IoT FleetWise automatisch die erforderliche Richtlinie an die Rolle an.
Anmerkung
Amazon Timestream ist in der Region Asien-Pazifik (Mumbai) nicht verfügbar.
Bevor Sie beginnen, überprüfen Sie Folgendes:
Wichtig
-
Sie müssen dieselbe AWS Region verwenden, wenn Sie Timestream-Ressourcen für AWS IoT FleetWise erstellen. Wenn Sie die AWS Region wechseln, haben Sie möglicherweise Probleme beim Zugriff auf die Timestream-Ressourcen.
-
AWS IoT FleetWise ist in den USA Ost (Nord-Virginia), Europa (Frankfurt) und im asiatisch-pazifischen Raum (Mumbai) verfügbar.
-
Eine Liste der unterstützten Regionen finden Sie unter Timestream-Endpunkte und -Kontingente im. Allgemeine AWS-Referenz
-
Sie müssen über eine Timestream-Datenbank verfügen. Ein Tutorial finden Sie unter Erstellen einer Datenbank im Amazon Timestream Developer Guide.
-
Sie müssen eine Tabelle in der angegebenen Timestream-Datenbank erstellt haben. Ein Tutorial finden Sie unter Erstellen einer Tabelle im Amazon Timestream Developer Guide.
Sie können das verwenden AWS CLI , um eine IAM-Rolle mit einer Vertrauensrichtlinie für Timestream zu erstellen. Führen Sie den folgenden Befehl aus, um eine IAM-Rolle zu erstellen.
Um eine IAM-Rolle mit einer Vertrauensrichtlinie zu erstellen
-
TimestreamExecutionRoleErsetzen Sie es durch den Namen der Rolle, die Sie erstellen. -
trust-policyErsetzen Sie es durch die JSON-Datei, die die Vertrauensrichtlinie enthält.
aws iam create-role --role-nameTimestreamExecutionRole--assume-role-policy-document file://trust-policy.json
Erstellen Sie eine Berechtigungsrichtlinie, um AWS FleetWise IoT-Berechtigungen zum Schreiben von Daten in Timestream zu erteilen. Führen Sie den folgenden Befehl aus, um eine Berechtigungsrichtlinie zu erstellen.
Um eine Berechtigungsrichtlinie zu erstellen
-
AWSIoTFleetwiseAccessTimestreamPermissionsPolicyErsetzen Sie es durch den Namen der Richtlinie, die Sie erstellen. -
permissions-policyErsetzen Sie es durch den Namen der JSON-Datei, die die Berechtigungsrichtlinie enthält.
aws iam create-policy --policy-nameAWSIoTFleetwiseAccessTimestreamPermissionsPolicy--policy-document file://permissions-policy.json
Um die Berechtigungsrichtlinie an Ihre IAM-Rolle anzuhängen
-
Kopieren Sie aus der Ausgabe den Amazon-Ressourcennamen (ARN) der Berechtigungsrichtlinie.
-
Führen Sie den folgenden Befehl aus, um die IAM-Berechtigungsrichtlinie an Ihre IAM-Rolle anzuhängen.
-
permissions-policy-arnErsetzen Sie ihn durch den ARN, den Sie im vorherigen Schritt kopiert haben. -
TimestreamExecutionRoleErsetzen Sie es durch den Namen der IAM-Rolle, die Sie erstellt haben.
aws iam attach-role-policy --policy-arnpermissions-policy-arn--role-nameTimestreamExecutionRole -
Weitere Informationen finden Sie im IAM-Benutzerhandbuch unter Zugriffsverwaltung für AWS Ressourcen.
Gewährung AWS IoT Device Management Berechtigung zum Generieren der Payload für Befehle mit AWS IoT FleetWise
Wenn Sie die Befehlsfunktion verwenden, um eine Befehlsausführung zu starten, AWS IoT Device Management werden der Befehl und die Befehlsparameter aus der eingehenden Anforderung abgerufen. Anschließend sind Berechtigungen für den Zugriff auf AWS FleetWise IoT-Ressourcen erforderlich, um die Anfrage zu validieren und die Nutzlast zu generieren. Die Nutzlast wird dann AWS IoT Device Management über MQTT an das Fahrzeug an das Befehlsanforderungsthema gesendet, das Ihr Fahrzeug abonniert hat.
Sie müssen zunächst eine IAM-Rolle erstellen, die die erforderlichen Berechtigungen zum Generieren AWS IoT Device Management der Nutzlast gewährt. Geben Sie dann mithilfe des Felds den ARN dieser Rolle für die CreateCommand roleArn API ein. Im Folgenden finden Sie einige Richtlinienbeispiele.
Wichtig
Für die IAM-Rolle müssen Sie dieselbe Rolle verwenden AWS-Region wie die, in der Sie die Fahrzeug- und Befehlsressourcen erstellt haben. Wenn Sie wechseln AWS-Region, haben Sie möglicherweise Probleme beim Zugriff auf die Ressourcen.
Für die IAM-Rolle muss die folgende Vertrauensrichtlinie gelten.
Das folgende Beispiel zeigt, wie Berechtigungen zum Generieren der Nutzlast für alle Fahrzeuge erteilt werden, die als AWS IoT Dinge registriert sind.
Anmerkung
-
Diese Richtlinie kann übermäßig freizügig sein. Verwenden Sie das Prinzip der geringsten Rechte, um sicherzustellen, dass Sie nur die erforderlichen Berechtigungen gewähren.
-
Um stattdessen Berechtigungen zu verweigern, wechseln Sie
"Effect": "Deny"in der IAM-Richtlinie"Effect": "Allow"zu.
Ersetzen Sie in diesem Beispiel:
-
regionmit Ihrem Standort AWS-Region , an dem Sie die AWS FleetWise IoT-Ressourcen verwenden. -
111122223333mit deiner AWS-Konto Nummer.
Das folgende Beispiel zeigt, wie Berechtigungen zum Generieren der Nutzlast für ein bestimmtes Fahrzeug erteilt werden, AWS IoT das als Ding registriert ist.
Ersetzen Sie in diesem Beispiel:
-
regionmit Ihrem Standort AWS-Region , an dem Sie die AWS FleetWise IoT-Ressourcen verwenden. -
111122223333mit deiner AWS-Konto Nummer. -
<VEHICLE_NAME>mit dem IoT-Dingnamen für Ihr Fahrzeug.
Das folgende Beispiel zeigt, wie Berechtigungen zum Generieren der Nutzlast für den Aktuator für ein bestimmtes Fahrzeug erteilt werden.
Ersetzen Sie in diesem Beispiel:
-
regionmit Ihrem Standort AWS-Region , an dem Sie die AWS FleetWise IoT-Ressourcen verwenden. -
111122223333mit deiner AWS-Konto Nummer. -
<VEHICLE_NAME>mit dem IoT-Dingnamen für Ihr Fahrzeug. -
<SIGNAL_FQN>mit dem Namen des Signals, wie<Vehicle.actuator2>.
Das folgende Beispiel zeigt, wie Berechtigungen zum Generieren der Nutzlast für ein bestimmtes Fahrzeug und eine bestimmte Bundesstaatenvorlage erteilt werden.
Ersetzen Sie in diesem Beispiel:
-
regionist Ihr Standort AWS-Region , an dem Sie die AWS FleetWise IoT-Ressourcen verwenden. -
111122223333ist deine AWS-Konto Nummer. -
<VEHICLE_NAME>ist der IoT-Dingname für Ihr Fahrzeug. -
<STATE_TEMPLATE_ID>mit der Kennung Ihrer Bundesstaatenvorlage.
Wenn Sie vom Kunden verwaltete KMS-Schlüssel für aktiviert haben AWS IoT FleetWise, zeigt das folgende Beispiel, wie Sie Berechtigungen zum Generieren der Nutzlast gewähren.
Ersetzen Sie in diesem Beispiel:
-
regionmit Ihrem Standort AWS-Region , an dem Sie die AWS FleetWise IoT-Ressourcen verwenden. -
111122223333mit deiner AWS-Konto Nummer. -
<KMS_KEY_ID>mit der ID Ihres KMS-Schlüssels.