Journalisation des appels d'API Amazon ElastiCache avec AWS CloudTrail - Amazon ElastiCache for Redis

Journalisation des appels d'API Amazon ElastiCache avec AWS CloudTrail

Amazon ElastiCache est intégré avec AWS CloudTrail, un service qui enregistre les actions effectuées par un utilisateur, un rôle ou un service AWS dans Amazon ElastiCache. CloudTrail capture tous les appels d'API pour Amazon ElastiCache en tant qu'événements, y compris les appels de la console Amazon ElastiCache et les appels de code à des opérations d'API Amazon ElastiCache. Si vous créez un journal d'activité, vous pouvez activer la livraison continue des événements CloudTrail dans un compartiment Amazon S3, y compris pour les événements relatifs à Amazon ElastiCache. 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 l'historique des événements. Avec les informations collectées par CloudTrail, vous pouvez déterminer la demande qui a été envoyée à Amazon ElastiCache, 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 Amazon ElastiCache dans CloudTrail

CloudTrail est activé dans votre compte AWS lors de la création de ce dernier. Lorsqu'une activité se produit dans Amazon ElastiCache, elle est enregistrée au sein d'un événement CloudTrail avec d'autres événements de services AWS dans 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, veuillez consulter Affichage des événements avec l'historique des événements CloudTrail.

Pour un enregistrement continu des événements de votre compte AWS, y compris les événements relatifs à Amazon ElastiCache, créez un journal d'activité. Un journal d'activité permet à CloudTrail de livrer des fichiers journaux dans un compartiment Amazon S3. Par défaut, lorsque vous créez un journal d'activité dans la console, il s'applique à toutes les régions. 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 Amazon S3 de votre choix. En outre, vous pouvez configurer d'autres services AWS pour analyser et agir sur les données d'événements collectées dans les journaux CloudTrail. Pour en savoir plus, consultez les ressources suivantes :

Toutes les actions Amazon ElastiCache sont enregistrées par CloudTrail et sont documentées dans la Référence d'API ElastiCache. À titre d'exemple, les appels vers les actions CreateCacheCluster, DescribeCacheCluster et ModifyCacheCluster génèrent des entrées dans les fichiers journaux CloudTrail.

Chaque événement ou entrée du journal contient des informations sur la personne qui a généré la demande. Les informations relatives à l'identité permettent de déterminer les éléments suivants :

  • Si la demande a été effectuée avec les autorisations utilisateur racine ou IAM.

  • Si la demande a été effectuée avec des autorisations de sécurité temporaires pour un rôle ou un utilisateur fédéré.

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

Pour en savoir plus, consultez l'élément userIdentity CloudTrail.

Présentation des entrées des fichiers journaux Amazon ElastiCache

Un journal de suivi est une configuration qui permet d'envoyer des événements sous forme de fichiers journaux à un compartiment Amazon S3 que vous spécifiez. Les fichiers journaux CloudTrail peuvent contenir une ou plusieurs entrées. Un événement représente une demande individuelle émise à partir d'une source quelconque et comprend des informations sur l'action demandée, la date et l'heure de l'action, les paramètres de la demande, etc. Les fichiers journaux CloudTrail ne constituent pas une trace de pile ordonnée d'appels d'API publics. Ils ne suivent donc aucun ordre précis.

L'exemple suivant montre une entrée de journal CloudTrail qui illustre l'action CreateCacheCluster.

