Avis de fin de support : le 7 octobre 2026, AWS le support pour AWS IoT Greengrass Version 1. Après le 7 octobre 2026, vous ne pourrez plus accéder aux AWS IoT Greengrass V1 ressources. Pour plus d'informations, rendez-vous sur Migrer depuis AWS IoT Greengrass Version 1.
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.
Vue d'ensemble de AWS IoT Greengrass sécurité
AWS IoT Greengrass utilise des X.509 certificats, AWS IoT des politiques, des politiques et des rôles IAM pour sécuriser les applications qui s'exécutent sur les appareils de votre environnement Greengrass local.
Le schéma suivant montre les composants du modèle AWS IoT Greengrass de sécurité :
- A - Rôle de service Greengrass
-
Rôle IAM créé par le client et assumé AWS IoT Greengrass lors de l'accès à vos AWS ressources depuis et à d' AWS IoT Core autres AWS Lambda services. AWS Pour de plus amples informations, veuillez consulter Rôle de service Greengrass.
- B - Certificat de l'appareil noyau
-
Un X.509 certificat utilisé pour authentifier un cœur Greengrass avec AWS IoT Core et. AWS IoT Greengrass Pour de plus amples informations, veuillez consulter Authentification et autorisation de l'appareil pour AWS IoT Greengrass.
- C - Certificat d'appareil
-
X.509 Certificat utilisé pour authentifier un appareil client, également appelé appareil connecté, avec AWS IoT Core et AWS IoT Greengrass. Pour de plus amples informations, veuillez consulter Authentification et autorisation de l'appareil pour AWS IoT Greengrass.
- D - Rôle de groupe
-
Un rôle IAM créé par le client et assumé AWS IoT Greengrass lorsqu'il appelle des AWS services depuis un centre Greengrass.
Vous utilisez ce rôle pour spécifier les autorisations d'accès dont les fonctions et connecteurs Lambda définis par l'utilisateur ont besoin pour accéder à AWS des services tels que DynamoDB. Vous l'utilisez également pour autoriser l'exportation AWS IoT Greengrass des flux du gestionnaire de flux vers les AWS services et l'écriture dans les CloudWatch journaux. Pour de plus amples informations, veuillez consulter Rôle de groupe Greengrass.
Note
AWS IoT Greengrass n'utilise pas le rôle d'exécution Lambda spécifié dans AWS Lambda pour la version cloud d'une fonction Lambda.
- E - Certificat de serveur MQTT
-
Le certificat utilisé pour l'authentification mutuelle TLS (Transport Layer Security) entre un appareil principal Greengrass et les appareils clients du groupe Greengrass. Le certificat est signé par le certificat CA du groupe, qui est stocké dans le AWS Cloud.
Flux de connexion des appareils
Cette section décrit comment les appareils clients se connectent au AWS IoT Greengrass service et aux appareils principaux de Greengrass. Les appareils clients sont AWS IoT Core des appareils enregistrés qui font partie du même groupe Greengrass que le périphérique principal.
-
Un appareil principal Greengrass utilise son certificat d'appareil, sa clé privée et le certificat CA AWS IoT Core racine pour se connecter au AWS IoT Greengrass service. Sur l'appareil principal, l'objet
cryptodu fichier de configuration spécifie le chemin d'accès au fichier pour ces éléments. -
L'appareil noyau Greengrass télécharge les informations d'adhésion au groupe à partir du service AWS IoT Greengrass .
-
Lorsqu'un déploiement est effectué sur l’appareil noyau Greengrass, le gestionnaire de certificats de l'appareil (DCM) s’occupe de la gestion des certificats de serveur local pour l’appareil noyau Greengrass.
-
Un appareil client se connecte au AWS IoT Greengrass service à l'aide de son certificat d'appareil, de sa clé privée et du certificat CA AWS IoT Core racine. Une fois la connexion établie, l'appareil client utilise le service Greengrass Discovery pour trouver l'adresse IP de son appareil principal Greengrass. L'appareil client télécharge également le certificat CA de groupe, qui est utilisé pour l'authentification mutuelle TLS avec le périphérique principal Greengrass.
-
Un appareil client tente de se connecter au périphérique principal de Greengrass en transmettant son certificat d'appareil et son ID client. Si l'ID client correspond au nom de l'appareil client et que le certificat est valide (fait partie du groupe Greengrass), la connexion est établie. Dans le cas contraire, la connexion est arrêtée.
La AWS IoT politique relative aux appareils clients doit greengrass:Discover autoriser les appareils clients à découvrir les informations de connectivité pour le cœur. Pour de plus amples informations sur cette instruction de stratégie, veuillez consulter Autorisation de découverte.
Configuration AWS IoT Greengrass sécurité
Pour configurer la sécurité de votre application Greengrass :
-
Créez AWS IoT Core ce que vous voulez pour votre appareil Greengrass Core.
-
Générez une paire de clés et un certificat d’appareil pour votre appareil noyau Greengrass.
-
Créez et attachez une stratégie AWS IoT au certificat d'appareil. Le certificat et la politique permettent à l'appareil principal de Greengrass d'accéder aux AWS IoT Greengrass services AWS IoT Core et aux services. Pour de plus amples informations, veuillez consulter AWS IoT Politique minimale pour le périphérique principal.
Note
L'utilisation de variables de politique objet (
iot:Connection.Thing.) dans la AWS IoT politique d'un périphérique principal n'est pas prise en charge. Le noyau utilise le même certificat de périphérique pour établir plusieurs connexions AWS IoT Core , mais l'ID client d'une connexion peut ne pas correspondre exactement au nom de l'élément principal.* -
Créez un rôle de service Greengrass. Ce rôle IAM AWS IoT Greengrass vous autorise à accéder aux ressources d'autres AWS services en votre nom. Cela permet d' AWS IoT Greengrass effectuer des tâches essentielles, telles que la récupération de AWS Lambda fonctions et la gestion des ombres de l'appareil.
Vous pouvez utiliser le même rôle de service dans Région AWS s, mais il doit être associé à votre Compte AWS dans tous les Région AWS endroits que vous utilisez AWS IoT Greengrass.
-
(Facultatif) Créez un rôle de groupe Greengrass. Ce rôle IAM autorise les fonctions et connecteurs Lambda exécutés sur un cœur Greengrass à appeler des services. AWS Par exemple, le connecteur Kinesis Firehose nécessite l'autorisation d'écrire des enregistrements dans un flux de diffusion Amazon Data Firehose.
Vous ne pouvez attacher qu'un seul rôle à un groupe Greengrass.
-
Créez AWS IoT Core quelque chose pour chaque appareil qui se connecte à votre cœur Greengrass.
Note
Vous pouvez également utiliser des AWS IoT Core objets et des certificats existants.
-
Créez des certificats d'appareil, des paires de clés et AWS IoT des politiques pour chaque appareil qui se connecte à votre Greengrass core.
AWS IoT Greengrass principes de sécurité fondamentaux
Le cœur de Greengrass utilise les principes de sécurité suivants : AWS IoT client, serveur MQTT local et gestionnaire de secrets local. La configuration de ces mandataires est stockée dans l'objet crypto situé dans le fichier de configuration config.json. Pour de plus amples informations, veuillez consulter AWS IoT Greengrass fichier de configuration de base.
Cette configuration inclut le chemin d'accès à la clé privée utilisée par le composant principal pour l'authentification et le chiffrement. AWS IoT Greengrass prend en charge deux modes de clé privée : le stockage basé sur le matériel ou le stockage basé sur le système de fichiers (par défaut). Pour plus d'informations sur le stockage des clés sur les modules de sécurité matérielle, consultez Intégration de sécurité matérielle.
- AWS IoT Client
-
Le AWS IoT client (client IoT) gère la communication sur Internet entre le cœur de Greengrass et AWS IoT Core. AWS IoT Greengrass utilise des X.509 certificats avec des clés publiques et privées pour l'authentification mutuelle lors de l'établissement de connexions TLS pour cette communication. Pour plus d'informations, consultez X.509 les certificats et AWS IoT Core le Guide du AWS IoT Core développeur.
Le client IoT prend en charge les certificats et les clés RSA et EC. Les chemins du certificat et de la clé privée sont spécifiés pour le mandataire
IoTCertificatedansconfig.json. - Serveur MQTT
-
Le serveur MQTT local gère la communication sur le réseau local entre le cœur de Greengrass et les appareils clients du groupe. AWS IoT Greengrass utilise des X.509 certificats avec des clés publiques et privées pour l'authentification mutuelle lors de l'établissement de connexions TLS pour cette communication.
Par défaut, AWS IoT Greengrass génère une clé privée RSA pour vous. Pour configurer l’appareil principal (core) pour utiliser une autre clé privée, vous devez fournir le chemin de la clé du mandataire
MQTTServerCertificatedansconfig.json. Vous êtes responsable de la rotation d'une clé fournie par le client.Prise en charge des clés privées Clé RSA Clé EC Type de clé Pris en charge Pris en charge Paramètres clés 2 048 bits de longueur minimale NIST P-256 ou courbe P-384 NIST Format de disque PKCS#1, PKCS#8 SECG1, PKCS#8 Version GGC minimale Utilisez la clé RSA par défaut : 1.0
Spécifiez une clé RSA : 1.7
Spécifiez une clé EC : 1.9
C’est la configuration de la clé privée qui détermine les processus connexes. Pour obtenir la liste des suites de chiffrement que l’appareil principal (core) Greengrass prend en charge en tant que serveur, consultez Prise en charge des suites de chiffrement TLS.
- Si aucune clé privée n’est spécifiée (par défaut)
-
AWS IoT Greengrass fait pivoter la touche en fonction de vos paramètres de rotation.
L’appareil principal (core) génère une clé RSA, qui est utilisée pour générer le certificat.
Le certificat de serveur MQTT possède une clé publique RSA et une signature SHA-256 RSA.
- Si une clé privée RSA est spécifiée (nécessite GGC v1.7 ou version ultérieure)
-
Vous êtes responsable de la rotation de la clé.
L’appareil principal (core) utilise la clé spécifiée pour générer le certificat.
La clé RSA doit avoir une longueur minimale de 2 048 bits.
Le certificat de serveur MQTT possède une clé publique RSA et une signature SHA-256 RSA.
- Si une clé privée EC est spécifiée (nécessite GGC v1.9 ou version ultérieure)
-
Vous êtes responsable de la rotation de la clé.
L’appareil principal (core) utilise la clé spécifiée pour générer le certificat.
La clé privée EC doit utiliser une courbe NIST P-256 ou NIST. P-384
Le certificat de serveur MQTT possède une clé publique EC et une signature SHA-256 RSA.
Le certificat de serveur MQTT présenté par le cœur possède une signature SHA-256 RSA, quel que soit le type de clé. C'est pourquoi les clients doivent prendre en charge la validation des certificats SHA-256 RSA pour établir une connexion sécurisée avec le cœur.
- Secrets Manager
-
Le gestionnaire de secrets local gère en toute sécurité les copies locales des secrets que vous créez dans AWS Secrets Manager. Il utilise une clé privée pour sécuriser la clé de données qui est utilisée pour chiffrer les secrets. Pour de plus amples informations, veuillez consulter Déployez des secrets dans AWS IoT Greengrass principal.
Par défaut, la clé privée du client IoT est utilisée, mais vous pouvez spécifier une autre clé privée pour le mandataire
SecretsManagerdansconfig.json. Seul le type de clé RSA est pris en charge. Pour de plus amples informations, veuillez consulter Spécifier la clé privée pour chiffrer un secret.Note
Actuellement, ne AWS IoT Greengrass prend en charge que le mécanisme de remplissage
PKCS #1 v1.5 pour le chiffrement et le déchiffrement des secrets locaux lors de l'utilisation de clés privées matérielles. Si vous suivez les instructions fournies par le fournisseur pour générer manuellement des clés privées matérielles, assurez-vous de choisir PKCS #1 v1.5. AWS IoT Greengrass ne prend pas en charge le rembourrage de chiffrement asymétrique optimal (OAEP). Prise en charge des clés privées Clé RSA Clé EC Type de clé Pris en charge Non pris en charge Paramètres clés 2 048 bits de longueur minimale Non applicable Format de disque PKCS#1, PKCS#8 Non applicable Version GGC minimale 1,7 Non applicable
Abonnements gérés dans le flux de travail de messagerie MQTT
AWS IoT Greengrass utilise un tableau d'abonnement pour définir comment les messages MQTT peuvent être échangés entre les appareils clients, les fonctions et les connecteurs d'un groupe Greengrass et avec AWS IoT Core ou le service fantôme local. Chaque abonnement spécifie une source, une cible et un sujet MQTT (ou sujet) sur lequel les messages sont envoyés ou reçus. AWS IoT Greengrass permet d'envoyer des messages d'une source à une cible uniquement si un abonnement correspondant est défini.
Un abonnement définit le flux de messages dans une seule direction, de la source vers la cible. Pour prendre en charge l’échange bidirectionnel de messages, vous devez créer deux abonnements, une pour chaque direction.
Prise en charge des suites de chiffrement TLS
AWS IoT Greengrass utilise le modèle de sécurité AWS IoT Core des transports pour crypter les communications avec le cloud à l'aide de suites de chiffrement
Suites de chiffrement prises en charge pour les communications réseau locales
Contrairement à AWS IoT Core, le AWS IoT Greengrass noyau prend en charge les suites de chiffrement TLS du réseau local suivantes pour les algorithmes de signature de certificats. Toutes ces suites de chiffrement sont prises en charge lorsque des clés privées sont stockées sur le système de fichiers. Un sous-ensemble est pris en charge lorsque l’appareil principal (core) est configuré pour utiliser des modules de sécurité matériels (HSM). Pour plus d’informations, consultez AWS IoT Greengrass principes de sécurité fondamentaux et Intégration de sécurité matérielle. Le tableau inclut également la version minimale du logiciel AWS IoT Greengrass Core requise pour le support.
| Chiffrement | Prise en charge de HSM | Version GGC minimale | |
|---|---|---|---|
| TLSv1.2 | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA | Pris en charge | 1.0 |
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA | Pris en charge | 1.0 | |
| TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 | Pris en charge | 1.0 | |
| TLS_RSA_WITH_AES_128_CBC_SHA | Non pris en charge | 1.0 | |
| TLS_RSA_WITH_AES_128_GCM_SHA256 | Non pris en charge | 1.0 | |
| TLS_RSA_WITH_AES_256_CBC_SHA | Non pris en charge | 1.0 | |
| TLS_RSA_WITH_AES_256_GCM_SHA384 | Non pris en charge | 1.0 | |
| TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 | Pris en charge | 1.9 | |
| TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 | Pris en charge | 1.9 | |
| TLSv1.1 | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA | Pris en charge | 1.0 |
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA | Pris en charge | 1.0 | |
| TLS_RSA_WITH_AES_128_CBC_SHA | Non pris en charge | 1.0 | |
| TLS_RSA_WITH_AES_256_CBC_SHA | Non pris en charge | 1.0 | |
| TLSv1.0 | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA | Pris en charge | 1.0 |
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA | Pris en charge | 1.0 | |
| TLS_RSA_WITH_AES_128_CBC_SHA | Non pris en charge | 1.0 | |
| TLS_RSA_WITH_AES_256_CBC_SHA | Non pris en charge | 1.0 |