View a markdown version of this page

Consignez les appels d'API Amazon EC2 à l'aide de AWS CloudTrail - Amazon Elastic Compute Cloud

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.

Consignez les appels d'API Amazon EC2 à l'aide de AWS CloudTrail

L'API Amazon EC2 est intégrée à AWS CloudTrail un service qui fournit un enregistrement des actions entreprises par un utilisateur, un rôle ou un Service AWS. CloudTrail capture tous les appels d'API Amazon EC2 sous forme d'événements. Les appels capturés comprennent les appels effectués par la console. À l'aide des informations collectées par CloudTrail, vous pouvez déterminer la demande qui a été envoyée à l'API Amazon EC2, l'adresse IP à partir de laquelle la demande a été faite et la date à laquelle elle a été faite.

Chaque événement ou entrée de journal contient des informations sur la personne ayant initié la demande. Les informations relatives à l’identité permettent de déterminer :

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

  • Si la demande a été faite au nom d'un utilisateur du centre d'identité IAM.

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

  • Si la requête a été effectuée par un autre Service AWS.

CloudTrail est actif dans votre compte Compte AWS lorsque vous créez votre compte et vous avez automatiquement accès à l'historique des CloudTrail événements. L'historique des CloudTrail événements fournit un enregistrement consultable, consultable, téléchargeable et immuable des 90 derniers jours des événements de gestion enregistrés dans un fichier. Région AWS Pour plus d'informations, consultez la section Utilisation de l'historique des CloudTrail événements dans le Guide de AWS CloudTrail l'utilisateur. L'affichage de CloudTrail l'historique des événements est gratuit.

Pour un enregistrement continu des événements survenus au cours de vos 90 Compte AWS derniers jours, créez un sentier ou une banque de données sur les événements CloudTrail Lake.

CloudTrail sentiers

Un journal permet CloudTrail de transmettre des fichiers journaux à un compartiment Amazon S3. Tous les sentiers créés à l'aide du Console de gestion AWS sont multirégionaux. Vous ne pouvez créer un journal de suivi en une ou plusieurs régions à l'aide de l' AWS CLI. Il est recommandé de créer un historique multirégional, car vous pouvez enregistrer l'activité dans l'ensemble Régions AWS de votre compte. Si vous créez un journal de suivi pour une seule région, il convient de n'afficher que les événements enregistrés dans le journal de suivi pour une seule région Région AWS. Pour plus d'informations sur les journaux de suivi, consultez Créez un journal de suivi dans vos Compte AWS et Création d'un journal de suivi pour une organisation dans le AWS CloudTrail Guide de l'utilisateur.

Vous pouvez envoyer gratuitement une copie de vos événements de gestion en cours dans votre compartiment Amazon S3 CloudTrail en créant un historique, mais des frais de stockage Amazon S3 sont facturés. Pour plus d'informations sur la CloudTrail tarification, consultez la section AWS CloudTrail Tarification. Pour obtenir des informations sur la tarification Amazon S3, consultez Tarification Amazon S3.

CloudTrail Magasins de données sur les événements liés

CloudTrail Lake vous permet de lancer SQL-based des requêtes sur vos événements. CloudTrail Lake convertit les événements existants au format JSON basé sur les lignes au format Apache ORC. ORC est un format de stockage en colonnes qui est optimisé pour une récupération rapide des données. Les événements sont agrégés dans des magasins de données d’événement. Ceux-ci constituent des collections immuables d’événements basées sur des critères que vous sélectionnez en appliquant des sélecteurs d’événements avancés. Les sélecteurs que vous appliquez à un magasin de données d’événement contrôlent les événements qui persistent et que vous pouvez interroger. Pour plus d'informations sur CloudTrail Lake, consultez la section Utilisation de AWS CloudTrail Lake dans le Guide de AWS CloudTrail l'utilisateur.

CloudTrail Les stockages et les requêtes de données sur les événements liés aux lacs entraînent des coûts. Lorsque vous créez un magasin de données d’événement, vous choisissez l’option de tarification que vous voulez utiliser pour le magasin de données d’événement. L’option de tarification détermine le coût d’ingestion et de stockage des événements, ainsi que les périodes de conservation par défaut et maximale pour le magasin de données d’événement. Pour plus d'informations sur la CloudTrail tarification, consultez la section AWS CloudTrail Tarification.

Événements de gestion des API Amazon EC2 dans CloudTrail

Les événements de gestion fournissent des informations sur les opérations de gestion effectuées sur les ressources de votre Compte AWS. Ils sont également connus sous le nom opérations de plan de contrôle. Par défaut, CloudTrail enregistre les événements de gestion.

Toutes les actions d'API Amazon EC2 sont enregistrées en tant qu'événements de gestion. Pour obtenir la liste des actions d'API qui sont enregistrées CloudTrail, consultez le manuel Amazon EC2 API Reference. Par exemple, les appels au RunInstances, DescribeInstances, et les StopInstances actions sont enregistrés en tant qu'événements de gestion.

Exemples d'événements d'API Amazon EC2

Un événement représente une demande unique provenant de n'importe quelle source et inclut des informations sur l'opération d'API demandée, la date et l'heure de l'opération, les paramètres de la demande, etc. CloudTrail les fichiers journaux ne constituent pas une pile ordonnée des appels d'API publics, de sorte que les événements n'apparaissent pas dans un ordre spécifique.

L’enregistrement de fichier journal suivant montre qu’un utilisateur a résilié une instance.

{ "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" } ] }

Pour plus d'informations sur le contenu des CloudTrail enregistrements, reportez-vous à la section Contenu des CloudTrail enregistrements dans le Guide de AWS CloudTrail l'utilisateur.

Auditez les connexions établies à l'aide d'EC2 Instance Connect

Vous pouvez l'utiliser AWS CloudTrail pour auditer les utilisateurs qui se connectent à vos instances à l'aide d'EC2 Instance Connect.

Pour auditer l'activité SSH via EC2 Instance Connect à l'aide du AWS CloudTrail console
  1. Ouvrez la CloudTrail console à l'adresse https://console.aws.amazon.com/cloudtrail/.

  2. Vérifiez que vous êtes dans la région correcte.

  3. Dans le volet de navigation, sélectionnez Event history (Historique des événements).

  4. Pour Filter (Filtre), choisissez Event source (Source de l’événement), ec2-instance-connect.amazonaws.com.

  5. (Facultatif) Pour Time range (Plage de temps), sélectionnez une plage de temps.

  6. Choisissez l’icône Refresh events (Actualiser les événements).

  7. La page affiche les événements correspondant aux appels d’API SendSSHPublicKey. Développez un événement à l'aide de la flèche pour afficher des informations supplémentaires, telles que le nom d'utilisateur et la clé d' AWS accès utilisés pour établir la connexion SSH, ainsi que l'adresse IP source.

  8. Pour afficher toutes les informations sur l’événement au format JSON, choisissez Afficher l’événement. Le champ requestParameters contient l’identifiant de l’instance de destination, le nom d’utilisateur OS et la clé publique qui ont été utilisés pour établir la connexion 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 vous avez configuré votre AWS compte pour collecter des CloudTrail événements dans un compartiment S3, vous pouvez télécharger et auditer les informations par programmation. Pour plus d'informations, consultez la section Obtenir et consulter vos fichiers CloudTrail journaux dans le Guide de AWS CloudTrail l'utilisateur.