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 Device Defender
Le AWS IoT Device Defender composant (aws.greengrass.DeviceDefender
) informe les administrateurs des modifications de l'état des appareils principaux de Greengrass. Cela peut permettre d'identifier un comportement inhabituel qui pourrait indiquer un appareil compromis. Pour plus d’informations, consultez AWS IoT Device Defender dans le Guide du développeur AWS IoT Core
.
Ce composant lit les métriques du système sur le périphérique principal. Ensuite, il publie les métriques sur AWS IoT Device Defender. Pour plus d'informations sur la façon de lire et d'interpréter les métriques rapportées par ce composant, consultez les spécifications du document relatif aux métriques des appareils dans le Guide du AWS IoT Core développeur.
Ce composant fournit des fonctionnalités similaires à celles du connecteur Device Defender dans AWS IoT Greengrass V1. Pour plus d'informations, consultez la section relative au connecteur Device Defender dans le guide du AWS IoT Greengrass V1 développeur.
Versions
Les versions de ce composant sont les suivantes :
Pour plus d'informations sur les modifications apportées à chaque version du composant, consultez le journal des modifications.
Type
- v3.x
-
Ce composant est un composant générique (aws.greengrass.generic
). Le noyau Greengrass exécute les scripts de cycle de vie du composant.
- v2.x
-
Ce composant est un composant Lambda () aws.greengrass.lambda
. Le noyau Greengrass exécute la fonction Lambda de ce composant à l'aide du composant Lambda Launcher.
Pour de plus amples informations, veuillez consulter Types de composants.
Système d’exploitation
- v3.x
-
Ce composant peut être installé sur les appareils principaux qui exécutent les systèmes d'exploitation suivants :
- v2.x
-
Ce composant ne peut être installé que sur les appareils principaux de Linux.
Prérequis
Ce composant répond aux exigences suivantes :
- v3.x
-
-
Python version 3.7 installé sur le périphérique principal et ajouté à la variable d'PATHenvironnement.
-
AWS IoT Device Defender configuré pour utiliser la fonction de détection afin de surveiller les violations. Pour plus d'informations, consultez la section Detect dans le guide du AWS IoT Core développeur.
- v2.x
-
-
Votre appareil principal doit répondre aux exigences pour exécuter les fonctions Lambda. Si vous souhaitez que le périphérique principal exécute des fonctions Lambda conteneurisées, le périphérique doit répondre aux exigences requises. Pour de plus amples informations, veuillez consulter Exigences relatives à la fonction Lambda.
-
Python version 3.7 installé sur le périphérique principal et ajouté à la variable d'PATHenvironnement.
-
AWS IoT Device Defender configuré pour utiliser la fonction de détection afin de surveiller les violations. Pour plus d'informations, consultez la section Detect dans le guide du AWS IoT Core développeur.
-
La bibliothèque psutil installée sur le périphérique principal. La version 5.7.0 est la dernière version dont le fonctionnement avec le composant a été vérifié.
-
La bibliothèque cbor installée sur le périphérique principal. La version 1.0.0 est la dernière version dont le fonctionnement avec le composant a été vérifié.
-
Pour recevoir les données de sortie de ce composant, vous devez fusionner la mise à jour de configuration suivante pour l'ancien composant routeur d'abonnement (aws.greengrass.LegacySubscriptionRouter
) lorsque vous déployez ce composant. Cette configuration indique le sujet dans lequel ce composant publie les réponses.
Legacy subscription router v2.1.xLegacy subscription router v2.0.x
- Legacy subscription router v2.1.x
{
"subscriptions": {
"aws-greengrass-device-defender": {
"id": "aws-greengrass-device-defender",
"source": "component:aws.greengrass.DeviceDefender",
"subject": "$aws/things/+/defender/metrics/json",
"target": "cloud"
}
}
}
- Legacy subscription router v2.0.x
{
"subscriptions": {
"aws-greengrass-device-defender": {
"id": "aws-greengrass-device-defender",
"source": "arn:aws:lambda:region
:aws:function:aws-greengrass-device-defender:version
",
"subject": "$aws/things/+/defender/metrics/json",
"target": "cloud"
}
}
}
-
Remplacez region
avec celui Région AWS que tu utilises.
-
Remplacez version
avec la version de la fonction Lambda exécutée par ce composant. Pour trouver la version de la fonction Lambda, vous devez consulter la recette de la version de ce composant que vous souhaitez déployer. Ouvrez la page de détails de ce composant dans la AWS IoT Greengrass console et recherchez la paire clé-valeur de la fonction Lambda. Cette paire clé-valeur contient le nom et la version de la fonction Lambda.
Vous devez mettre à jour la version de la fonction Lambda sur l'ancien routeur d'abonnement chaque fois que vous déployez ce composant. Cela garantit que vous utilisez la bonne version de la fonction Lambda pour la version du composant que vous déployez.
Pour de plus amples informations, veuillez consulter Créer des déploiements.
Dépendances
Lorsque vous déployez un composant, il déploie AWS IoT Greengrass également des versions compatibles de ses dépendances. Cela signifie que vous devez satisfaire aux exigences relatives au composant et à toutes ses dépendances pour réussir le déploiement du composant. Cette section répertorie les dépendances des versions publiées de ce composant et les contraintes de version sémantiques qui définissent les versions des composants pour chaque dépendance. Vous pouvez également consulter les dépendances de chaque version du composant dans la AWS IoT Greengrass console. Sur la page de détails du composant, recherchez la liste des dépendances.
- 3.1.1
-
Le tableau suivant répertorie les dépendances pour la version 3.1.1 de ce composant.
- 3.0.0 - 3.0.2
-
Le tableau suivant répertorie les dépendances pour les versions 3.0.0 à 3.0.2 de ce composant.
- 2.0.12 - 2.0.16
-
Le tableau suivant répertorie les dépendances pour la version 2.0.16 de ce composant.
- 2.0.10 - 2.0.11
-
Le tableau suivant répertorie les dépendances pour les versions 2.0.10 et 2.0.11 de ce composant.
- 2.0.9
-
Le tableau suivant répertorie les dépendances pour la version 2.0.9 de ce composant.
- 2.0.8
-
Le tableau suivant répertorie les dépendances pour la version 2.0.8 de ce composant.
- 2.0.7
-
Le tableau suivant répertorie les dépendances pour la version 2.0.7 de ce composant.
- 2.0.6
-
Le tableau suivant répertorie les dépendances pour la version 2.0.6 de ce composant.
- 2.0.5
-
Le tableau suivant répertorie les dépendances pour la version 2.0.5 de ce composant.
- 2.0.4
-
Le tableau suivant répertorie les dépendances pour la version 2.0.4 de ce composant.
- 2.0.3
-
Le tableau suivant répertorie les dépendances pour la version 2.0.3 de ce composant.
Pour plus d'informations sur les dépendances des composants, consultez la référence de la recette des composants.
Configuration
Ce composant fournit les paramètres de configuration suivants que vous pouvez personnaliser lorsque vous déployez le composant.
- v3.x
-
PublishRetryCount
-
Le nombre de fois où la publication sera réessayée. Cette fonctionnalité est disponible dans la version 3.1.1.
Le minimum est 0.
Le maximum est de 72.
Par défaut: 5
SampleIntervalSeconds
-
(Facultatif) Durée en secondes entre chaque cycle pendant lequel le composant collecte et rapporte des métriques.
La valeur minimale est de 300 secondes (5 minutes).
Par défaut : 300 secondes
-
UseInstaller
-
(Facultatif) Valeur booléenne qui définit s'il faut utiliser le script d'installation dans ce composant pour installer les dépendances de ce composant.
Définissez cette valeur sur false
si vous souhaitez utiliser un script personnalisé pour installer des dépendances ou si vous souhaitez inclure des dépendances d'exécution dans une image Linux prédéfinie. Pour utiliser ce composant, vous devez installer les bibliothèques suivantes, y compris les dépendances éventuelles, et les mettre à la disposition de l'utilisateur du système Greengrass par défaut.
Si vous utilisez la version 3.0.0 ou 3.0.1 de ce composant sur des appareils principaux que vous configurez pour utiliser un HTTPS proxy, vous devez définir cette valeur sur. false
Le script d'installation ne prend pas en charge le fonctionnement derrière un HTTPS proxy dans ces versions de ce composant.
Par défaut : true
- v2.x
-
La configuration par défaut de ce composant inclut les paramètres de la fonction Lambda. Nous vous recommandons de modifier uniquement les paramètres suivants pour configurer ce composant sur vos appareils.
lambdaParams
-
Objet contenant les paramètres de la fonction Lambda de ce composant. Cet objet contient les informations suivantes :
EnvironmentVariables
-
Objet contenant les paramètres de la fonction Lambda. Cet objet contient les informations suivantes :
PROCFS_PATH
-
(Facultatif) Le chemin d'accès au /proc
dossier.
-
Pour exécuter ce composant dans un conteneur, utilisez la valeur par défaut,/host-proc
. Le composant s'exécute dans un conteneur par défaut.
-
Pour exécuter ce composant sans mode conteneur, spécifiez /proc
ce paramètre.
Par défaut: /host-proc
. Il s'agit du chemin par défaut où ce composant monte le /proc
dossier dans le conteneur.
Ce composant dispose d'un accès en lecture seule à ce dossier.
SAMPLE_INTERVAL_SECONDS
-
(Facultatif) Durée en secondes entre chaque cycle pendant lequel le composant collecte et rapporte des métriques.
La valeur minimale est de 300 secondes (5 minutes).
Par défaut : 300 secondes
containerMode
-
(Facultatif) Mode de conteneurisation de ce composant. Sélectionnez parmi les options suivantes :
-
GreengrassContainer
— Le composant s'exécute dans un environnement d'exécution isolé à l'intérieur du AWS IoT Greengrass conteneur.
-
NoContainer
— Le composant ne s'exécute pas dans un environnement d'exécution isolé.
Si vous spécifiez cette option, vous devez spécifier /proc
le paramètre de variable d'PROCFS_PATH
environnement.
Par défaut : GreengrassContainer
containerParams
-
(Facultatif) Objet contenant les paramètres du conteneur pour ce composant. Le composant utilise ces paramètres si vous le spécifiez GreengrassContainer
pourcontainerMode
.
Cet objet contient les informations suivantes :
memorySize
-
(Facultatif) La quantité de mémoire (en kilo-octets) à allouer au composant.
La valeur par défaut est de 50 000 Ko.
pubsubTopics
-
(Facultatif) Objet contenant les rubriques auxquelles le composant s'abonne pour recevoir des messages. Vous pouvez spécifier chaque rubrique et indiquer si le composant est abonné à des MQTT rubriques provenant de rubriques locales AWS IoT Core ou à des rubriques locales de publication/d'abonnement.
Cet objet contient les informations suivantes :
0
— Il s'agit d'un index de tableau sous forme de chaîne.
-
Un objet qui contient les informations suivantes :
type
-
(Facultatif) Type de message de publication/d'abonnement utilisé par ce composant pour s'abonner aux messages. Sélectionnez parmi les options suivantes :
-
PUB_SUB
– Abonnez-vous aux messages locaux de publication/abonnement. Si vous choisissez cette option, le sujet ne peut pas contenir de MQTT caractères génériques. Pour plus d'informations sur la façon d'envoyer des messages à partir d'un composant personnalisé lorsque vous spécifiez cette option, consultezPublier/souscrire des messages locaux.
-
IOT_CORE
— Abonnez-vous aux AWS IoT Core MQTT messages. Si vous choisissez cette option, le sujet peut contenir des MQTT caractères génériques. Pour plus d'informations sur la façon d'envoyer des messages à partir de composants personnalisés lorsque vous spécifiez cette option, consultezPublier/souscrire AWS IoT Core MQTT des messages.
Par défaut : PUB_SUB
topic
-
(Facultatif) Rubrique à laquelle le composant s'abonne pour recevoir des messages. Si vous spécifiez IotCore
pourtype
, vous pouvez utiliser des MQTT caractères génériques (+
et#
) dans cette rubrique.
Exemple : mise à jour de fusion de configuration (mode conteneur)
{
"lambdaExecutionParameters": {
"EnvironmentVariables": {
"PROCFS_PATH": "/host_proc"
}
},
"containerMode": "GreengrassContainer"
}
Exemple : mise à jour de fusion de configuration (pas de mode conteneur)
{
"lambdaExecutionParameters": {
"EnvironmentVariables": {
"PROCFS_PATH": "/proc"
}
},
"containerMode": "NoContainer"
}
Ce composant n'accepte pas les messages en tant que données d'entrée.
Données de sortie
Ce composant publie des métriques de sécurité dans la rubrique réservée suivante pour AWS IoT Device Defender. Ce composant remplace coreDeviceName
avec le nom de l'appareil principal lorsqu'il publie les métriques.
Sujet (AWS IoT Core MQTT) : $aws/things/coreDeviceName
/defender/metrics/json
Exemple de sortie
{
"header": {
"report_id": 1529963534,
"version": "1.0"
},
"metrics": {
"listening_tcp_ports": {
"ports": [
{
"interface": "eth0",
"port": 24800
},
{
"interface": "eth0",
"port": 22
},
{
"interface": "eth0",
"port": 53
}
],
"total": 3
},
"listening_udp_ports": {
"ports": [
{
"interface": "eth0",
"port": 5353
},
{
"interface": "eth0",
"port": 67
}
],
"total": 2
},
"network_stats": {
"bytes_in": 1157864729406,
"bytes_out": 1170821865,
"packets_in": 693092175031,
"packets_out": 738917180
},
"tcp_connections": {
"established_connections":{
"connections": [
{
"local_interface": "eth0",
"local_port": 80,
"remote_addr": "192.168.0.1:8000"
},
{
"local_interface": "eth0",
"local_port": 80,
"remote_addr": "192.168.0.1:8000"
}
],
"total": 2
}
}
}
}
Pour plus d'informations sur les métriques rapportées par ce composant, consultez la spécification du document relatif aux métriques des appareils dans le Guide du AWS IoT Core développeur.
Fichier journal local
Ce composant utilise le fichier journal suivant.
- Linux
-
/greengrass/v2
/logs/aws.greengrass.DeviceDefender.log
- Windows
-
C:\greengrass\v2
\logs\aws.greengrass.DeviceDefender.log
Pour consulter les journaux de ce composant
Licences
Ce composant est publié dans le cadre du contrat de licence logicielle Greengrass Core.
Journal des modifications
Le tableau suivant décrit les modifications apportées à chaque version du composant.
- v3.x
-
Version
|
Modifications
|
3.1.1
|
- Corrections de bogues et améliorations
-
|
3.1.0
|
- Corrections de bogues et améliorations
-
|
3.0.1
|
Résout un problème lié à la façon dont le composant calcule les valeurs delta pour les métriques.
|
3.0.0
|
Cette version n'est plus disponible. Les améliorations apportées à cette version sont disponibles dans les versions ultérieures de ce composant.
Première version.
|
- v2.x
-
Version
|
Modifications
|
2,0,16
|
Version mise à jour pour la version 2.13.0 de Greengrass Nucleus.
|
2.0.11
|
Version mise à jour pour la version 2.11.0 de Greengrass Nucleus.
|
2.0.10
|
Version mise à jour pour la version 2.7.0 de Greengrass Nucleus.
|
2.0.9
|
Version mise à jour pour la version 2.6.0 de Greengrass Nucleus.
|
2.0.8
|
Version mise à jour pour la version 2.5.0 de Greengrass Nucleus.
|
2.0.7
|
Version mise à jour pour la version 2.4.0 de Greengrass Nucleus.
|
2.0.6
|
Version mise à jour pour la version 2.3.0 de Greengrass Nucleus.
|
2.0.5
|
Version mise à jour pour la version 2.2.0 de Greengrass Nucleus.
|
2.0.4
|
Version mise à jour pour la version 2.1.0 de Greengrass Nucleus.
|
2.0.3
|
Première version.
|