Registre llamadas a la API de Amazon EC2 y Amazon EBS con AWS CloudTrail - Amazon Elastic Compute Cloud

Registre llamadas a la API de Amazon EC2 y Amazon EBS con AWS CloudTrail

Amazon EC2 y Amazon EBS se integran en AWS CloudTrail, un servicio que proporciona un registro de las acciones realizadas por un usuario, un rol o un servicio de AWS en Amazon EC2 y Amazon EBS. CloudTrail obtiene todas las llamadas a la API para Amazon EC2 y Amazon EBS como eventos, incluidas las llamadas procedentes de la consola y de las llamadas de código a las API. 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 Amazon EC2 y Amazon EBS. 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 que recopila CloudTrail, se puede determinar la solicitud que se envió a Amazon EC2 y a Amazon EBS, la dirección IP desde la que se realizó la solicitud, quién la realizó, cuándo la realizó y los detalles adicionales.

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

Información de Amazon EC2 y Amazon EBS en CloudTrail

CloudTrail se habilita en su Cuenta de AWS cuando se crea la cuenta. Cuando se produce una actividad en Amazon EC2 y en Amazon EBS, 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 más información, consulte Visualización de eventos con el historial de eventos de CloudTrail.

Para mantener un registro continuo de los eventos en su Cuenta de AWS, incluidos los eventos de Amazon EC2 y Amazon EBS, 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 EC2 y las acciones de administración de Amazon EBS, y se documentan en la Referencia de la API de Amazon EC2. Por ejemplo, las llamadas a las acciones RunInstances, DescribeInstances o CreateImage generan entradas en los archivos de registro de CloudTrail.

Cada entrada de registro o evento contiene información sobre 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 del usuario 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 Elemento userIdentity de CloudTrail.

Comprender las entradas del archivo de registro Amazon EC2 y Amazon EBS.

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 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 la stack ordenado de las llamadas a las API públicas, por lo que no aparecen en ningún orden específico.

El siguiente ejemplo de archivo de registro muestra que un usuario ha terminado una instancia.

{ "Records":[ { "eventVersion":"1.03", "userIdentity":{ "type":"Root", "principalId":"123456789012", "arn":"arn:aws:iam::123456789012:root", "accountId":"123456789012", "accessKeyId":"AKIAIOSFODNN7EXAMPLE", "userName":"user" }, "eventTime":"2016-05-20T08:27:45Z", "eventSource":"ec2.amazonaws.com", "eventName":"TerminateInstances", "awsRegion":"us-west-2", "sourceIPAddress":"198.51.100.1", "userAgent":"aws-cli/1.10.10 Python/2.7.9 Windows/7botocore/1.4.1", "requestParameters":{ "instancesSet":{ "items":[{ "instanceId":"i-1a2b3c4d" }] } }, "responseElements":{ "instancesSet":{ "items":[{ "instanceId":"i-1a2b3c4d", "currentState":{ "code":32, "name":"shutting-down" }, "previousState":{ "code":16, "name":"running" } }] } }, "requestID":"be112233-1ba5-4ae0-8e2b-1c302EXAMPLE", "eventID":"6e12345-2a4e-417c-aa78-7594fEXAMPLE", "eventType":"AwsApiCall", "recipientAccountId":"123456789012" } ] }

Use AWS CloudTrail para auditar a los usuarios que se conectan mediante EC2 Instance Connect

Use AWS CloudTrail para auditar a los usuarios que se conectan a sus instancias mediante EC2 Instance Connect.

Para auditar la actividad SSH mediante EC2 Instance Connect con la consola de AWS CloudTrail
  1. Abra la consola de AWS CloudTrail en https://console.aws.amazon.com/cloudtrail/.

  2. Compruebe que se encuentra en la región correcta.

  3. En el panel de navegación, elija Event history (Historial de eventos).

  4. En Filter (Filtro), elija Event source (Origen del evento), ec2-instance-connect.amazonaws.com.

  5. De forma opcional, en Time range (Intervalo de tiempo), seleccione un intervalo de tiempo.

  6. Elija el icono de Refresh events (Eventos de actualización).

  7. La página muestra los eventos que se corresponden a las llamadas a la API de SendSSHPublicKey. Amplíe un evento con la flecha para ver detalles adicionales, como el nombre de usuario y la clave de acceso AWS que se empleó para realizar la conexión SSH y la dirección IP de origen.

  8. Para mostrar toda la información del evento en formato JSON, elija View event (Ver evento). El campo requestParameters contiene el ID de instancia de destino, el nombre de usuario del SO y la clave pública que se emplearon para realizar la conexión SSH.

    { "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "ABCDEFGONGNOMOOCB6XYTQEXAMPLE", "arn": "arn:aws:iam::1234567890120:user/IAM-friendly-name", "accountId": "123456789012", "accessKeyId": "ABCDEFGUKZHNAW4OSN2AEXAMPLE", "userName": "IAM-friendly-name", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2018-09-21T21:37:58Z"} } }, "eventTime": "2018-09-21T21:38:00Z", "eventSource": "ec2-instance-connect.amazonaws.com", "eventName": "SendSSHPublicKey ", "awsRegion": "us-west-2", "sourceIPAddress": "123.456.789.012", "userAgent": "aws-cli/1.15.61 Python/2.7.10 Darwin/16.7.0 botocore/1.10.60", "requestParameters": { "instanceId": "i-0123456789EXAMPLE", "osUser": "ec2-user", "SSHKey": { "publicKey": "ssh-rsa ABCDEFGHIJKLMNO01234567890EXAMPLE" } }, "responseElements": null, "requestID": "1a2s3d4f-bde6-11e8-a892-f7ec64543add", "eventID": "1a2w3d4r5-a88f-4e28-b3bf-30161f75be34", "eventType": "AwsApiCall", "recipientAccountId": "0987654321" }

    Si ha configurado su cuenta de AWS para que recopile eventos de CloudTrail en un bucket de S3, puede descargar y auditar la información mediante programación. Para obtener más información, consulte Obtención y visualización de los archivos de registro de CloudTrail en la Guía del usuario de AWS CloudTrail.