Registrar chamadas de API do AWS IoT Greengrass V2 com o AWS CloudTrail - AWS IoT Greengrass

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á.

Registrar chamadas de API do AWS IoT Greengrass V2 com o AWS CloudTrail

O AWS IoT Greengrass V2 é integrado a AWS CloudTrail, serviço que fornece um registro das ações realizadas por um usuário, perfil ou AWS serviço em AWS IoT Greengrass Version 2. O CloudTrail captura todas as chamadas API para AWS IoT Greengrass como eventos. As chamadas capturadas incluem as chamadas do console do AWS IoT Greengrass e as chamadas de código para as operações de API do AWS IoT Greengrass.

Se você criar uma trilha, poderá habilitar a entrega contínua de eventos do CloudTrail para um bucket do S3, incluindo eventos para o AWS IoT Greengrass. Mesmo que não configure uma trilha, você ainda pode visualizar os eventos mais recentes no console CloudTrail em Histórico de Eventos. Ao fazer uso das informações coletadas pelo CloudTrail, é possível determinar a solicitação feita a AWS IoT Greengrass, o endereço IP no qual a solicitação foi feita, quem fez a solicitação e quando foi feita, além de detalhes adicionais.

Para obter mais informações sobre o CloudTrail, consulte o Guia do usuário do AWS CloudTrail.

AWS IoT Greengrass V2Informações do no CloudTrail

O CloudTrail é habilitado em sua Conta da AWS quando ela é criada. Quando ocorre uma atividade no AWS IoT Greengrass, ela é registrada em um evento do CloudTrail junto a outros eventos de serviços da AWS em Histórico de eventos. Você pode visualizar, pesquisar e baixar eventos recentes em sua Conta da AWS. Para obter mais informações, consulte Visualizar eventos com o histórico de eventos do CloudTrail.

Para obter um registro contínuo de eventos na sua Conta da AWS, incluindo eventos para o AWS IoT Greengrass, crie uma trilha. Uma trilha permite que o CloudTrail forneça arquivos de log para um bucket do S3. Por padrão, quando você cria uma trilha no console, ela é aplicada a todas as Região da AWS. A trilha registra eventos de todas as regiões na partição da AWS e fornece os arquivos de log ao bucket do S3 que você especificar. Além disso, é possível configurar outros produtos da AWS para analisar mais profundamente e agir sobre os dados de eventos coletados nos logs do CloudTrail. Para obter mais informações, consulte:

Todas as ações do AWS IoT Greengrass V2 são registradas pelo CloudTrail e são documentadas na Referência de API do AWS IoT Greengrass V2. Por exemplo, as chamadas às ações CreateComponentVersion, CreateDeployment e CancelDeployment geram entradas nos arquivos de log do CloudTrail.

Cada entrada de log ou evento contém informações sobre quem gerou a solicitação. As informações de identidade ajudam a determinar:

  • Se a solicitação foi feita com credenciais de usuário-raiz ou usuário do AWS Identity and Access Management (IAM).

  • Se a solicitação foi feita com credenciais de segurança temporárias de um perfil ou de um usuário federado.

  • Se a solicitação foi feita por outro AWS serviço.

Para obter mais informações, consulte Elemento userIdentity do CloudTrail.

AWS IoT GreengrassEventos de dados do no CloudTrail

Os eventos de dados fornecem informações sobre as operações de recursos realizadas em um recurso (por exemplo, obter uma versão de um componente ou a configuração de uma implantação). Também são conhecidas como operações de plano de dados. Eventos de dados geralmente são atividades de alto volume. Por padrão, o CloudTrail não registra eventos de dados em log. O Histórico de eventos do CloudTrail não registra eventos de dados.

Há cobranças adicionais para eventos de dados. Para obter mais informações sobre os preços do CloudTrail, consulte Preços do AWS CloudTrail.

