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 für die sichere Verwendung 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 Grundsatzerklärungen enthalten. Diese Richtlinien verwenden auch die Elemente Wirkung, Aktion und Ressource und folgen einer ähnlichen Konvention wie IAM Richtlinien. Weitere Informationen zu diesen Elementen finden Sie unter IAMJSONPolicy Elements Reference im IAMBenutzerhandbuch.
Die Richtlinien können mit beiden MQTT HTTPS Protokollen verwendet werden und müssen für die Authentifizierung der Geräte eine TLS gegenseitige Authentifizierung verwendenTCP. 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 Protokoll MQTT
AWS IoT Core Richtlinien für MQTT das Protokoll gewähren Ihnen Berechtigungen zur Verwendung der MQTT API Geräteaktionen für Jobs. Die MQTT API Operationen werden verwendet, um mit MQTT Themen zu arbeiten, die Jobs-Befehlen vorbehalten sind. Weitere Informationen zu diesen API Vorgängen finden Sie unterMQTT-API-Operationen für Jobs und Geräte.
MQTTIn Richtlinien werden politische Aktionen wieiot:Connect
,iot:Publish
, und verwendetiot:Subscribe
, iot:Receieve
um mit den Berufsthemen zu arbeiten. Diese Richtlinien ermöglichen es Ihnen, eine Verbindung zum Message Broker herzustellen, die MQTT Jobthemen 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 unterAuftragsthemen.
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:
-
region
mit deinem AWS-Region, wieus-east-1
. -
account-id
mit deiner AWS-Konto Nummer, wie57EXAMPLE833
. -
thing-name
mit dem Namen Ihres IoT-Dings, für das Sie Jobs anstreben, wieMyIoTThing
z.
{ "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish", "iot:Subscribe" ], "Resource": [ "arn:aws:iot:
region
:account-id
:topic/$aws/events/job/*", "arn:aws:iot:region
:account-id
:topic/$aws/events/jobExecution/*", "arn:aws:iot:region
:account-id
:topic/$aws/things/thing-name
/jobs/*" ] } ], "Version": "2012-10-17" }
AWS IoT Core Richtlinien für HTTPS das Protokoll
AWS IoT Core Richtlinien auf der Datenebene können auch HTTPS das Protokoll mit dem TLS Authentifizierungsmechanismus verwenden, um Ihre Geräte zu autorisieren. Auf der Datenebene verwenden Richtlinien das iotjobsdata:
Präfix, um Jobs und API Operationen zu autorisieren, die Ihre Geräte ausführen können. Beispielsweise gewährt die iotjobsdata:DescribeJobExecution
Richtlinienaktion dem Benutzer die Erlaubnis, den DescribeJobExecution
APIzu 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 Steuerungsebene als auch auf der Datenebene verwendet werden, finden Sie unterIAMBeispiel für eine Richtlinie sowohl für die Steuerungsebene als auch für die Datenebene.
Die folgende Tabelle enthält eine Liste der AWS IoT Core Richtlinienaktionen und der 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 unterHTTP-API für Jobs-Geräte.
Anmerkung
Diese Richtlinienaktionen zur Auftragsausführung gelten nur für den HTTP TLS Endpunkt. Wenn Sie den MQTT Endpunkt verwenden, müssen Sie die zuvor definierten MQTT Richtlinienaktionen verwenden.
AWS IoT Core Richtlinienaktionen auf Datenebene | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Richtlinienaktionen | APIBetrieb | Ressourcentypen | Beschreibung | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
iotjobsdata:DescribeJobExecution |
DescribeJobExecution |
|
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 der Datenebene API 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:
-
region
mit Ihrem AWS-Region wieus-east-1
. -
account-id
mit deiner AWS-Konto Nummer, wie57EXAMPLE833
. -
thing-name
mit dem Namen der IoT-Sache, wie zum BeispielMyIoTthing
.
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iotjobsdata:GetPendingJobExecutions", "iotjobsdata:StartNextPendingJobExecution", "iotjobsdata:DescribeJobExecution", "iotjobsdata:UpdateJobExecution" ], "Effect": "Allow", "Resource": "arn:aws:iot:
region
:account-id
: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 einen dieser API Vorgänge verwenden, z. B. das folgende Beispiel für DescribeJobExecution
API:
GET /things/thingName/jobs/jobId?executionNumber=executionNumber&includeJobDocument=includeJobDocument&namespaceId=namespaceId HTTP/1.1