Autorisieren Sie Ihre Geräte zur sicheren Nutzung von AWS IoT Jobs auf der Datenebene - 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.

Autorisieren Sie Ihre Geräte zur sicheren Nutzung von AWS IoT Jobs auf der Datenebene

Um Ihre Geräte für die sichere Interaktion mit AWS IoT Jobs auf der Datenebene zu autorisieren, müssen Sie Richtlinien verwenden AWS IoT Core . AWS IoT Core Richtlinien für Jobs sind JSON-Dokumente, die Richtlinienerklärungen enthalten. Diese Richtlinien verwenden auch die Elemente Effekt, Aktion und Ressource und folgen einer ähnlichen Konvention wie IAM-Richtlinien. Weitere Informationen finden Sie in der Referenz für IAM-JSON-Richtlinienelemente im IAM-Benutzerhandbuch.

Die Richtlinien können sowohl mit MQTT- als auch mit HTTPS-Protokollen verwendet werden und müssen zur Autorisierung der Geräte die gegenseitige Authentifizierung über TCP oder TLS verwenden. Im Folgenden wird gezeigt, wie diese Richtlinien in den verschiedenen Kommunikationsprotokollen verwendet werden.

Warnung

Wir empfehlen, dass Sie keine Platzhalterberechtigungen verwenden, z. B. "Action": ["iot:*"] in Ihren IAM-Richtlinien oder AWS IoT Core -Richtlinien. Die Verwendung von Platzhalterberechtigungen ist keine empfohlene, bewährte Sicherheitsmethode. Weitere Informationen finden Sie unter Zu AWS IoT freizügige Richtlinie.

AWS IoT Core Richtlinien für das MQTT-Protokoll

AWS IoT Core Richtlinien für das MQTT-Protokoll gewähren Ihnen die Erlaubnis, die MQTT-API-Aktionen des Job-Geräts zu verwenden. Die MQTT-API-Operationen werden verwendet, um mit MQTT-Themen zu arbeiten, die für Auftragsbefehle reserviert sind. Weitere Informationen zu diesen API-Operationen finden Sie unter Führt MQTT-API-Operationen auf dem Gerät aus.

MQTT-Richtlinien verwenden Richtlinienaktionen wie iot:Connect, iot:Publish, iot:Subscribe und iot:Receieve, um mit den Auftragsthemen zu arbeiten. Diese Richtlinien ermöglichen es Ihnen, eine Verbindung zum Message Broker herzustellen, die MQTT-Themen für Aufträge zu abonnieren und MQTT-Nachrichten zwischen Ihren Geräten und der Cloud zu senden und zu empfangen. Weitere Informationen zu diesen Aktionen finden Sie unter AWS IoT Core politische Maßnahmen.

Informationen zu Themen für AWS IoT Jobs finden Sie unter. Auftragsthemen

Das folgende Beispiel zeigt, wie Sie iot:Publish und iot:Subscribe zum Veröffentlichen und Abonnieren von Aufträgen und Auftragsausführungen verwenden können.

Ersetzen Sie im Beispiel:

  • regionmit Ihrem AWS-Region, wie zum Beispielus-east-1.

  • account-idmit deiner AWS-Konto Nummer, wie57EXAMPLE833.

  • thing-namemit dem Namen Ihres IoT-Dings, für das Sie Jobs anstreben, wie MyIoTThing z.