{ "eventVersion":"1.01", "userIdentity":{ "type":"IAMUser", "principalId":"EXAMPLEEXAMPLEEXAMPLE", "arn":"arn:aws:iam::123456789012:user/elasticache-allow", "accountId":"123456789012", "accessKeyId":"AKIAIOSFODNN7EXAMPLE", "userName":"elasticache-allow" }, "eventTime":"2014-12-01T22:00:35Z", "eventSource":"elasticache.amazonaws.com", "eventName":"CreateCacheCluster", "awsRegion":"us-west-2", "sourceIPAddress":"192.0.2.01", "userAgent":"AWS CLI/ElastiCache 1.10 API 2014-12-01", "requestParameters":{ "numCacheNodes":2, "cacheClusterId":"test-memcached", "engine":"memcached", "aZMode":"cross-az", "cacheNodeType":"cache.m1.small", }, "responseElements":{ "engine":"memcached", "clientDownloadLandingPage":"https://console.aws.amazon.com/elasticache/home#client-download:", "cacheParameterGroup":{ "cacheParameterGroupName":"default.memcached1.4", "cacheNodeIdsToReboot":{ }, "parameterApplyStatus":"in-sync" }, "preferredAvailabilityZone":"Multiple", "numCacheNodes":2, "cacheNodeType":"cache.m1.small", "cacheClusterStatus":"creating", "autoMinorVersionUpgrade":true, "preferredMaintenanceWindow":"thu:05:00-thu:06:00", "cacheClusterId":"test-memcached", "engineVersion":"1.4.14", "cacheSecurityGroups":[ { "status":"active", "cacheSecurityGroupName":"default" } ], "pendingModifiedValues":{ } }, "requestID":"104f30b3-3548-11e4-b7b8-6d79ffe84edd", "eventID":"92762127-7a68-42ce-8787-927d2174cde1" }

L'exemple suivant montre une entrée de journal CloudTrail qui illustre l'action DescribeCacheCluster. Notez que pour tous les appels décrire les appels Amazon ElastiCache Describe (Describe*), la section ResponseElements est supprimée et apparaît en tant que null.

{ "eventVersion":"1.01", "userIdentity":{ "type":"IAMUser", "principalId":"EXAMPLEEXAMPLEEXAMPLE", "arn":"arn:aws:iam::123456789012:user/elasticache-allow", "accountId":"123456789012", "accessKeyId":"AKIAIOSFODNN7EXAMPLE", "userName":"elasticache-allow" }, "eventTime":"2014-12-01T22:01:00Z", "eventSource":"elasticache.amazonaws.com", "eventName":"DescribeCacheClusters", "awsRegion":"us-west-2", "sourceIPAddress":"192.0.2.01", "userAgent":"AWS CLI/ElastiCache 1.10 API 2014-12-01", "requestParameters":{ "showCacheNodeInfo":false, "maxRecords":100 }, "responseElements":null, "requestID":"1f0b5031-3548-11e4-9376-c1d979ba565a", "eventID":"a58572a8-e81b-4100-8e00-1797ed19d172" }

L'exemple suivant montre une entrée de journal CloudTrail qui enregistre une action ModifyCacheCluster.

{ "eventVersion":"1.01", "userIdentity":{ "type":"IAMUser", "principalId":"EXAMPLEEXAMPLEEXAMPLE", "arn":"arn:aws:iam::123456789012:user/elasticache-allow", "accountId":"123456789012", "accessKeyId":"AKIAIOSFODNN7EXAMPLE", "userName":"elasticache-allow" }, "eventTime":"2014-12-01T22:32:21Z", "eventSource":"elasticache.amazonaws.com", "eventName":"ModifyCacheCluster", "awsRegion":"us-west-2", "sourceIPAddress":"192.0.2.01", "userAgent":"AWS CLI/ElastiCache 1.10 API 2014-12-01", "requestParameters":{ "applyImmediately":true, "numCacheNodes":3, "cacheClusterId":"test-memcached" }, "responseElements":{ "engine":"memcached", "clientDownloadLandingPage":"https://console.aws.amazon.com/elasticache/home#client-download:", "cacheParameterGroup":{ "cacheParameterGroupName":"default.memcached1.4", "cacheNodeIdsToReboot":{ }, "parameterApplyStatus":"in-sync" }, "cacheClusterCreateTime":"Dec 1, 2014 10:16:06 PM", "preferredAvailabilityZone":"Multiple", "numCacheNodes":2, "cacheNodeType":"cache.m1.small", "cacheClusterStatus":"modifying", "autoMinorVersionUpgrade":true, "preferredMaintenanceWindow":"thu:05:00-thu:06:00", "cacheClusterId":"test-memcached", "engineVersion":"1.4.14", "cacheSecurityGroups":[ { "status":"active", "cacheSecurityGroupName":"default" } ], "configurationEndpoint":{ "address":"test-memcached.example.cfg.use1prod.cache.amazonaws.com", "port":11211 }, "pendingModifiedValues":{ "numCacheNodes":3 } }, "requestID":"807f4bc3-354c-11e4-9376-c1d979ba565a", "eventID":"e9163565-376f-4223-96e9-9f50528da645" }