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.
Préparation de la sécurité
Cette section décrit les principales exigences de sécurité pour AWS IoT Device Management Catalogue de packages logiciels.
Authentification basée sur les ressources
Le Catalogue de Logiciels utilise une autorisation basée sur les ressources pour renforcer la sécurité lors de la mise à jour des logiciels de votre flotte. Cela signifie que vous devez créer un AWS Identity and Access Management (IAM) politique qui accorde les droits d'exécutioncreate
,, read
update
delete
, et d'list
actions pour les progiciels et les versions de packages, et qui fait référence aux packages logiciels et versions de packages spécifiques que vous souhaitez déployer dans la Resources
section. Vous avez également besoin de ces droits pour pouvoir mettre à jour l'ombre nommée réservée. Vous référencez les packages logiciels et les versions des packages en incluant un nom de ressource Amazon (ARN) pour chaque entité.
Note
Si vous souhaitez que la politique accorde des droits pour les API appels de version de package (tels que CreatePackageVersionUpdatePackageVersion,, DeletePackageVersion), vous devez inclure à la fois le package logiciel et la version du package ARNs dans la politique. Si vous souhaitez que la politique accorde des droits pour les API appels de packages logiciels (tels que CreatePackageUpdatePackage, et DeletePackage), vous devez inclure uniquement le package logiciel ARN dans la politique.
Structurez le package logiciel et la version du package ARNs comme suit :
Package logiciel :
arn:aws:iot:
<region>
:<accountID>
:package/<packageName>
/package
Version du package :
arn:aws:iot:
<region>
:<accountID>
:package/<packageName>
/version/<versionName>
Note
Il existe d'autres droits connexes que vous pouvez inclure dans cette politique. Par exemple, vous pouvez inclure un ARN pour le job
thinggroup
, etjobtemplate
. Pour plus d'informations et une liste complète des options de politique, voir Sécurisation des utilisateurs et des appareils avec AWS IoT Emplois.
Par exemple, si vous disposez d'un package logiciel et d'une version de package nommés comme suit :
AWS IoT chose :
myThing
Nom du package :
samplePackage
Version
1.0.0
La politique doit ressembler à l'exemple suivant :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:createPackage", "iot:createPackageVersion", "iot:updatePackage", "iot:updatePackageVersion" ], "Resource": [ "arn:aws:iot:us-east-1:111122223333:package/samplePackage", "arn:aws:iot:us-east-1:111122223333:package/samplePackage/version/1.0.0" ] }, { "Effect": "Allow", "Action": [ "iot:GetThingShadow", "iot:UpdateThingShadow" ], "Resource": "arn:aws:iot:us-east-1:111122223333:thing/myThing/$package" } ] }
AWS IoT Droits de travail pour déployer des versions de packages
Pour des raisons de sécurité, il est important que vous accordiez les droits de déploiement de packages et de versions de packages, et que vous nommiez les packages et versions de packages spécifiques qu'ils sont autorisés à déployer. Pour ce faire, vous créez un IAM rôle et une politique qui autorisent le déploiement de tâches avec des versions de package. La politique doit spécifier les versions du package de destination en tant que ressource.
IAMpolitique
La IAM politique accorde le droit de créer une tâche qui inclut le package et la version nommés dans la Resource
section.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:CreateJob", "iot:CreateJobTemplate" ], "Resource":[ "arn:aws:iot:*:
111122223333
:job/<jobId>
", "arn:aws:iot:*:111122223333
:thing/<thingName>
/$package", "arn:aws:iot:*:111122223333
:thinggroup/<thingGroupName>
", "arn:aws:iot:*:111122223333
:jobtemplate/<jobTemplateName>
", "arn:aws:iot:*:111122223333
:package/<packageName>
/version/<versionName>
" ] } ] }
Note
Si vous souhaitez déployer une tâche qui désinstalle un package logiciel et une version de package, vous devez autoriser l'emplacement de la version du package$null
, comme dans le ARN cas suivant :
arn:aws:iot:
<regionCode>
:111122223333
:package/<packageName>
/version/$null
AWS IoT Droits de travail pour mettre à jour l'ombre nommée réservée
Pour permettre aux tâches de mettre à jour le nom réservé de l'objet lorsque la tâche est terminée avec succès, vous devez créer un IAM rôle et une politique. Vous pouvez le faire de deux manières dans le AWS IoT console. La première consiste à créer un package logiciel dans la console. Si la boîte de dialogue Activer les dépendances pour la gestion des packages s'affiche, vous pouvez choisir d'utiliser un rôle existant ou d'en créer un nouveau. Ou, dans le AWS IoT console, choisissez Paramètres, sélectionnez Gérer l'indexation, puis Gérer l'indexation pour les packages et les versions des appareils.
Note
Si vous choisissez d'avoir AWS IoT Le Job service met à jour l'ombre nommée réservée. Lorsqu'une tâche est terminée avec succès, l'APIappel est pris en compte dans le calcul de votre Device Shadow et des opérations de registre et peut entraîner un coût. Pour plus d’informations, consultez .AWS IoT Core tarification
Lorsque vous utilisez l'option Créer un rôle, le nom du rôle généré commence par aws-iot-role-update-shadows
et contient les politiques suivantes :
Configuration de rôles
- Autorisations
-
La politique d'autorisation accorde le droit d'interroger et de mettre à jour l’ombre d’objet. Le
$package
paramètre de la ressource ARN cible l'ombre nommée réservée.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:DescribeEndpoint", "Resource": "" }, { "Effect": "Allow", "Action": [ "iot:GetThingShadow", "iot:UpdateThingShadow" ], "Resource": [ "arn:aws:iot:
<regionCode>
:111122223333
:thing/<thingName>
/$package" ] } ] } - Relation d'approbation
-
Outre la politique d'autorisations, le rôle nécessite une relation de confiance avec AWS IoT Core afin que l'entité puisse assumer le rôle et mettre à jour l'ombre nommée réservée.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Configuration d'une politique utilisateur
- iam : autorisation PassRole
-
Enfin, vous devez être autorisé à transmettre le rôle à AWS IoT Core lorsque vous appelez l' UpdatePackageConfigurationAPIopération.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole", "iot:UpdatePackageConfiguration" ], "Resource": "arn:aws:iam::
111122223333
:role/<roleName>
" } ] }
AWS IoT Autorisations de téléchargement des jobs depuis Amazon S3
Le document de travail est enregistré dans Amazon S3. Vous vous référez à ce fichier lorsque vous expédiez via AWS IoT Emplois. Vous devez fournir AWS IoT Tâches autorisées à télécharger le fichier (s3:GetObject
). Vous devez également établir une relation de confiance entre Amazon S3 et AWS IoT Emplois. Pour obtenir des instructions sur la création de ces politiques, voir Presigned URLs dans Gestion des tâches.