Registro de llamadas a la API de AWS IoT mediante AWS CloudTrail
AWS IoT se integra con AWS CloudTrail, un servicio que proporciona un registro de las acciones hechas por un usuario, un rol o un servicio de AWS en AWS IoT. CloudTrail captura todas las llamadas a la API de AWS IoT como eventos, incluidas las llamadas procedentes de la consola de AWS IoT y las llamadas de código a las API de AWS IoT. Si crea un registro de seguimiento, puede habilitar la entrega continua de eventos de CloudTrail a un bucket de Amazon S3, incluidos los eventos para AWS IoT. Si no configura un registro de seguimiento, puede ver los eventos más recientes en la consola de CloudTrail en el Historial de eventos. Mediante la información que CloudTrail recopila, se puede determinar la solicitud que se envió a AWS IoT, la dirección IP desde la que se realizó la solicitud, quién la realizó, cuándo se realizó y otros detalles adicionales.
Para obtener más información sobre CloudTrail, consulte la Guía del usuario de AWS CloudTrail.
AWS IoTInformación de en CloudTrail
CloudTrail se habilita en su Cuenta de AWS cuando se crea la cuenta. Cuando se produce actividad en AWS IoT, dicha actividad se registra en un evento de CloudTrail junto con otros eventos de servicio de AWS en el Historial de eventos. Puede ver, buscar y descargar eventos recientes en su Cuenta de AWS. Para obtener más información, consulte Ver eventos con el historial de eventos de CloudTrail.
Para mantener un registro continuo de eventos en la Cuenta de AWS, incluidos los eventos de AWS IoT, cree un registro de seguimiento. Un registro de seguimiento permite a CloudTrail enviar archivos de registro a un bucket de Amazon S3. De forma predeterminada, cuando se crea un registro de seguimiento en la consola, el registro de seguimiento se aplica a todas las Región de AWS. El seguimiento registra los eventos de todas las Región de AWS en la partición de AWS y envía los archivos de registro al bucket de Simple Storage Service (Amazon S3) especificado. También puede configurar otros servicios de AWS para analizar y actuar en función de los datos de eventos recopilados en los registros de CloudTrail. Para obtener más información, consulte:
nota
Las acciones del plano de datos (lado del dispositivo) de AWS IoT no se registran en CloudTrail. Utilice CloudWatch para monitorizar estas acciones.
En términos generales, CloudTrail registra las acciones del plano de control de AWS IoT que realizan cambios. Las llamadas como CreateThing, CreateKeysAndCertificate y UpdateCertificate salen de las entradas de CloudTrail, mientras que las llamadas como ListThings y ListTopicRules no.
Cada entrada de registro o evento contiene información sobre quién generó la solicitud. La información de identidad del usuario lo ayuda a determinar lo siguiente:
-
Si la solicitud se realizó con las credenciales raíz o del usuario de IAM.
-
Si la solicitud se realizó con credenciales de seguridad temporales de un rol o fue un usuario federado.
-
Si la solicitud la realizó otro servicio de AWS.
Para obtener más información, consulte el Elemento userIdentity de CloudTrail.
Las acciones de AWS IoT se documentan en la Referencia de la API de AWS IoT. Las acciones AWS IoT Wireless se documentan en la Referencia de la API AWS IoT Wireless.
Descripción de las entradas de los archivos de registro de AWS IoT
Un registro de seguimiento es una configuración que permite la entrega de eventos como archivos de registro a un bucket de Amazon S3 que especifique. Los archivos de registro de CloudTrail pueden contener una o varias entradas de registro. Un evento representa una solicitud específica realizada desde un origen y contiene información sobre la acción solicitada, la fecha y la hora de la acción, los parámetros de la solicitud, etc. Los archivos de registro de CloudTrail no son un rastro de pila ordenado de las llamadas a las API públicas, por lo que no aparecen en ningún orden específico.
En el ejemplo siguiente, se muestra una entrada de registro de CloudTrail que ilustra la acción AttachPolicy.
{ "timestamp":"1460159496", "AdditionalEventData":"", "Annotation":"", "ApiVersion":"", "ErrorCode":"", "ErrorMessage":"", "EventID":"8bff4fed-c229-4d2d-8264-4ab28a487505", "EventName":"AttachPolicy", "EventTime":"2016-04-08T23:51:36Z", "EventType":"AwsApiCall", "ReadOnly":"", "RecipientAccountList":"", "RequestID":"d4875df2-fde4-11e5-b829-23bf9b56cbcd", "RequestParamters":{ "principal":"arn:aws:iot:us-east-1:123456789012:cert/528ce36e8047f6a75ee51ab7beddb4eb268ad41d2ea881a10b67e8e76924d894", "policyName":"ExamplePolicyForIoT" }, "Resources":"", "ResponseElements":"", "SourceIpAddress":"52.90.213.26", "UserAgent":"aws-internal/3", "UserIdentity":{ "type":"AssumedRole", "principalId":"AKIAI44QH8DHBEXAMPLE", "arn":"arn:aws:sts::12345678912:assumed-role/iotmonitor-us-east-1-beta-InstanceRole-1C5T1YCYMHPYT/i-35d0a4b6", "accountId":"222222222222", "accessKeyId":"access-key-id", "sessionContext":{ "attributes":{ "mfaAuthenticated":"false", "creationDate":"Fri Apr 08 23:51:10 UTC 2016" }, "sessionIssuer":{ "type":"Role", "principalId":"AKIAI44QH8DHBEXAMPLE", "arn":"arn:aws:iam::123456789012:role/executionServiceEC2Role/iotmonitor-us-east-1-beta-InstanceRole-1C5T1YCYMHPYT", "accountId":"222222222222", "userName":"iotmonitor-us-east-1-InstanceRole-1C5T1YCYMHPYT" } }, "invokedBy":{ "serviceAccountId":"111111111111" } }, "VpcEndpointId":"" }