Autoriser vos appareils à utiliser AWS IoT Jobs en toute sécurité sur le plan de données - AWS IoT Core

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Autoriser vos appareils à utiliser AWS IoT Jobs en toute sécurité sur le plan de données

Pour autoriser vos appareils à interagir en toute sécurité avec AWS IoT Jobs sur le plan de données, vous devez utiliser AWS IoT Core des politiques. AWS IoT Core les politiques relatives aux emplois sont JSON des documents contenant des déclarations de politique. Ces politiques utilisent également les éléments Effet, Action et Ressource, et suivent une convention similaire à celle des IAM politiques. Pour plus d'informations sur les éléments, reportez-vous à la section Référence des éléments de IAM JSON politique dans le guide de IAM l'utilisateur.

Les politiques peuvent être utilisées à la fois avec les HTTPS protocoles MQTT et doivent utiliser l'TCPauthentification TLS mutuelle pour authentifier les appareils. L’exemple suivant montre comment utiliser ces politiques dans les différents protocoles de communication.

Avertissement

Nous vous recommandons de ne pas utiliser d'autorisations génériques, comme "Action": ["iot:*"] dans vos IAM politiques ou AWS IoT Core politiques. L’utilisation d’autorisations génériques n’est pas une bonne pratique de sécurité recommandée. Pour plus d'informations, consultez AWS IoT la politique trop permissive.

AWS IoT Core politiques relatives au MQTT protocole

AWS IoT Core les politiques de MQTT protocole vous accordent l'autorisation d'utiliser les MQTT API actions de l'appareil des tâches. Les MQTT API opérations sont utilisées pour travailler avec MQTT des sujets réservés aux commandes de tâches. Pour plus d'informations sur ces API opérations, consultezOpérations de l'API MQTT de l'appareil de tâches.

MQTTles politiques utilisent des actions de stratégie telles que iot:Connectiot:Publish,iot:Subscribe, et iot:Receieve pour travailler avec les sujets des tâches. Ces politiques vous permettent de vous connecter au courtier de messages, de vous abonner aux MQTT rubriques des offres d'emploi et d'envoyer et de recevoir MQTT des messages entre vos appareils et le cloud. Pour plus d'informations sur ces actions, consultez AWS IoT Core actions politiques.

Pour plus d'informations sur les rubriques relatives aux AWS IoT offres d'emploi, consultezRubriques de tâche.

L’exemple suivant montre comment vous pouvez utiliser iot:Publish et iot:Subscribe pour publier et vous abonner à des tâches et à des exécutions de tâches.

Dans l’exemple, remplacez :

  • region avec votre Région AWS, par exempleus-east-1.

  • account-id avec votre Compte AWS numéro, par exemple57EXAMPLE833.

  • thing-name avec le nom de l'objet IoT pour lequel vous ciblez des emplois, par exempleMyIoTThing.

{ "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 politiques relatives au HTTPS protocole

AWS IoT Core les politiques du plan de données peuvent également utiliser le HTTPS protocole avec le mécanisme TLS d'authentification pour autoriser vos appareils. Sur le plan de données, les politiques utilisent le iotjobsdata: préfixe pour autoriser les tâches et API les opérations que vos appareils peuvent effectuer. Par exemple, l'action iotjobsdata:DescribeJobExecution stratégique accorde à l'utilisateur l'autorisation d'utiliser le DescribeJobExecutionAPI.

Note

Les actions de politique du plan de données doivent utiliser le préfixe iotjobsdata:. Sur le plan de contrôle, les actions doivent utiliser le préfixe iot:. Pour un exemple de IAM politique lorsque des actions de stratégie du plan de contrôle et du plan de données sont utilisées à la fois, voirIAMexemple de politique pour le plan de contrôle et le plan de données.

Le tableau suivant présente une liste des actions AWS IoT Core politiques et des autorisations permettant d'autoriser les appareils à utiliser ces API actions. Pour obtenir la liste des API opérations que vous pouvez effectuer dans le plan de données, consultezAPI HTTP de l'appareil Jobs.

Note

Ces actions de politique d'exécution des tâches s'appliquent uniquement au HTTP TLS point de terminaison. Si vous utilisez le MQTT point de terminaison, vous devez utiliser les actions MQTT de politique définies précédemment.

AWS IoT Core actions politiques sur le plan de données
Actions de politique APIopération Types de ressources Description
iotjobsdata:DescribeJobExecution DescribeJobExecution
  • tâche

  • thing

Représente l’autorisation de récupérer une exécution de tâch. L'autorisation iotjobsdata:DescribeJobExecution est vérifiée chaque fois qu'une demande est faite de récupérer une exécution de tâche.
iotjobsdata:GetPendingJobExecutions GetPendingJobExecutions thing Représente l'autorisation de récupérer la liste des tâches qui ne sont pas à un statut terminal pour un objet. L'autorisation iotjobsdata:GetPendingJobExecutions est vérifiée chaque fois qu'une demande est faite de récupérer la liste.
iotjobsdata:StartNextPendingJobExecution StartNextPendingJobExecution thing Représente l'autorisation d'obtenir et de démarrer l'exécution de tâche en attente suivante pour un objet. C’est-à-dire de mettre à jour une exécution de tâche en la faisant passer du statut QUEUED au statut IN_PROGRESS.) L'autorisation iotjobsdata:StartNextPendingJobExecution est vérifiée chaque fois qu'une demande est faite de démarrer l'exécution de tâche en attente suivante.
iotjobsdata:UpdateJobExecution UpdateJobExecution thing Représente l'autorisation de mettre à jour une exécution de tâche. L'autorisation iotjobsdata:UpdateJobExecution est vérifiée chaque fois qu'une demande est faite de mettre à jour l'état d'une exécution de tâche.

Vous trouverez ci-dessous un exemple de AWS IoT Core politique qui autorise l'exécution des actions sur les API opérations du plan de données pour n'importe quelle ressource. Vous pouvez étendre votre politique à une ressource spécifique, telle qu’un objet IoT. Dans votre exemple, remplacez :

  • region avec votre Région AWS tel queus-east-1.

  • account-id avec votre Compte AWS numéro, par exemple57EXAMPLE833.

  • thing-name avec le nom de l'IoT, tel queMyIoTthing.

{ "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" } ] }

Par exemple, vous devez utiliser ces politiques lorsque vos appareils IoT utilisent une AWS IoT Core politique pour accéder à l'une de ces API opérations, comme dans l'exemple suivant DescribeJobExecution API :

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