JSON
{ "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish", "iot:Subscribe" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/$aws/events/job/*", "arn:aws:iot:us-east-1:123456789012:topic/$aws/events/jobExecution/*", "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/thing-name/jobs/*" ] } ], "Version": "2012-10-17" }

AWS IoT Core Richtlinien für das HTTPS-Protokoll

AWS IoT Core Richtlinien auf der Datenebene können auch das HTTPS-Protokoll mit dem TLS-Authentifizierungsmechanismus verwenden, um Ihre Geräte zu autorisieren. Auf der Datenebene verwenden Richtlinien das Präfix iotjobsdata:, um API-Aufträge zu autorisieren, die Ihre Geräte ausführen können. Beispielsweise gewährt die Richtlinienaktion iotjobsdata:DescribeJobExecution dem Benutzer die Erlaubnis, die DescribeJobExecution-API zu verwenden.

Anmerkung

Die Richtlinienaktionen auf der Datenebene müssen das Präfix iotjobsdata: verwenden. Auf der Steuerebene müssen die Aktionen das Präfix iot: verwenden. Ein Beispiel für eine IAM-Richtlinie, bei der sowohl Richtlinienaktionen auf der Steuerebene als auch auf der Datenebene verwendet werden, finden Sie unter Beispiel einer IAM-Richtlinie für Steuerebene und Datenebene.

Die folgende Tabelle enthält eine Liste der AWS IoT Core Richtlinienaktionen und Berechtigungen für die Autorisierung von Geräten zur Verwendung der API-Aktionen. Eine Liste der API-Operationen, die Sie auf der Datenebene ausführen können, finden Sie unter HTTP-API für Aufträge-Geräte.

Anmerkung

Der Richtlinienaktionen für die Auftragsausführung gilt nur für den HTTP-TLS-Endpunkt. Wenn Sie den MQTT-Endpunkt verwenden, müssen Sie die in diesem Thema definierten MQTT-Richtlinienaktionen verwenden.

AWS IoT Core politische Aktionen auf Datenebene
Richtlinienaktionen API-Operation Ressourcentypen Beschreibung
iotjobsdata:DescribeJobExecution DescribeJobExecution
  • Auftrag

  • Objekt

Stellt die Berechtigung für den Abruf einer Auftragsausführung dar. Die Berechtigung iotjobsdata:DescribeJobExecution wird jedes Mal überprüft, wenn eine Anforderung zum Abruf einer Auftragsausführung gestellt wird.
iotjobsdata:GetPendingJobExecutions GetPendingJobExecutions Objekt Stellt die Berechtigung zum Abrufen der Liste der Aufträge dar, die sich nicht in einem Endstatus für ein Objekt befinden. Die Berechtigung iotjobsdata:GetPendingJobExecutions wird jedes Mal überprüft, wenn eine Anforderung zum Abrufen der Liste gestellt wird.
iotjobsdata:StartNextPendingJobExecution StartNextPendingJobExecution Objekt Stellt die Berechtigung zum Abrufen und Starten der nächsten ausstehenden Auftragsausführung für ein Objekt dar. Das heißt, um eine Auftragsausführung mit dem Status QUEUED auf IN_PROGRESS zu aktualisieren. Die Berechtigung iotjobsdata:StartNextPendingJobExecution wird jedes Mal überprüft, wenn eine Anforderung zum Starten der nächsten ausstehenden Auftragsausführung gestellt wird.
iotjobsdata:UpdateJobExecution UpdateJobExecution Objekt Stellt die Berechtigung zum Aktualisieren einer Auftragsausführung dar. Die Berechtigung iotjobsdata:UpdateJobExecution wird jedes Mal überprüft, wenn eine Anforderung zum Aktualisieren des Status einer Auftragsausführung gestellt wird.

Im Folgenden wird ein Beispiel AWS IoT Core für eine Richtlinie gezeigt, die die Erlaubnis erteilt, die Aktionen auf den API-Vorgängen der Datenebene für jede Ressource auszuführen. Sie können Ihre Richtlinie auf eine bestimmte Ressource beschränken, wie z. B. auf ein IoT-Objekt. Ersetzen Sie in Ihrem Beispiel:

  • regionmit Ihrem AWS-Region wieus-east-1.

  • account-idmit deiner AWS-Konto Nummer, wie57EXAMPLE833.

  • thing-namemit dem Namen der IoT-Sache, wie zum BeispielMyIoTthing.

JSON
{ "Version": "2012-10-17" , "Statement": [ { "Action": [ "iotjobsdata:GetPendingJobExecutions", "iotjobsdata:StartNextPendingJobExecution", "iotjobsdata:DescribeJobExecution", "iotjobsdata:UpdateJobExecution" ], "Effect": "Allow", "Resource": "arn:aws:iot:us-east-1:123456789012:thing/thing-name" } ] }

Ein Beispiel dafür, wann Sie diese Richtlinien verwenden müssen, kann sein, wenn Ihre IoT-Geräte eine AWS IoT Core -Richtlinie für den Zugriff auf eine dieser API-Operationen verwenden, wie z. B. das folgende Beispiel für die API DescribeJobExecution:

GET /things/thingName/jobs/jobId?executionNumber=executionNumber&includeJobDocument=includeJobDocument&namespaceId=namespaceId HTTP/1.1