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 dans AWS IoT Device Defender. Pour plus d'informations sur la façon de lire et d'interpréter les mesures rapportées par ce composant, consultez la section Spécification du document Device Metrics dans le AWS IoT Core Developer Guide.
Ce composant fournit des fonctionnalités similaires à celles du connecteur Device Defender dans AWS IoT Greengrass V1. Pour plus d'informations, consultez la section 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
- v4.x - 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 composant.
Système d’exploitation
- v4.x - 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.
Exigences
Ce composant répond aux exigences suivantes :
- v4.x - v3.x
-
-
https://www.python.org/La version 3.7 de Python a été installée sur le périphérique principal et ajoutée à la variable d'environnement PATH.
-
Les bibliothèques Python suivantes, y compris toutes les dépendances, doivent être installées et mises à la disposition de l'utilisateur qui exécute le composant :
Vous pouvez définir la UseInstaller configuration true pour installer ces bibliothèques automatiquement dans l'environnement Python fourni.
-
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, il doit répondre aux exigences requises. Pour de plus amples informations, veuillez consulter Exigences relatives à la fonction Lambda.
-
https://www.python.org/La version 3.7 de Python a été installée sur le périphérique principal et ajoutée à la variable d'environnement PATH.
-
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 du routeur d'abonnement (aws.greengrass.LegacySubscriptionRouter) lorsque vous déployez ce composant. Cette configuration spécifie la rubrique dans laquelle 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"
}
}
}
-
regionRemplacez-le par Région AWS celui que vous utilisez.
-
versionRemplacez-la par 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 version de fonction Lambda appropriée 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, déploie AWS IoT Greengrass également des versions compatibles de ses dépendances. Cela signifie que vous devez répondre aux exigences relatives au composant et à toutes ses dépendances pour pouvoir le déployer avec succès. Cette section répertorie les dépendances pour les 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 pour chaque version du composant dans la AWS IoT Greengrass console. Sur la page des détails des composants, recherchez la liste des dépendances.
- 4.0.0 - 3.0.0
-
Le tableau suivant répertorie les dépendances pour les versions 4.0.0 à 3.0.0 de ce composant.
- 2.0.12 - 2.0.17
-
Le tableau suivant répertorie les dépendances pour les versions 2.0.12 à 2.0.17 de ce composant.
| Dépendance |
Versions compatibles |
Type de dépendance |
| Noyau Greengrass |
> = 2,0,0 < 3,0,0 |
Stricte |
| Lanceur Lambda |
^2,0,0 |
Stricte |
| Environnements d'exécution (runtimes) Lambda |
^2,0,0 |
Flexible |
| Service d'échange de jetons |
^2,0,0 |
Stricte |
- 2.0.12 - 2.0.16
-
Le tableau suivant répertorie les dépendances pour la version 2.0.16 de ce composant.
| Dépendance |
Versions compatibles |
Type de dépendance |
| Noyau Greengrass |
> = 2,0,0 < 3,0,0 |
Stricte |
| Lanceur Lambda |
^2,0,0 |
Stricte |
| Environnements d'exécution (runtimes) Lambda |
^2,0,0 |
Flexible |
| Service d'échange de jetons |
^2,0,0 |
Stricte |
- 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.
| Dépendance |
Versions compatibles |
Type de dépendance |
| Noyau Greengrass |
> = 2,0,0 < 2,8,0 |
Stricte |
| Lanceur Lambda |
^2,0,0 |
Stricte |
| Environnements d'exécution (runtimes) Lambda |
^2,0,0 |
Flexible |
| Service d'échange de jetons |
^2,0,0 |
Stricte |
- 2.0.9
-
Le tableau suivant répertorie les dépendances de la version 2.0.9 de ce composant.
| Dépendance |
Versions compatibles |
Type de dépendance |
| Noyau Greengrass |
> = 2,0,0 < 2,7,0 |
Stricte |
| Lanceur Lambda |
^2,0,0 |
Stricte |
| Environnements d'exécution (runtimes) Lambda |
^2,0,0 |
Flexible |
| Service d'échange de jetons |
^2,0,0 |
Stricte |
- 2.0.8
-
Le tableau suivant répertorie les dépendances de la version 2.0.8 de ce composant.
| Dépendance |
Versions compatibles |
Type de dépendance |
| Noyau Greengrass |
> = 2,0,0 < 2,6,0 |
Stricte |
| Lanceur Lambda |
^2,0,0 |
Stricte |
| Environnements d'exécution (runtimes) Lambda |
^2,0,0 |
Flexible |
| Service d'échange de jetons |
^2,0,0 |
Stricte |
- 2.0.7
-
Le tableau suivant répertorie les dépendances de la version 2.0.7 de ce composant.
| Dépendance |
Versions compatibles |
Type de dépendance |
| Noyau Greengrass |
> = 2,0,0 < 2,5,0 |
Stricte |
| Lanceur Lambda |
^2,0,0 |
Stricte |
| Environnements d'exécution (runtimes) Lambda |
^2,0,0 |
Flexible |
| Service d'échange de jetons |
^2,0,0 |
Stricte |
- 2.0.6
-
Le tableau suivant répertorie les dépendances de la version 2.0.6 de ce composant.
| Dépendance |
Versions compatibles |
Type de dépendance |
| Noyau Greengrass |
> = 2,0,0 < 2,4,0 |
Stricte |
| Lanceur Lambda |
^2,0,0 |
Stricte |
| Environnements d'exécution (runtimes) Lambda |
^2,0,0 |
Flexible |
| Service d'échange de jetons |
^2,0,0 |
Stricte |
- 2.0.5
-
Le tableau suivant répertorie les dépendances pour la version 2.0.5 de ce composant.
| Dépendance |
Versions compatibles |
Type de dépendance |
| Noyau Greengrass |
> = 2,0,0 < 2,3,0 |
Stricte |
| Lanceur Lambda |
^2,0,0 |
Stricte |
| Environnements d'exécution (runtimes) Lambda |
^2,0,0 |
Flexible |
| Service d'échange de jetons |
^2,0,0 |
Stricte |
- 2.0.4
-
Le tableau suivant répertorie les dépendances de la version 2.0.4 de ce composant.
| Dépendance |
Versions compatibles |
Type de dépendance |
| Noyau Greengrass |
> = 2,0,0 < 2,2,0 |
Stricte |
| Lanceur Lambda |
^2,0,0 |
Stricte |
| Environnements d'exécution (runtimes) Lambda |
^2,0,0 |
Flexible |
| Service d'échange de jetons |
^2,0,0 |
Stricte |
- 2.0.3
-
Le tableau suivant répertorie les dépendances pour la version 2.0.3 de ce composant.
| Dépendance |
Versions compatibles |
Type de dépendance |
| Noyau Greengrass |
> = 2,0,3 < 2,1,0 |
Stricte |
| Lanceur Lambda |
> = 1,0,0 |
Stricte |
| Environnements d'exécution (runtimes) Lambda |
> = 1,0,0 |
Flexible |
| Service d'échange de jetons |
> = 1,0,0 |
Stricte |
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.
- v4.x
-
PublishRetryCount
-
Le nombre de fois que la publication sera réessayée.
Le minimum est de 0.
Le maximum est de 72.
Par défaut: 5
SampleIntervalSeconds
-
(Facultatif) La durée en secondes entre chaque cycle au cours duquel le composant collecte et rapporte des mesures.
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 pour installer les dépendances Python de ce composant dans l'environnement Python fourni.
Définissez cette valeur sur true pour installer automatiquement les dépendances Python de ce composant. Lorsque cette option est définie surfalse, vous devez installer les bibliothèques suivantes, y compris toutes les dépendances, et les mettre à la disposition de l'environnement Python fourni à l'utilisateur qui exécute le composant.
Valeur par défaut : false
- v3.x
-
PublishRetryCount
-
Le nombre de fois que la publication sera réessayée. Cette fonctionnalité est disponible dans la version 3.1.1.
Le minimum est de 0.
Le maximum est de 72.
Par défaut: 5
SampleIntervalSeconds
-
(Facultatif) La durée en secondes entre chaque cycle au cours duquel le composant collecte et rapporte des mesures.
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 pour installer les dépendances Python de ce composant dans l'environnement Python fourni.
Définissez cette valeur sur false pour utiliser un script personnalisé ou installer manuellement les dépendances. Lorsque cette option est définie surfalse, vous devez installer les bibliothèques suivantes, y compris toutes les dépendances, et les mettre à la disposition de l'environnement Python fourni à l'utilisateur qui exécute le composant.
Si vous utilisez la version 3.0.0 ou 3.0.1 de ce composant sur les appareils principaux que vous configurez pour utiliser un proxy HTTPS, vous devez définir cette valeur sur. false Le script d'installation ne prend pas en charge le fonctionnement derrière un proxy HTTPS dans ces versions de ce composant.
Valeur 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.
Valeur 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) La durée en secondes entre chaque cycle au cours duquel le composant collecte et rapporte des mesures.
La valeur minimale est de 300 secondes (5 minutes).
Par défaut : 300 secondes
containerMode
-
(Facultatif) Mode de conteneurisation pour ce composant. Sélectionnez l’une des 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_PATHenvironnement.
Valeur par défaut : GreengrassContainer
containerParams
-
(Facultatif) Objet contenant les paramètres de conteneur pour ce composant. Le composant utilise ces paramètres si vous 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 sujet et indiquer si le composant s'abonne à des sujets MQTT depuis AWS IoT Core ou à des sujets locaux publish/subscribe .
Cet objet contient les informations suivantes :
0— Il s'agit d'un index de tableau sous forme de chaîne.
-
Objet contenant les informations suivantes :
type
-
(Facultatif) Type de publish/subscribe messagerie que ce composant utilise pour s'abonner aux messages. Sélectionnez l’une des options suivantes :
-
PUB_SUB— Abonnez-vous aux publish/subscribe messages locaux. Si vous choisissez cette option, la rubrique ne peut pas contenir de caractères génériques MQTT. Pour plus d'informations sur l'envoi de messages à partir d'un composant personnalisé lorsque vous spécifiez cette option, consultezPublier/souscrire des messages locaux.
-
IOT_CORE— Abonnez-vous aux messages AWS IoT Core MQTT. Si vous choisissez cette option, la rubrique peut contenir des caractères génériques MQTT. Pour plus d'informations sur la façon d'envoyer des messages à partir de composants personnalisés lorsque vous spécifiez cette option, consultezPublish/subscribe AWS IoT Core Messages MQTT.
Valeur par défaut : PUB_SUB
topic
-
(Facultatif) Rubrique à laquelle le composant est abonné pour recevoir des messages. Si vous spécifiez IotCore pourtype, vous pouvez utiliser des caractères génériques MQTT (+et#) dans cette rubrique.
Exemple Exemple : mise à jour de la fusion de configurations (mode conteneur)
{
"lambdaExecutionParameters": {
"EnvironmentVariables": {
"PROCFS_PATH": "/host_proc"
}
},
"containerMode": "GreengrassContainer"
}
Exemple Exemple : mise à jour de la fusion de configurations (pas de mode conteneur)
{
"lambdaExecutionParameters": {
"EnvironmentVariables": {
"PROCFS_PATH": "/proc"
}
},
"containerMode": "NoContainer"
}
Ce composant n'accepte pas les messages comme données d'entrée.
Données de sortie
Ce composant publie des mesures de sécurité dans la rubrique réservée suivante pour AWS IoT Device Defender. Ce composant est coreDeviceName remplacé par le nom de l'appareil principal lorsqu'il publie les métriques.
Thème (AWS IoT Core MQTT) : $aws/things/coreDeviceName/defender/metrics/json
Exemple 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 mesures rapportées par ce composant, consultez la section Spécification du document Device Metrics dans le AWS IoT Core Developer Guide.
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 afficher les journaux de ce composant
Licences
Ce composant est publié dans le cadre du contrat de licence du logiciel Greengrass Core.
Journal des modifications
Le tableau suivant décrit les modifications apportées à chaque version du composant.
- v4.x - v3.x
-
|
Version
|
Modifications
|
|
4.0.0
|
- Nouvelles fonctionnalités
-
|
|
3.1.1
|
- Corrections de bugs et améliorations
-
|
|
3.1.0
|
- Corrections de bugs 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,17
|
Version mise à jour pour la version 2.14.0 de Greengrass Nucleus.
|
|
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.
|