É possível registrar eventos de dados em log para os tipos de recurso do AWS IoT Greengrass usando o console do CloudTrail, a AWS CLI ou operações de API do CloudTrail. A tabela nesta seção mostra os tipos de recurso disponíveis para o AWS IoT Greengrass.

  • Para registrar eventos de dados em log usando o console do CloudTrail, crie uma trilha ou um armazenamento de dados de eventos ou atualize uma trilha ou um armazenamento de dados.

    1. Selecione Eventos de dados para registrar eventos de dados em log.

    2. Em Tipo de evento de dados, escolha o tipo de recurso para o qual você deseja registrar eventos de dados em log.

    3. Selecione o modelo de seletor de logs que deseja usar. Você pode registrar todos os eventos de dados para o tipo de recurso, registrar todos os eventos readOnly, registrar todos os eventos writeOnly ou criar um modelo de seletor de logs personalizado para filtrar os campos readOnly, eventName e resources.ARN.

  • Para registrar eventos de dados em log usando a AWS CLI, configure o parâmetro --advanced-event-selectors para definir o campo eventCategory como Data e o campo resources.type com o valor do tipo de recurso (consulte a tabela). É possível adicionar condições para filtrar os valores dos campos readOnly, eventName e resources.ARN.

A tabela a seguir lista os tipos de recursos do AWS IoT Greengrass. A coluna Tipo de evento de dados (console) mostra o valor a ser escolhido na lista Tipo de evento de dados no console do CloudTrail. A coluna do valor resources.type mostra o valor de resources.type que você especificaria ao configurar seletores de eventos avançados usando a AWS CLI ou as APIs do CloudTrail. A coluna APIs de dados registradas no CloudTrail mostra as chamadas de API registradas no CloudTrail para o tipo de recurso.

Tipo de evento de dados (console) valor resources.type APIs de dados registradas no CloudTrail
Certificado de IoT AWS::IoT::Certificate
  • VerifyClientDeviceIdentity

  • VerifyClientDeviceIoTCertificateAssociation

Versão do componente de IoT do Greengrass AWS::GreengrassV2::ComponentVersion
Implantação do IoT Greengrass AWS::GreengrassV2::Deployment
  • GetDeploymentConfiguration

Coisa da IoT AWS::IoT::Thing
  • ListThingGroupsForCoreDevices

  • PutCertificateAuthorities

  • VerifyClientDeviceIoTCertificateAssociation

É possível configurar seletores de eventos avançados para filtrar os campos eventName, readOnly e resources.ARN para registrar em log somente os eventos que são importantes para você.

Adicione um filtro eventName para incluir ou excluir APIs de dados específicas.

Consulte mais informações sobre esses campos em AdvancedFieldSelector.

Os exemplos a seguir mostram como configurar seletores avançados usando o AWS CLI. Substitua TrailName e region por suas informações.

exemplo – Registrar eventos de dados para coisas de IoT
aws cloudtrail put-event-selectors --trail-name TrailName --region region \ --advanced-event-selectors \ ‘[ { “Name”: “Log all thing data events”, “FieldSelectors”: [ { “Field”: “eventCategory”, “Equals”: [“Data”] }, { “Field”: “resources.type”, “Equals”: [“AWS::IoT::Thing”] } ] } ]’
exemplo – Filtrar em uma API específica de IoT
aws cloudtrail put-event-selectors --trail-name TrailName --region region \ --advanced-event-selectors \ ‘[ { “Name”: “Log IoT Greengrass PutCertificateAuthorities API calls”, “FieldSelectors”: [ { “Field”: “eventCategory”, “Equals”: [“Data”] }, { “Field”: “resources.type”, “Equals”: [“AWS::IoT::Thing”] }, { “Field”: “eventName”, “Equals”: [“PutCertificateAuthorities”] } ] } ]’
exemplo – Registrar todos os eventos de dados do Greengrass
aws cloudtrail put-event-selectors --trail-name TrailName --region region \ --advanced-event-selectors \ ‘[ { “Name”: “Log all certificate data events”, “FieldSelectors”: [ { “Field”: “eventCategory”, “Equals”: [ “Data” ] }, { “Field”: “resources.type”, “Equals”: [ “AWS::IoT::Certificate” ] } ] }, { “Name”: “Log all component version data events”, “FieldSelectors”: [ { “Field”: “eventCategory”, “Equals”: [ “Data” ] }, { “Field”: “resources.type”, “Equals”: [ “AWS::GreengrassV2::ComponentVersion” ] } ] }, { “Name”: “Log all deployment version”, “FieldSelectors”: [ { “Field”: “eventCategory”, “Equals”: [ “Data” ] }, { “Field”: “resources.type”, “Equals”: [ “AWS::GreengrassV2::Deployment” ] } ] }, { “Name”: “Log all thing data events”, “FieldSelectors”: [ { “Field”: “eventCategory”, “Equals”: [ “Data” ] }, { “Field”: “resources.type”, “Equals”: [ “AWS::IoT::Thing” ] } ] } ]’

