Registro de llamadas a las API de Amazon API Gateway con AWS CloudTrail - Amazon API Gateway

Registro de llamadas a las API de Amazon API Gateway con AWS CloudTrail

Amazon API Gateway está integrado con AWS CloudTrail, un servicio que proporciona un registro de las acciones de los usuarios, los roles o los servicios de AWS en API Gateway. CloudTrail captura todas las llamadas a la API de REST para las API del servicio API Gateway como eventos, incluidas las llamadas desde la consola de API Gateway y las llamadas de código a las API del servicio API Gateway.

nota

TestInvokeAuthorizer y TestInvokeMethod no se registran en CloudTrail.

Si crea un registro de seguimiento, puede habilitar la entrega continua de eventos de CloudTrail a un bucket de Amazon S3, incluidos los eventos de API Gateway. Si no configura un registro de seguimiento, puede ver los eventos más recientes de la consola de CloudTrail en el Event history (Historial de eventos).

Mediante la información recopilada por CloudTrail, puede determinar la solicitud que se realizó a API Gateway, la dirección IP de origen desde la que se realizó, quién la realizó y cuándo, etc.

Para obtener más información acerca de CloudTrail, consulte la Guía del usuario de AWS CloudTrail.

Información de API Gateway en CloudTrail

CloudTrail se habilita en su cuenta de AWS cuando la crea. Cuando se produce una actividad en Amazon API Gateway, dicha actividad se registra en un evento de CloudTrail junto con los eventos de los demás servicios de AWS en Event history (Historial de eventos). Puede ver, buscar y descargar los últimos eventos de la 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 los eventos de la cuenta de AWS, incluidos los eventos de API Gateway, 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 regiones de AWS. El registro de seguimiento registra los eventos de todas las regiones de la partición de AWS y envía los archivos de registro al bucket de Amazon S3 especificado. También es posible configurar otros servicios de AWS para analizar en profundidad y actuar en función de los datos de eventos recopilados en los registros de CloudTrail. Para obtener más información, consulte:

CloudTrail registra todas las acciones de Amazon API Gateway y se documentan en Referencias de API. Por ejemplo, las llamadas para crear una nueva API, un recurso o un método en API Gateway generan entradas en archivos de registro de CloudTrail.

Cada entrada de registro o evento contiene información acerca de quién generó la solicitud. La información de identidad del usuario le 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.

Descripción de las entradas del archivo de registro de API Gateway

Un registro de seguimiento es una configuración que permite la entrega de eventos como archivos de registro en un bucket de Amazon S3 que especifique. Los archivos log de CloudTrail pueden contener una o varias entradas de log. Un evento representa una única solicitud de cualquier origen e incluye información acerca de la acción solicitada, la fecha y la hora de la acción, los parámetros de la solicitud, etcétera. Los archivos de registro de CloudTrail no son un rastro de la stack 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 GetResource de API Gateway.

{ Records: [ { eventVersion: "1.03", userIdentity: { type: "Root", principalId: "AKIAI44QH8DHBEXAMPLE", arn: "arn:aws:iam::123456789012:root", accountId: "123456789012", accessKeyId: "AKIAIOSFODNN7EXAMPLE", sessionContext: { attributes: { mfaAuthenticated: "false", creationDate: "2015-06-16T23:37:58Z" } } }, eventTime: "2015-06-17T00:47:28Z", eventSource: "apigateway.amazonaws.com", eventName: "GetResource", awsRegion: "us-east-1", sourceIPAddress: "203.0.113.11", userAgent: "example-user-agent-string", requestParameters: { restApiId: "3rbEXAMPLE", resourceId: "5tfEXAMPLE", template: false }, responseElements: null, requestID: "6d9c4bfc-148a-11e5-81b6-7577cEXAMPLE", eventID: "4d293154-a15b-4c33-9e0a-ff5eeEXAMPLE", readOnly: true, eventType: "AwsApiCall", recipientAccountId: "123456789012" }, ... additional entries ... ] }