Utilisation de AWS CloudTrail et Amazon RDS - Amazon Relational Database Service

Utilisation de AWS CloudTrail et Amazon RDS

AWS CloudTrail est un service AWS qui vous aide à auditer votre compte AWS. CloudTrail est activé sur votre compte AWS lorsque vous le créez.

Pour obtenir des informations détaillées sur CloudTrail, consultez le AWS CloudTrail User Guide.

Intégration de CloudTrail à Amazon RDS

Toutes les actions Amazon RDS sont enregistrées par CloudTrail. CloudTrail fournit un enregistrement des actions réalisées par un utilisateur, un rôle ou un service AWS dans Amazon RDS.

Événements CloudTrail

CloudTrail capture les appels d'API pour Amazon RDS en tant qu'événements. 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 événements incluent des appels de la console Amazon RDS et le code des appels vers les API Amazon RDS.

L’activité Amazon RDS est enregistrée dans un événement CloudTrail dans l'Historique des événements. Vous pouvez utiliser la console CloudTrail pour afficher les 90 derniers jours d'activité de l'API et d'événements enregistrés dans une région AWS. Pour plus d'informations, consultez Affichage des événements avec l'historique des événements CloudTrail.

Journaux de suivi CloudTrail

Pour un enregistrement continu des événements dans votre compte AWS, y compris les événements pour Amazon RDS, créez un journal de suivi. Un journal de suivi est une configuration qui permet de délivrer des événements à un compartiment Amazon S3 spécifié. CloudTrail délivre généralement des fichiers journaux dans les 15 minutes suivant l'activité du compte.

Note

Si vous ne configurez pas de journal de suivi, vous pouvez toujours afficher les événements les plus récents dans la console CloudTrail dans Event history (Historique des événements).

Vous pouvez créer deux types de journaux de suivi pour un compte AWS : un journal de suivi qui s'applique à toutes les régions ou un journal de suivi qui s'applique à une région. Par défaut, lorsque vous créez un journal de suivi dans la console, il s'applique à toutes les régions.

En outre, 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 :

Entrées de fichier journal Amazon RDS

Les fichiers journaux CloudTrail contiennent une ou plusieurs entrées de journal. Les fichiers journaux CloudTrail ne sont pas une série ordonnée des appels d'API publics, ils n'apparaissent donc pas dans un ordre spécifique.

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

{ "eventVersion": "1.04", "userIdentity": { "type": "IAMUser", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::123456789012:user/johndoe", "accountId": "123456789012", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "userName": "johndoe" }, "eventTime": "2018-07-30T22:14:06Z", "eventSource": "rds.amazonaws.com", "eventName": "CreateDBInstance", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "aws-cli/1.15.42 Python/3.6.1 Darwin/17.7.0 botocore/1.10.42", "requestParameters": { "enableCloudwatchLogsExports": [ "audit", "error", "general", "slowquery" ], "dBInstanceIdentifier": "test-instance", "engine": "mysql", "masterUsername": "myawsuser", "allocatedStorage": 20, "dBInstanceClass": "db.m1.small", "masterUserPassword": "****" }, "responseElements": { "dBInstanceArn": "arn:aws:rds:us-east-1:123456789012:db:test-instance", "storageEncrypted": false, "preferredBackupWindow": "10:27-10:57", "preferredMaintenanceWindow": "sat:05:47-sat:06:17", "backupRetentionPeriod": 1, "allocatedStorage": 20, "storageType": "standard", "engineVersion": "5.6.39", "dbInstancePort": 0, "optionGroupMemberships": [ { "status": "in-sync", "optionGroupName": "default:mysql-5-6" } ], "dBParameterGroups": [ { "dBParameterGroupName": "default.mysql5.6", "parameterApplyStatus": "in-sync" } ], "monitoringInterval": 0, "dBInstanceClass": "db.m1.small", "readReplicaDBInstanceIdentifiers": [], "dBSubnetGroup": { "dBSubnetGroupName": "default", "dBSubnetGroupDescription": "default", "subnets": [ { "subnetAvailabilityZone": {"name": "us-east-1b"}, "subnetIdentifier": "subnet-cbfff283", "subnetStatus": "Active" }, { "subnetAvailabilityZone": {"name": "us-east-1e"}, "subnetIdentifier": "subnet-d7c825e8", "subnetStatus": "Active" }, { "subnetAvailabilityZone": {"name": "us-east-1f"}, "subnetIdentifier": "subnet-6746046b", "subnetStatus": "Active" }, { "subnetAvailabilityZone": {"name": "us-east-1c"}, "subnetIdentifier": "subnet-bac383e0", "subnetStatus": "Active" }, { "subnetAvailabilityZone": {"name": "us-east-1d"}, "subnetIdentifier": "subnet-42599426", "subnetStatus": "Active" }, { "subnetAvailabilityZone": {"name": "us-east-1a"}, "subnetIdentifier": "subnet-da327bf6", "subnetStatus": "Active" } ], "vpcId": "vpc-136a4c6a", "subnetGroupStatus": "Complete" }, "masterUsername": "myawsuser", "multiAZ": false, "autoMinorVersionUpgrade": true, "engine": "mysql", "cACertificateIdentifier": "rds-ca-2015", "dbiResourceId": "db-ETDZIIXHEWY5N7GXVC4SH7H5IA", "dBSecurityGroups": [], "pendingModifiedValues": { "masterUserPassword": "****", "pendingCloudwatchLogsExports": { "logTypesToEnable": [ "audit", "error", "general", "slowquery" ] } }, "dBInstanceStatus": "creating", "publiclyAccessible": true, "domainMemberships": [], "copyTagsToSnapshot": false, "dBInstanceIdentifier": "test-instance", "licenseModel": "general-public-license", "iAMDatabaseAuthenticationEnabled": false, "performanceInsightsEnabled": false, "vpcSecurityGroups": [ { "status": "active", "vpcSecurityGroupId": "sg-f839b688" } ] }, "requestID": "daf2e3f5-96a3-4df7-a026-863f96db793e", "eventID": "797163d3-5726-441d-80a7-6eeb7464acd4", "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }

Comme indiqué dans l'élément userIdentity de l'exemple précédent, chaque événement ou entrée de 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 informations d'identification utilisateur racine ou IAM.

  • Si la demande a été effectuée avec des informations d'identification 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 de plus amples informations sur userIdentity, veuillez consulter la section Élément userIdentity CloudTrail. Pour plus d'informations sur CreateDBInstance et d'autres actions Amazon RDS, consultez Amazon RDS API Reference.