AWS IoT GreengrassEventos de gerenciamento do no CloudTrail

Os eventos de gerenciamento fornecem informações sobre operações de gerenciamento executadas em recursos na sua conta da AWS. Também são conhecidas como operações de ambiente de gerenciamento. Por padrão, o CloudTrail registra eventos de gerenciamento em logs.

O AWS IoT Greengrass registra em log todas as operações do ambiente de gerenciamento do AWS IoT Greengrass na forma de eventos de gerenciamento. Para ver uma lista das operações do ambiente de gerenciamento do AWS IoT Greengrass que o AWS IoT Greengrass registra em log no CloudTrail, consulte a Referência de API do AWS IoT Greengrass, versão 2.

Noções básicas sobre entradas de arquivos de log do AWS IoT Greengrass V2

Uma trilha é uma configuração que permite a entrega de eventos como arquivos de log a um bucket do S3 especificado. Os arquivos de log do CloudTrail contêm uma ou mais entradas de log. Um evento representa uma solicitação única de qualquer fonte. Isso inclui informações sobre a ação solicitada, a data e hora da ação, os parâmetros de solicitação, e assim por diante. Os arquivos de log do CloudTrail não são um rastreamento de pilha ordenada de chamadas de API pública, portanto, não são exibidos em uma ordem específica.

O exemplo a seguir mostra uma entrada de log CloudTrail que demonstra a CreateDeployment ação.

{ "eventVersion": "1.08", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::123456789012:user/Administrator", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "Administrator" }, "eventTime": "2021-01-06T02:38:05Z", "eventSource": "greengrass.amazonaws.com", "eventName": "CreateDeployment", "awsRegion": "us-west-2", "sourceIPAddress": "203.0.113.0", "userAgent": "aws-cli/2.1.9 Python/3.7.9 Windows/10 exe/AMD64 prompt/off command/greengrassv2.create-deployment", "requestParameters": { "deploymentPolicies": { "failureHandlingPolicy": "DO_NOTHING", "componentUpdatePolicy": { "timeoutInSeconds": 60, "action": "NOTIFY_COMPONENTS" }, "configurationValidationPolicy": { "timeoutInSeconds": 60 } }, "deploymentName": "Deployment for MyGreengrassCoreGroup", "components": { "aws.greengrass.Cli": { "componentVersion": "2.0.3" } }, "iotJobConfiguration": {}, "targetArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup" }, "responseElements": { "iotJobArn": "arn:aws:iot:us-west-2:123456789012:job/fdfeba1d-ac6d-44ef-ab28-54f684ea578d", "iotJobId": "fdfeba1d-ac6d-44ef-ab28-54f684ea578d", "deploymentId": "4196dddc-0a21-4c54-a985-66a525f6946e" }, "requestID": "311b9529-4aad-42ac-8408-c06c6fec79a9", "eventID": "c0f3aa2c-af22-48c1-8161-bad4a2ab1841", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "123456789012" }