View a markdown version of this page

Journal AWS IoT Appels d'API OTA avec AWS CloudTrail - FreeRTOS

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.

Journal AWS IoT Appels d'API OTA avec AWS CloudTrail

FreeRTOS est intégré à CloudTrail un service qui capture les appels d'API AWS IoT OTA et transmet les fichiers journaux à un compartiment Amazon S3 que vous spécifiez. CloudTrail capture les appels d'API de votre code vers les API AWS IoT OTA. À l'aide des informations collectées par CloudTrail, vous pouvez déterminer la demande qui a été faite à AWS IoT OTA, l'adresse IP source à partir de laquelle la demande a été faite, qui l'a faite, quand elle a été faite, etc.

Pour plus d'informations CloudTrail, notamment sur la manière de le configurer et de l'activer, consultez le Guide de AWS CloudTrail l'utilisateur .

Informations sur FreeRTOS dans CloudTrail

Lorsque la CloudTrail journalisation est activée sur votre AWS compte, les appels d'API effectués aux actions AWS IoT OTA sont suivis dans des fichiers CloudTrail journaux où ils sont écrits avec d'autres enregistrements AWS de service. CloudTrail détermine le moment de création et d'écriture d'un nouveau fichier en fonction de la durée et de la taille du fichier.

Les actions suivantes du plan de contrôle AWS IoT OTA sont enregistrées par CloudTrail :

Note

AWS IoT Les actions du plan de données OTA (côté appareil) ne sont pas enregistrées par CloudTrail. CloudWatch Utilisez-le pour les surveiller.

Chaque entrée du journal contient des informations sur la personne qui a généré la demande. Les informations d'identité de l'utilisateur dans l'entrée de journal permettent de déterminer les éléments suivants :

  • Si la demande a été effectuée avec des informations d’identification d’utilisateur root ou IAM.

  • Si la demande a été effectuée avec des informations d’identification de sécurité temporaires pour un rôle ou un utilisateur fédéré.

  • Si la demande a été faite par un autre AWS service.

Pour plus d'informations, consultez l'élément CloudTrail UserIdentity. AWS IoT Les actions OTA sont documentées dans la référence de l'API AWS IoT OTA.

Vous pouvez stocker vos fichiers journaux dans votre compartiment Amazon S3 aussi longtemps que vous le souhaitez, mais vous pouvez également définir des règles de cycle de vie Amazon S3 pour archiver ou supprimer automatiquement les fichiers journaux. Par défaut, vos fichiers journaux sont chiffrés avec le chiffrement côté serveur (SSE) d'Amazon S3.

Si vous souhaitez être averti lorsque les fichiers journaux sont envoyés, vous pouvez configurer CloudTrail pour publier des notifications Amazon SNS. Pour plus d'informations, consultez Configuration des notifications Amazon SNS pour CloudTrail.

Vous pouvez également regrouper les fichiers journaux AWS IoT OTA de plusieurs AWS régions et de plusieurs AWS comptes dans un seul compartiment Amazon S3.

Pour plus d'informations, consultez les sections Réception de fichiers CloudTrail journaux provenant de plusieurs régions et Réception de fichiers CloudTrail journaux provenant de plusieurs comptes.

Comprendre les entrées du fichier journal FreeRTOS

CloudTrail les fichiers journaux peuvent contenir une ou plusieurs entrées de journal. Chaque entrée répertorie plusieurs JSON-formatted événements. Une entrée de journal représente une demande individuelle à partir de n'importe quelle source et comprend des informations sur l'action demandée, sur la date et l'heure de l'action, sur les paramètres de la demande, etc. Les entrées de journal ne sont pas des arborescences des appels de procédure des appels d'API publique. Elles ne s'affichent donc dans aucun ordre précis.

L'exemple suivant montre une entrée de CloudTrail journal qui illustre le journal à partir d'un appel à CreateOTAUpdate l'action.

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "EXAMPLE", "arn": "arn:aws:iam::your_aws_account:user/your_user_id", "accountId": "your_aws_account", "accessKeyId": "your_access_key_id", "userName": "your_username", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2018-08-23T17:27:08Z" } }, "invokedBy": "apigateway.amazonaws.com" }, "eventTime": "2018-08-23T17:27:19Z", "eventSource": "iot.amazonaws.com", "eventName": "CreateOTAUpdate", "awsRegion": "your_aws_region", "sourceIPAddress": "apigateway.amazonaws.com", "userAgent": "apigateway.amazonaws.com", "requestParameters": { "targets": [ "arn:aws:iot:your_aws_region:your_aws_account:thing/Thing_CMH" ], "roleArn": "arn:aws:iam::your_aws_account:role/Role_FreeRTOSJob", "files": [ { "fileName": "/sys/mcuflashimg.bin", "fileSource": { "fileId": 0, "streamId": "your_stream_id" }, "codeSigning": { "awsSignerJobId": "your_signer_job_id" } } ], "targetSelection": "SNAPSHOT", "otaUpdateId": "FreeRTOSJob_CMH-23-1535045232806-92" }, "responseElements": { "otaUpdateArn": "arn:aws:iot:your_aws_region:your_aws_account:otaupdate/FreeRTOSJob_CMH-23-1535045232806-92", "otaUpdateStatus": "CREATE_PENDING", "otaUpdateId": "FreeRTOSJob_CMH-23-1535045232806-92" }, "requestID": "c9649630-a6f9-11e8-8f9c-e1cf2d0c9d8e", "eventID": "ce9bf4d9-5770-4cee-acf4-0e5649b845c0", "eventType": "AwsApiCall", "recipientAccountId": "recipient_aws_account" }