Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
AWS IoT Device Defender
Il AWS IoT Device Defender componente (aws.greengrass.DeviceDefender
) notifica agli amministratori le modifiche allo stato dei dispositivi principali Greengrass. Ciò consente di identificare un comportamento anomalo che potrebbe indicare la compromissione del dispositivo. Per ulteriori informazioni, consulta la sezione AWS IoT Device Defender nella Guida per gli sviluppatori di AWS IoT Core
.
Questo componente legge le metriche di sistema sul dispositivo principale. Quindi, pubblica le metriche su. AWS IoT Device DefenderPer ulteriori informazioni su come leggere e interpretare le metriche riportate da questo componente, consulta la sezione Specifiche del documento Device Metrics nella Developer Guide.AWS IoT Core
Versioni
Questo componente ha le seguenti versioni:
Per informazioni sulle modifiche apportate a ciascuna versione del componente, consulta il changelog.
Type
- v3.x
-
Questo componente è un componente generico () aws.greengrass.generic
. Il nucleo Greengrass esegue gli script del ciclo di vita del componente.
- v2.x
-
Questo componente è un componente Lambda () aws.greengrass.lambda
. Il nucleo Greengrass esegue la funzione Lambda di questo componente utilizzando il componente di avvio Lambda.
Per ulteriori informazioni, consulta Tipi di componenti.
Sistema operativo
- v3.x
-
Questo componente può essere installato su dispositivi principali che eseguono i seguenti sistemi operativi:
- v2.x
-
Questo componente può essere installato solo sui dispositivi principali Linux.
Requisiti
Questo componente ha i seguenti requisiti:
- v3.x
-
-
Python versione 3.7 installata sul dispositivo principale e aggiunta alla variabile di ambiente. PATH
-
AWS IoT Device Defender configurato per utilizzare la funzione Detect per monitorare le violazioni. Per ulteriori informazioni, consulta Detect nella AWS IoT Core Developer Guide.
- v2.x
-
-
Il dispositivo principale deve soddisfare i requisiti per eseguire le funzioni Lambda. Se desideri che il dispositivo principale esegua funzioni Lambda containerizzate, il dispositivo deve soddisfare i requisiti per farlo. Per ulteriori informazioni, consulta Requisiti della funzione Lambda.
-
Python versione 3.7 installata sul dispositivo principale e aggiunta alla variabile di ambiente. PATH
-
AWS IoT Device Defender configurato per utilizzare la funzione Detect per monitorare le violazioni. Per ulteriori informazioni, consulta Detect nella AWS IoT Core Developer Guide.
-
La libreria psutil installata sul dispositivo principale. La versione 5.7.0 è l'ultima versione verificata per funzionare con il componente.
-
La libreria cbor installata sul dispositivo principale. La versione 1.0.0 è l'ultima versione verificata per funzionare con il componente.
-
Per ricevere i dati di output da questo componente, è necessario unire il seguente aggiornamento di configurazione per il componente legacy del router di abbonamento (aws.greengrass.LegacySubscriptionRouter) quando si distribuisce questo componente. Questa configurazione specifica l'argomento in cui questo componente pubblica le risposte.
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"
}
}
}
-
Replace (Sostituisci) region
con quello Regione AWS che usi.
-
Replace (Sostituisci) version
con la versione della funzione Lambda eseguita da questo componente. Per trovare la versione della funzione Lambda, è necessario visualizzare la ricetta per la versione di questo componente che si desidera distribuire. Apri la pagina dei dettagli di questo componente nella AWS IoT Greengrass console e cerca la coppia chiave-valore della funzione Lambda. Questa coppia chiave-valore contiene il nome e la versione della funzione Lambda.
È necessario aggiornare la versione della funzione Lambda sul router di abbonamento legacy ogni volta che si distribuisce questo componente. Ciò garantisce l'utilizzo della versione corretta della funzione Lambda per la versione del componente che si distribuisce.
Per ulteriori informazioni, consulta Creare distribuzione.
Dipendenze
Quando si distribuisce un componente, distribuisce AWS IoT Greengrass anche versioni compatibili delle relative dipendenze. Ciò significa che è necessario soddisfare i requisiti per il componente e tutte le sue dipendenze per distribuire correttamente il componente. Questa sezione elenca le dipendenze per le versioni rilasciate di questo componente e i vincoli di versione semantica che definiscono le versioni dei componenti per ogni dipendenza. È inoltre possibile visualizzare le dipendenze per ogni versione del componente nella console.AWS IoT Greengrass Nella pagina dei dettagli del componente, cerca l'elenco delle dipendenze.
- 3.1.1
-
La tabella seguente elenca le dipendenze per la versione 3.1.1 di questo componente.
- 3.0.0 - 3.0.2
-
La tabella seguente elenca le dipendenze per le versioni da 3.0.0 a 3.0.2 di questo componente.
- 2.0.12 - 2.0.16
-
La tabella seguente elenca le dipendenze per la versione 2.0.16 di questo componente.
- 2.0.10 - 2.0.11
-
La tabella seguente elenca le dipendenze per le versioni 2.0.10 e 2.0.11 di questo componente.
- 2.0.9
-
La tabella seguente elenca le dipendenze per la versione 2.0.9 di questo componente.
- 2.0.8
-
La tabella seguente elenca le dipendenze per la versione 2.0.8 di questo componente.
- 2.0.7
-
La tabella seguente elenca le dipendenze per la versione 2.0.7 di questo componente.
- 2.0.6
-
La tabella seguente elenca le dipendenze per la versione 2.0.6 di questo componente.
- 2.0.5
-
La tabella seguente elenca le dipendenze per la versione 2.0.5 di questo componente.
- 2.0.4
-
La tabella seguente elenca le dipendenze per la versione 2.0.4 di questo componente.
- 2.0.3
-
La tabella seguente elenca le dipendenze per la versione 2.0.3 di questo componente.
Per ulteriori informazioni sulle dipendenze dei componenti, vedere il riferimento alla ricetta dei componenti.
Configurazione
Questo componente fornisce i seguenti parametri di configurazione che è possibile personalizzare durante la distribuzione del componente.
- v3.x
-
PublishRetryCount
-
Il numero di volte in cui la pubblicazione verrà ritentata. Questa funzionalità è disponibile nella versione 3.1.1.
Il valore minimo è 0.
Il massimo è 72.
Impostazione predefinita: 5
SampleIntervalSeconds
-
(Facoltativo) La quantità di tempo in secondi tra ogni ciclo in cui il componente raccoglie e riporta le metriche.
Il valore minimo è di 300 secondi (5 minuti).
Impostazione predefinita: 300 secondi
-
UseInstaller
-
(Facoltativo) Valore booleano che definisce se utilizzare lo script di installazione in questo componente per installarne le dipendenze.
Imposta questo valore su false
se desideri utilizzare uno script personalizzato per installare le dipendenze o se desideri includere le dipendenze di runtime in un'immagine Linux predefinita. Per utilizzare questo componente, è necessario installare le seguenti librerie, comprese le eventuali dipendenze, e renderle disponibili all'utente predefinito del sistema Greengrass.
Se si utilizza la versione 3.0.0 o 3.0.1 di questo componente su dispositivi principali configurati per l'uso di un HTTPS proxy, è necessario impostare questo valore su. false
Lo script di installazione non supporta il funzionamento con un HTTPS proxy in queste versioni di questo componente.
Impostazione predefinita: true
- v2.x
-
La configurazione predefinita di questo componente include i parametri della funzione Lambda. Ti consigliamo di modificare solo i seguenti parametri per configurare questo componente sui tuoi dispositivi.
lambdaParams
-
Un oggetto che contiene i parametri per la funzione Lambda di questo componente. Questo oggetto contiene le seguenti informazioni:
EnvironmentVariables
-
Un oggetto che contiene i parametri della funzione Lambda. Questo oggetto contiene le seguenti informazioni:
PROCFS_PATH
-
(Facoltativo) Il percorso della /proc
cartella.
-
Per eseguire questo componente in un contenitore, utilizzate il valore predefinito,/host-proc
. Per impostazione predefinita, il componente viene eseguito in un contenitore.
-
Per eseguire questo componente in modalità senza contenitore, specificare /proc
questo parametro.
Default: /host-proc
. Questo è il percorso predefinito in cui questo componente monta la /proc
cartella nel contenitore.
Questo componente ha accesso in sola lettura a questa cartella.
SAMPLE_INTERVAL_SECONDS
-
(Facoltativo) La quantità di tempo in secondi tra ogni ciclo in cui il componente raccoglie e riporta le metriche.
Il valore minimo è di 300 secondi (5 minuti).
Impostazione predefinita: 300 secondi
containerMode
-
(Facoltativo) La modalità di containerizzazione per questo componente. Seleziona una delle opzioni seguenti:
-
GreengrassContainer
— Il componente viene eseguito in un ambiente di runtime isolato all'interno del AWS IoT Greengrass contenitore.
-
NoContainer
— Il componente non viene eseguito in un ambiente di runtime isolato.
Se si specifica questa opzione, è necessario specificare /proc
il parametro della variabile di PROCFS_PATH
ambiente.
Impostazione predefinita: GreengrassContainer
containerParams
-
(Facoltativo) Un oggetto che contiene i parametri del contenitore per questo componente. Il componente utilizza questi parametri se si specifica GreengrassContainer
percontainerMode
.
Questo oggetto contiene le seguenti informazioni:
memorySize
-
(Facoltativo) La quantità di memoria (in kilobyte) da allocare al componente.
Il valore predefinito è 50.000 KB.
pubsubTopics
-
(Facoltativo) Un oggetto che contiene gli argomenti a cui il componente si iscrive per ricevere messaggi. È possibile specificare ogni argomento e se il componente sottoscrive gli argomenti AWS IoT Core o gli MQTT argomenti di pubblicazione/sottoscrizione locali.
Questo oggetto contiene le seguenti informazioni:
0
— Si tratta di un indice di matrice sotto forma di stringa.
-
Un oggetto che contiene le seguenti informazioni:
type
-
(Facoltativo) Il tipo di messaggi di pubblicazione/sottoscrizione utilizzato da questo componente per sottoscrivere i messaggi. Seleziona una delle opzioni seguenti:
-
PUB_SUB
: iscriviti ai messaggi di pubblicazione/sottoscrizione locali. Se scegli questa opzione, l'argomento non può contenere caratteri jolly. MQTT Per ulteriori informazioni su come inviare messaggi dal componente personalizzato quando si specifica questa opzione, vederePubblicare/sottoscrivere messaggi locali.
-
IOT_CORE
— AWS IoT Core MQTT Sottoscrivi ai messaggi. Se scegli questa opzione, l'argomento può contenere caratteri MQTT speciali. Per ulteriori informazioni su come inviare messaggi da componenti personalizzati quando si specifica questa opzione, vedereAWS IoT Core MQTTPubblicare/sottoscrivere messaggi.
Impostazione predefinita: PUB_SUB
topic
-
(Facoltativo) L'argomento a cui il componente si iscrive per ricevere messaggi. Se si specifica IotCore
fortype
, è possibile utilizzare i caratteri MQTT jolly (+
e#
) in questo argomento.
Esempio: aggiornamento basato sull'unione della configurazione (modalità contenitore)
{
"lambdaExecutionParameters": {
"EnvironmentVariables": {
"PROCFS_PATH": "/host_proc"
}
},
"containerMode": "GreengrassContainer"
}
Esempio: aggiornamento tramite fusione della configurazione (nessuna modalità contenitore)
{
"lambdaExecutionParameters": {
"EnvironmentVariables": {
"PROCFS_PATH": "/proc"
}
},
"containerMode": "NoContainer"
}
Questo componente non accetta messaggi come dati di input.
Dati di output
Questo componente pubblica le metriche di sicurezza relative al seguente argomento riservato a. AWS IoT Device Defender Questo componente sostituisce coreDeviceName
con il nome del dispositivo principale quando pubblica le metriche.
Argomento ()AWS IoT Core MQTT: $aws/things/coreDeviceName
/defender/metrics/json
Esempio Output di esempio
{
"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
}
}
}
}
Per ulteriori informazioni sulle metriche riportate da questo componente, consulta la sezione Specifiche del documento Device Metrics nella AWS IoT Core Developer Guide.
File di registro locale
Questo componente utilizza il seguente file di registro.
- Linux
-
/greengrass/v2
/logs/aws.greengrass.DeviceDefender.log
- Windows
-
C:\greengrass\v2
\logs\aws.greengrass.DeviceDefender.log
Per visualizzare i log di questo componente
Licenze
Questo componente è rilasciato in base al contratto di licenza del software Greengrass Core.
Changelog
La tabella seguente descrive le modifiche apportate a ciascuna versione del componente.
- v3.x
-
Versione
|
Modifiche
|
3.1.1
|
- Correzioni di bug e miglioramenti
-
-
Aggiunge nuovi tentativi di connessione al client quando la connessione non riesce a ripristinarsi dopo un'interruzione della rete.
-
Aggiunge un nuovo tentativo configurabile per la pubblicazione delle metriche.
|
3.1.0
|
- Correzioni di bug e miglioramenti
-
|
3.0.1
|
Risolve un problema relativo al modo in cui il componente calcola i valori delta per le metriche.
|
3.0.0
|
Questa versione non è più disponibile. I miglioramenti di questa versione sono disponibili nelle versioni successive di questo componente.
Versione iniziale.
|
- v2.x
-
Versione
|
Modifiche
|
2.0.16
|
Versione aggiornata per la versione 2.13.0 di Greengrass nucleus.
|
2.0.11
|
Versione aggiornata per la versione 2.11.0 di Greengrass nucleus.
|
2.0.10
|
Versione aggiornata per la versione 2.7.0 di Greengrass nucleus.
|
2.0.9
|
Versione aggiornata per la versione 2.6.0 di Greengrass nucleus.
|
2.0.8
|
Versione aggiornata per la versione 2.5.0 di Greengrass nucleus.
|
2.0.7
|
Versione aggiornata per la versione 2.4.0 di Greengrass nucleus.
|
2.0.6
|
Versione aggiornata per la versione 2.3.0 di Greengrass nucleus.
|
2.0.5
|
Versione aggiornata per la versione 2.2.0 di Greengrass nucleus.
|
2.0.4
|
Versione aggiornata per la versione 2.1.0 di Greengrass nucleus.
|
2.0.3
|
Versione iniziale.
|