As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
AWS IoT Device Defender
O AWS IoT Device Defender componente (aws.greengrass.DeviceDefender
) notifica os administradores sobre mudanças no estado dos dispositivos principais do Greengrass. Isso pode ajudar a identificar comportamento incomum e, assim, indicar um dispositivo comprometido. Para obter mais informações, consulte AWS IoT Device Defender no Guia do desenvolvedor do AWS IoT Core
.
Esse componente lê as métricas do sistema no dispositivo principal. Em seguida, ele publica as métricas para AWS IoT Device Defender. Para obter mais informações sobre como ler e interpretar as métricas que esse componente relata, consulte Especificação do documento de métricas do dispositivo no Guia do AWS IoT Core desenvolvedor.
Esse componente fornece funcionalidade semelhante ao conector do Device Defender em AWS IoT Greengrass V1. Para obter mais informações, consulte o conector do Device Defender no Guia do AWS IoT Greengrass V1 desenvolvedor.
Versões
Esse componente tem as seguintes versões:
Para obter informações sobre mudanças em cada versão do componente, consulte o changelog.
Tipo
- v3.x
-
Este componente é um componente genérico (aws.greengrass.generic
). O núcleo do Greengrass executa os scripts do ciclo de vida do componente.
- v2.x
-
Esse componente é um componente Lambda () aws.greengrass.lambda
. O núcleo do Greengrass executa a função Lambda desse componente usando o componente lançador Lambda.
Para obter mais informações, consulte Tipos de componentes.
Sistema operacional
- v3.x
-
Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
- v2.x
-
Esse componente pode ser instalado somente nos dispositivos principais do Linux.
Requisitos
Esse componente tem os seguintes requisitos:
- v3.x
-
-
Python versão 3.7 instalado no dispositivo principal e adicionado à variável de ambiente. PATH
-
AWS IoT Device Defender configurado para usar o recurso Detectar para monitorar violações. Para obter mais informações, consulte Detectar no Guia do desenvolvedor do AWS IoT Core .
- v2.x
-
-
Seu dispositivo principal deve atender aos requisitos para executar as funções do Lambda. Se você quiser que o dispositivo principal execute funções Lambda em contêineres, o dispositivo deve atender aos requisitos para fazer isso. Para obter mais informações, consulte Requisitos da função do Lambda.
-
Python versão 3.7 instalado no dispositivo principal e adicionado à variável de ambiente. PATH
-
AWS IoT Device Defender configurado para usar o recurso Detectar para monitorar violações. Para obter mais informações, consulte Detectar no Guia do desenvolvedor do AWS IoT Core .
-
A biblioteca psutil instalada no dispositivo principal. A versão 5.7.0 é a versão mais recente verificada para funcionar com o componente.
-
A biblioteca cbor instalada no dispositivo principal. A versão 1.0.0 é a versão mais recente verificada para funcionar com o componente.
-
Para receber dados de saída desse componente, você deve mesclar a seguinte atualização de configuração para o componente antigo do roteador de assinatura (aws.greengrass.LegacySubscriptionRouter
) ao implantar esse componente. Essa configuração especifica o tópico em que esse componente publica respostas.
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"
}
}
}
-
Substituir region
com o Região da AWS que você usa.
-
Substituir version
com a versão da função Lambda que esse componente executa. Para encontrar a versão da função Lambda, você deve visualizar a receita da versão desse componente que você deseja implantar. Abra a página de detalhes desse componente no AWS IoT Greengrass console e procure o par de valores-chave da função Lambda. Esse par de valores-chave contém o nome e a versão da função Lambda.
Você deve atualizar a versão da função Lambda no roteador de assinatura legado sempre que implantar esse componente. Isso garante que você use a versão correta da função Lambda para a versão do componente que você implanta.
Para obter mais informações, consulte Criar implantações.
Dependências
Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que você deve atender aos requisitos do componente e de todas as suas dependências para implantá-lo com êxito. Esta seção lista as dependências das versões lançadas desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Você também pode visualizar as dependências de cada versão do componente no AWS IoT Greengrass console. Na página de detalhes do componente, procure a lista de dependências.
- 3.1.1
-
A tabela a seguir lista as dependências da versão 3.1.1 desse componente.
- 3.0.0 - 3.0.2
-
A tabela a seguir lista as dependências das versões 3.0.0 a 3.0.2 desse componente.
- 2.0.12 - 2.0.16
-
A tabela a seguir lista as dependências da versão 2.0.16 desse componente.
- 2.0.10 - 2.0.11
-
A tabela a seguir lista as dependências das versões 2.0.10 e 2.0.11 desse componente.
- 2.0.9
-
A tabela a seguir lista as dependências da versão 2.0.9 desse componente.
- 2.0.8
-
A tabela a seguir lista as dependências da versão 2.0.8 desse componente.
- 2.0.7
-
A tabela a seguir lista as dependências da versão 2.0.7 desse componente.
- 2.0.6
-
A tabela a seguir lista as dependências da versão 2.0.6 desse componente.
- 2.0.5
-
A tabela a seguir lista as dependências da versão 2.0.5 desse componente.
- 2.0.4
-
A tabela a seguir lista as dependências da versão 2.0.4 desse componente.
- 2.0.3
-
A tabela a seguir lista as dependências da versão 2.0.3 desse componente.
Para obter mais informações sobre dependências de componentes, consulte a referência da receita do componente.
Configuração
Esse componente fornece os seguintes parâmetros de configuração que você pode personalizar ao implantar o componente.
- v3.x
-
PublishRetryCount
-
A quantidade de vezes que a publicação será repetida. Esse recurso está disponível na versão 3.1.1.
O mínimo é 0.
O máximo é 72.
Padrão: 5
SampleIntervalSeconds
-
(Opcional) A quantidade de tempo em segundos entre cada ciclo em que o componente coleta e relata métricas.
O valor mínimo é 300 segundos (5 minutos).
Padrão: 300 segundos
-
UseInstaller
-
(Opcional) Valor booleano que define se o script do instalador deve ser usado nesse componente para instalar as dependências desse componente.
Defina esse valor como false
se você quiser usar um script personalizado para instalar dependências ou se quiser incluir dependências de tempo de execução em uma imagem Linux pré-criada. Para usar esse componente, você deve instalar as seguintes bibliotecas, incluindo quaisquer dependências, e disponibilizá-las para o usuário padrão do sistema Greengrass.
Se você usar a versão 3.0.0 ou 3.0.1 desse componente em dispositivos principais que você configura para usar um HTTPS proxy, defina esse valor como. false
O script do instalador não oferece suporte à operação por trás de um HTTPS proxy nessas versões desse componente.
Padrão: true
- v2.x
-
A configuração padrão desse componente inclui parâmetros da função Lambda. Recomendamos que você edite somente os parâmetros a seguir para configurar esse componente em seus dispositivos.
lambdaParams
-
Um objeto que contém os parâmetros da função Lambda desse componente. Esse objeto contém as seguintes informações:
EnvironmentVariables
-
Um objeto que contém os parâmetros da função Lambda. Esse objeto contém as seguintes informações:
PROCFS_PATH
-
(Opcional) O caminho para a /proc
pasta.
-
Para executar esse componente em um contêiner, use o valor padrão,/host-proc
. O componente é executado em um contêiner por padrão.
-
Para executar esse componente no modo sem contêiner, especifique /proc
esse parâmetro.
Padrão: /host-proc
. Esse é o caminho padrão em que esse componente monta a /proc
pasta no contêiner.
Esse componente tem acesso somente para leitura a essa pasta.
SAMPLE_INTERVAL_SECONDS
-
(Opcional) A quantidade de tempo em segundos entre cada ciclo em que o componente coleta e relata métricas.
O valor mínimo é 300 segundos (5 minutos).
Padrão: 300 segundos
containerMode
-
(Opcional) O modo de conteinerização desse componente. Escolha uma das seguintes opções:
-
GreengrassContainer
— O componente é executado em um ambiente de execução isolado dentro do AWS IoT Greengrass contêiner.
-
NoContainer
— O componente não é executado em um ambiente de execução isolado.
Se você especificar essa opção, deverá especificar /proc
para o parâmetro da variável de PROCFS_PATH
ambiente.
Padrão: GreengrassContainer
containerParams
-
(Opcional) Um objeto que contém os parâmetros do contêiner desse componente. O componente usa esses parâmetros se você especificar GreengrassContainer
paracontainerMode
.
Esse objeto contém as seguintes informações:
memorySize
-
(Opcional) A quantidade de memória (em kilobytes) a ser alocada para o componente.
O padrão é 50.000 KB.
pubsubTopics
-
(Opcional) Um objeto que contém os tópicos em que o componente se inscreve para receber mensagens. Você pode especificar cada tópico e se o componente se inscreve em MQTT tópicos de AWS IoT Core ou em tópicos locais de publicação/assinatura.
Esse objeto contém as seguintes informações:
0
— Este é um índice de matriz como uma string.
-
Um objeto que contém as seguintes informações:
type
-
(Opcional) O tipo de mensagem de publicação/assinatura que esse componente usa para assinar mensagens. Escolha uma das seguintes opções:
-
PUB_SUB
– Assine mensagens locais de publicar/assinar. Se você escolher essa opção, o tópico não poderá conter MQTT curingas. Para obter mais informações sobre como enviar mensagens do componente personalizado ao especificar essa opção, consultePublique/assine mensagens locais.
-
IOT_CORE
— Assine as AWS IoT Core MQTT mensagens. Se você escolher essa opção, o tópico poderá conter MQTT curingas. Para obter mais informações sobre como enviar mensagens de componentes personalizados ao especificar essa opção, consultePublicar/assinar mensagens AWS IoT Core MQTT.
Padrão: PUB_SUB
topic
-
(Opcional) O tópico no qual o componente se inscreve para receber mensagens. Se você especificar IotCore
paratype
, poderá usar MQTT curingas (+
e#
) neste tópico.
exemplo Exemplo: atualização da mesclagem de configuração (modo contêiner)
{
"lambdaExecutionParameters": {
"EnvironmentVariables": {
"PROCFS_PATH": "/host_proc"
}
},
"containerMode": "GreengrassContainer"
}
exemplo Exemplo: atualização de mesclagem de configuração (sem modo de contêiner)
{
"lambdaExecutionParameters": {
"EnvironmentVariables": {
"PROCFS_PATH": "/proc"
}
},
"containerMode": "NoContainer"
}
Esse componente não aceita mensagens como dados de entrada.
Dados de saída
Esse componente publica métricas de segurança no seguinte tópico reservado para AWS IoT Device Defender. Este componente substitui coreDeviceName
com o nome do dispositivo principal quando ele publica as métricas.
Tópico (AWS IoT Core MQTT): $aws/things/coreDeviceName
/defender/metrics/json
exemplo Exemplo de saída
{
"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
}
}
}
}
Para obter mais informações sobre as métricas que esse componente relata, consulte Especificação do documento de métricas do dispositivo no Guia do AWS IoT Core desenvolvedor.
Arquivo de log local
Esse componente usa o seguinte arquivo de log.
- Linux
-
/greengrass/v2
/logs/aws.greengrass.DeviceDefender.log
- Windows
-
C:\greengrass\v2
\logs\aws.greengrass.DeviceDefender.log
Para ver os registros desse componente
Licenças
Esse componente é lançado de acordo com o Contrato de Licença de Software Principal do Greengrass.
Changelog
A tabela a seguir descreve as alterações em cada versão do componente.
- v3.x
-
Version (Versão)
|
Alterações
|
3.1.1
|
- Correções de erros e melhorias
-
|
3.1.0
|
- Correções de erros e melhorias
-
|
3.0.1
|
Corrige um problema na forma como o componente calcula valores delta para métricas.
|
3.0.0
|
Essa versão não está mais disponível. As melhorias nesta versão estão disponíveis em versões posteriores desse componente.
Versão inicial.
|
- v2.x
-
Version (Versão)
|
Alterações
|
2.0.16
|
Versão atualizada para a versão 2.13.0 do Greengrass nucleus.
|
2.0.11
|
Versão atualizada para a versão 2.11.0 do Greengrass nucleus.
|
2.0.10
|
Versão atualizada para a versão 2.7.0 do Greengrass nucleus.
|
2.0.9
|
Versão atualizada para a versão 2.6.0 do Greengrass nucleus.
|
2.0.8
|
Versão atualizada para a versão 2.5.0 do Greengrass nucleus.
|
2.0.7
|
Versão atualizada para a versão 2.4.0 do Greengrass nucleus.
|
2.0.6
|
Versão atualizada para a versão 2.3.0 do Greengrass nucleus.
|
2.0.5
|
Versão atualizada para a versão 2.2.0 do Greengrass nucleus.
|
2.0.4
|
Versão atualizada para a versão 2.1.0 do Greengrass nucleus.
|
2.0.3
|
Versão inicial.
|