Journalisation des appels d'API AWS Systems Manager avec AWS CloudTrail - AWS Systems Manager

Journalisation des appels d'API AWS Systems Manager avec AWS CloudTrail

AWS Systems Manager est intégré à AWS CloudTrail, un service qui enregistre les actions effectuées par un utilisateur, un rôle ou un service AWS dans Systems Manager. CloudTrail capture tous les appels d'API pour Systems Manager en tant qu'événements, y compris les appels depuis la console Systems Manager et les appels de code vers les API Systems Manager. Si vous créez un journal d'activité, vous pouvez activer la livraison continue d'événements CloudTrail à un compartiment S3, y compris des événements pour Systems Manager. Si vous ne configurez pas de journal d'activité, vous pouvez toujours afficher les événements les plus récents dans la console CloudTrail dans Event history (Historique des événements). Avec les informations collectées par CloudTrail, vous pouvez déterminer la demande qui a été envoyée à Systems Manager, l'adresse IP à partir de laquelle la demande a été effectuée, l'auteur et la date de la demande, ainsi que d'autres détails.

Pour en savoir plus sur CloudTrail, consultez le Guide de l'utilisateur AWS CloudTrail.

Informations Systems Manager dans CloudTrail

CloudTrail est activé dans votre Compte AWS lors de la création de ce dernier. Quand une activité se produit dans Systems Manager, celle-ci est enregistrée dans un événement CloudTrail avec d'autres événements de services AWS dans Event history (Historique des événements). Vous pouvez afficher, rechercher et télécharger les événements récents dans votre Compte AWS. Pour plus d'informations, consultez Affichage des événements avec l'historique des événements CloudTrail dans le Guide de l'utilisateur AWS CloudTrail.

Pour un enregistrement continu des événements dans votre Compte AWS, notamment des événements pour Systems Manager, créez un journal d'activité. Un journal de suivi permet à CloudTrail de livrer des fichiers journaux dans un compartiment S3. Par défaut, lorsque vous créez un journal d'activité dans la console, il s'applique à toutes les régions Régions AWS. Le journal d'activité consigne les événements de toutes les régions dans la partition AWS et livre les fichiers journaux dans le compartiment S3 de votre choix. De plus, vous pouvez configurer d'autres services AWS pour analyser plus en profondeur les données d'événement collectées dans les journaux CloudTrail et agir sur celles-ci. Pour plus d'informations, consultez :

Toutes les actions de Systems Manager sont consignées par CloudTrail et documentées dans le Guide de référence de l'API AWS Systems Manager. À titre d'exemple, les appels vers les actions CreateMaintenanceWindows, PutInventory, SendCommand et StartSession génèrent des entrées dans les fichiers journaux CloudTrail. Pour obtenir un exemple de configuration de CloudTrail visant à surveiller un appel d'API Systems Manager, consultez Surveillance de l'activité de session avec Amazon EventBridge (console) .

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 les informations d'identification de l'utilisateur racine du Compte AWS ou avec les informations d'identification d'un utilisateur 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.

Pour plus d'informations, consultez l'élément userIdentity CloudTrail.

Présentation des entrées du fichier journal Systems Manager

Un journal de suivi est une configuration qui permet la remise d'événements sous forme de fichiers journaux dans un compartiment S3 que vous spécifiez. Les fichiers journaux CloudTrail peuvent contenir une ou plusieurs entrées. Une entrée de journal représente une demande individuelle à partir d'une source quelconque et comprend des informations sur l'opération demandée, y compris la date et l'heure de l'opération, les paramètres de la demande, etc. Les fichiers journaux CloudTrail ne constituent pas une série ordonnée retraçant les appels d'API publics. Ils ne sont affichés dans aucun ordre précis.

L'exemple suivant présente une entrée de journal CloudTrail qui illustre l’opération DeleteDocuments sur un document nommé example-Document dans la région USA Est (Ohio) (us-east-2).

{ "eventVersion": "1.04", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAI44QH8DHBEXAMPLE:203.0.113.11", "arn": "arn:aws:sts::123456789012:assumed-role/example-role/203.0.113.11", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2018-03-06T20:19:16Z" }, "sessionIssuer": { "type": "Role", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:iam::123456789012:role/example-role", "accountId": "123456789012", "userName": "example-role" } } }, "eventTime": "2018-03-06T20:30:12Z", "eventSource": "ssm.amazonaws.com", "eventName": "DeleteDocument", "awsRegion": "us-east-2", "sourceIPAddress": "203.0.113.11", "userAgent": "example-user-agent-string", "requestParameters": { "name": "example-Document" }, "responseElements": null, "requestID": "86168559-75e9-11e4-8cf8-75d18EXAMPLE", "eventID": "832b82d5-d474-44e8-a51d-093ccEXAMPLE", "resources": [ { "ARN": "arn:aws:ssm:us-east-2:123456789012:document/example-Document", "accountId": "123456789012" } ], "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }

L'exemple suivant illustre une entrée de journal CloudTrail pour un utilisateur qui démarre une connexion RDP en utilisant Fleet Manager dans la Région USA Est (Ohio) (us-east-2).

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:sts::123456789012:assumed-role/exampleRole", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:sts::123456789012:assumed-role/exampleRole", "accountId": "123456789012", "userName": "exampleRole" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-12-13T14:57:05Z", "mfaAuthenticated": "false" } } }, "eventTime": "2021-12-13T16:50:41Z", "eventSource": "ssm-guiconnect.amazonaws.com", "eventName": "StartConnection", "awsRegion": "us-east-2", "sourceIPAddress": "34.230.45.60", "userAgent": "example-user-agent-string", "requestParameters": { "AuthType": "Credentials", "Protocol": "RDP", "ConnectionType": "SessionManager", "InstanceId": "i-02573cafcfEXAMPLE" }, "responseElements": { "ConnectionArn": "arn:aws:ssm-guiconnect:us-east-2:123456789012:connection/fcb810cd-241f-4aae-9ee4-02d59EXAMPLE", "ConnectionKey": "71f9629f-0f9a-4b35-92f2-2d253EXAMPLE", "ClientToken": "49af0f92-d637-4d47-9c54-ea51aEXAMPLE", "requestId": "d466710f-2adf-4e87-9464-055b2EXAMPLE" }, "requestID": "d466710f-2adf-4e87-9464-055b2EXAMPLE", "eventID": "fc514f57-ba19-4e8b-9079-c2913EXAMPLE", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management" }