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.
AWS IoT Greengrass les appareils principaux utilisent le fournisseur AWS IoT Core d'informations d'identification pour autoriser les appels aux AWS services. Le fournisseur AWS IoT Core d'informations d'identification permet aux appareils d'utiliser leurs certificats X.509 comme identité d'appareil unique pour authentifier les demandes. AWS Il n'est donc plus nécessaire de stocker un identifiant de clé d' AWS accès et une clé d'accès secrète sur vos AWS IoT Greengrass principaux appareils. Pour plus d'informations, consultez la section Autorisation des appels directs vers AWS des services dans le Guide du AWS IoT Core développeur.
Lorsque vous exécutez le logiciel AWS IoT Greengrass Core, vous pouvez choisir de fournir les AWS ressources dont le périphérique principal a besoin. Cela inclut le rôle AWS Identity and Access Management (IAM) que votre appareil principal assume par le biais du fournisseur AWS IoT Core d'informations d'identification. Utilisez l'--provision true
argument pour configurer un rôle et des politiques permettant au périphérique principal d'obtenir des AWS informations d'identification temporaires. Cet argument configure également un alias de AWS IoT rôle qui pointe vers ce rôle IAM. Vous pouvez spécifier le nom du rôle IAM et l'alias de AWS IoT rôle à utiliser. Si vous spécifiez --provision
true
sans ces autres paramètres de nom, le périphérique principal de Greengrass crée et utilise les ressources par défaut suivantes :
-
Rôle IAM :
GreengrassV2TokenExchangeRole
Ce rôle possède une politique nommée
GreengrassV2TokenExchangeRoleAccess
et une relation de confiance qui permetcredentials.iot.amazonaws.com
d'assumer le rôle. La politique inclut les autorisations minimales pour le périphérique principal.Important
Cette politique n'inclut pas l'accès aux fichiers dans les compartiments S3. Vous devez ajouter des autorisations au rôle pour permettre aux appareils principaux de récupérer les artefacts des composants à partir des compartiments S3. Pour de plus amples informations, veuillez consulter Autoriser l'accès aux compartiments S3 pour les artefacts des composants.
-
AWS IoT alias de rôle :
GreengrassV2TokenExchangeRoleAlias
Cet alias de rôle fait référence au rôle IAM.
Pour de plus amples informations, veuillez consulter Étape 3 : Installation du logiciel AWS IoT Greengrass principal.
Vous pouvez également définir l'alias de rôle pour un appareil principal existant. Pour ce faire, configurez le paramètre de iotRoleAlias
configuration du composant Greengrass nucleus.
Vous pouvez obtenir des AWS informations d'identification temporaires pour ce rôle IAM afin d'effectuer AWS des opérations dans vos composants personnalisés. Pour de plus amples informations, veuillez consulter Interagissez avec les AWS services.
Rubriques
Autorisations de rôle de service pour les appareils principaux
Le rôle permet au service suivant d'assumer le rôle :
-
credentials.iot.amazonaws.com
Si vous utilisez le logiciel AWS IoT Greengrass Core pour créer ce rôle, il utilise la politique d'autorisation suivante pour autoriser les appareils principaux à se connecter et à envoyer des journaux à AWS. Le nom de la politique est par défaut le nom du rôle IAM se terminant par. Access
Par exemple, si vous utilisez le nom de rôle IAM par défaut, le nom de cette politique estGreengrassV2TokenExchangeRoleAccess
.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:DescribeLogStreams",
"s3:GetBucketLocation"
],
"Resource": "*"
}
]
}
Autoriser l'accès aux compartiments S3 pour les artefacts des composants
Le rôle de périphérique principal par défaut ne permet pas aux appareils principaux d'accéder aux compartiments S3. Pour déployer des composants contenant des artefacts dans des compartiments S3, vous devez ajouter l's3:GetObject
autorisation permettant aux appareils principaux de télécharger des artefacts de composants. Vous pouvez ajouter une nouvelle politique au rôle principal de l'appareil pour accorder cette autorisation.
Pour ajouter une politique qui autorise l'accès aux artefacts des composants dans Amazon S3
-
Créez un fichier appelé
component-artifact-policy.json
et copiez-y le code JSON suivant. Cette politique permet d'accéder à tous les fichiers d'un compartiment S3. Remplacez amzn-s3-demo-bucket par le nom du compartiment S3 pour autoriser l'accès au périphérique principal.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" } ] }
-
Exécutez la commande suivante pour créer la politique à partir du document de stratégie dans
component-artifact-policy.json
.aws iam create-policy \ --policy-name
MyGreengrassV2ComponentArtifactPolicy
\ --policy-document file://component-artifact-policy.jsonCopiez le nom Amazon Resource Name (ARN) de la politique à partir des métadonnées de la politique dans la sortie. Vous utilisez cet ARN pour associer cette politique au rôle principal de l'appareil à l'étape suivante.
-
Exécutez la commande suivante pour associer la politique au rôle principal de l'appareil.
GreengrassV2TokenExchangeRole
Remplacez-le par le nom du rôle que vous avez spécifié lors de l'exécution du logiciel AWS IoT Greengrass Core. Remplacez ensuite l'ARN de la politique par l'ARN de l'étape précédente.aws iam attach-role-policy \ --role-name
GreengrassV2TokenExchangeRole
\ --policy-arn arn:aws:iam::123456789012
:policy/MyGreengrassV2ComponentArtifactPolicy
Si la commande n'a aucune sortie, elle a réussi et votre appareil principal peut accéder aux artefacts que vous téléchargez dans ce compartiment S3.