Créez un magasin de données d'événements pour les éléments de configuration avec la console - AWS CloudTrail

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.

Créez un magasin de données d'événements pour les éléments de configuration avec la console

Vous pouvez créer un entrepôt de données d'événement pour inclure des éléments de configuration AWS Config et utiliser l'entrepôt de données d'événement pour examiner les modifications non conformes apportées à vos environnements de production. Avec un magasin de données d'événement, vous pouvez associer les règles non conformes aux utilisateurs et aux ressources associés aux modifications. Un élément de configuration représente une point-in-time vue des attributs d'une AWS ressource prise en charge qui existe dans votre compte. AWS Config crée un élément de configuration chaque fois qu'il détecte une modification d'un type de ressource qu'il enregistre. AWS Config crée également des éléments de configuration lorsqu'un instantané de configuration est capturé.

Vous pouvez utiliser les deux AWS Config et CloudTrail Lake pour exécuter des requêtes sur vos éléments de configuration. Vous pouvez l'utiliser AWS Config pour interroger l'état de configuration actuel des AWS ressources en fonction des propriétés de configuration d'un seul Compte AWS ou de plusieurs comptes et régions. Région AWS En revanche, vous pouvez utiliser CloudTrail Lake pour effectuer des requêtes sur diverses sources de données telles que CloudTrail des événements, des éléments de configuration et des évaluations de règles. CloudTrail Les requêtes Lake couvrent tous les éléments AWS Config de configuration, y compris la configuration des ressources et l'historique de conformité.

La création d'un magasin de données d'événements pour les éléments de configuration n'a aucune incidence sur les requêtes AWS Config avancées existantes, ni sur AWS Config les agrégateurs configurés. Vous pouvez continuer à exécuter des requêtes avancées à l'aide AWS Config de fichiers d'historique et AWS Config à les fournir à vos compartiments S3.

CloudTrail Les magasins de données sur les événements de Lake sont payants. 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 et la gestion des coûts du lac, voir AWS CloudTrail Tarification etGestion des coûts CloudTrail du lac.

Limites

Les limites suivantes s'appliquent aux magasins de données d'événement pour les éléments de configuration.

  • Aucune prise en charge des éléments de configuration personnalisés

  • Aucune prise en charge du filtrage d'événement à l'aide de sélecteurs d'événements avancés

Prérequis

Avant de créer votre banque de données d'événements, configurez AWS Config l'enregistrement pour tous vos comptes et régions. Vous pouvez utiliser Quick Setup, une fonctionnalité de AWS Systems Manager, pour créer rapidement un enregistreur de configuration alimenté par AWS Config.

Note

Des frais d'utilisation du service vous sont facturés lorsque vous AWS Config commencez à enregistrer des configurations. Pour plus d’informations sur la tarification, consultez Tarification d’AWS Config. Pour en savoir plus sur la gestion de l'enregistreur de configuration, consultez Managing the Configuration Recorder (Gestion de l'enregistreur de configuration) dans le Guide du développeur AWS Config .

En outre, les actions suivantes sont recommandées, mais ne sont pas obligatoires pour créer un magasin de données d'événement.

  • Configurez un compartiment Amazon S3 pour recevoir un instantané de configuration sur demande et un historique de configuration. Pour plus d'informations sur les instantanés, consultez Managing the Delivery Channel (Gestion du canal d'envoi) et Delivering Configuration Snapshot to an Amazon S3 Bucket (Envoi d'un instantané de configuration à un compartiment Amazon S3) dans le Guide du développeur AWS Config .

  • Spécifiez les règles que vous souhaitez utiliser AWS Config pour évaluer les informations de conformité pour les types de ressources enregistrés. Plusieurs exemples de requêtes CloudTrail Lake AWS Config nécessitent d' AWS Config Rules évaluer l'état de conformité de vos AWS ressources. Pour plus d'informations AWS Config Rules, consultez la section Évaluation des ressources avec AWS Config Rules dans le Guide du AWS Config développeur.

Créer un magasin de données d'événement pour les éléments de configuration

  1. Connectez-vous à la CloudTrail console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/cloudtrail/.

  2. Dans le panneau de navigation, sous Lake, choisissez Entrepôts de données d'événement.

  3. Choisissez Créer un magasin de données d’événement.

  4. Sur la page Configure event data store (Configurer un magasin de données d'événement), dans General details (Détails généraux), saisissez un nom pour le magasin de données d'événement. Un nom est obligatoire.

  5. Choisissez l’option de tarification que vous souhaitez utiliser pour votre 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 la période de conservation par défaut et maximale pour votre magasin de données d’événement. Pour plus d’informations, veuillez consulter Tarification d’AWS CloudTrail et Gestion des coûts CloudTrail du lac.

    Les options suivantes sont disponibles :

    • Tarif de rétention extensible d’un an : généralement recommandé si vous prévoyez d’ingérer moins de 25 To de données d’événement par mois et souhaitez une période de conservation flexible allant jusqu’à 10 ans. Pendant les 366 premiers jours (période de conservation par défaut), le stockage est inclus sans frais supplémentaires dans le prix d’ingestion. Après 366 jours, la rétention prolongée est disponible moyennant un pay-as-you-go prix. Il s’agit de l’option par défaut.

      • Période de conservation par défaut : 366 jours.

      • Période de conservation maximale : 3 653 jours

    • Tarif de rétention sur sept ans : recommandé si vous prévoyez d’ingérer plus de 25 To de données d’événement par mois et que vous avez besoin d’une période de conservation allant jusqu’à 7 ans. La conservation est incluse dans le prix d’ingestion sans frais supplémentaires.

      • Période de conservation par défaut : 2 557 jours.

      • Période de conservation maximale : 2 557 jours

  6. Spécifiez une période de conservation pour le magasin de données d’événement. Les périodes de conservation peuvent être comprises entre 7 jours et 3 653 jours (environ 10 ans) pour l’option de tarification de rétention extensible d’un an, ou entre 7 jours et 2 557 jours (environ sept ans) pour l’option de tarification de rétention sur sept ans.

    CloudTrail Lake détermine s'il convient de conserver un événement en vérifiant si celui-ci se situe dans la période de conservation spécifiée. eventTime Par exemple, si vous spécifiez une période de conservation de 90 jours, les événements CloudTrail seront supprimés lorsqu'ils datent eventTime de plus de 90 jours.

  7. (Facultatif) Pour activer le chiffrement en utilisant AWS Key Management Service, choisissez Utiliser le mien AWS KMS key. Choisissez Nouveau pour en AWS KMS key créer une pour vous, ou choisissez Existant pour utiliser une KMS clé existante. Dans Entrer un KMS alias, spécifiez un alias au format alias/MyAliasName. L'utilisation de votre propre KMS clé nécessite que vous modifiiez votre politique en matière de KMS clés pour autoriser le chiffrement et le déchiffrement des CloudTrail journaux. Pour plus d'informations, consultezConfigurer les politiques AWS KMS clés pour CloudTrail. CloudTrail prend également en charge les clés AWS KMS multirégionales. Pour plus d’informations, consultez la section Utilisation de clés multi-régions dans le Guide du développeur AWS Key Management Service .

    L'utilisation de votre propre KMS clé entraîne des AWS KMS coûts de chiffrement et de déchiffrement. Une fois que vous avez associé une banque de données d'événements à une KMS clé, la KMS clé ne peut pas être supprimée ou modifiée.

    Note

    Pour activer AWS Key Management Service le chiffrement pour le magasin de données d'événements d'une organisation, vous devez utiliser une KMS clé existante pour le compte de gestion.

  8. (Facultatif) Si vous souhaitez interroger les données de votre événement à l’aide d’Amazon Athena, choisissez Activer dans Fédération de requêtes Lake. La fédération vous permet de visualiser les métadonnées associées au magasin de données d'événements dans le catalogue de AWS Glue données et d'exécuter SQL des requêtes sur les données d'événements dans Athena. Les métadonnées des tables stockées dans le catalogue de AWS Glue données permettent au moteur de requête Athena de savoir comment rechercher, lire et traiter les données que vous souhaitez interroger. Pour de plus amples informations, veuillez consulter Fédérer un magasin de données d’événement.

    Pour activer la fédération de requêtes Lake, choisissez Activer, puis procédez comme suit :

    1. Choisissez si vous souhaitez créer un nouveau rôle ou utiliser un IAM rôle existant. AWS Lake Formationutilise ce rôle pour gérer les autorisations pour le magasin de données d'événements fédéré. Lorsque vous créez un nouveau rôle à l'aide de la CloudTrail console, il en crée CloudTrail automatiquement un avec les autorisations requises. Si vous choisissez un rôle existant, assurez-vous que la politique du rôle fournit les autorisations minimales requises.

    2. Si vous créez un rôle, saisissez un nom pour identifier le rôle.

    3. Si vous utilisez un rôle existant, choisissez le rôle que vous souhaitez utiliser. Le rôle doit exister dans votre compte.

  9. (Facultatif) Dans la zone Balises, vous pouvez ajouter jusqu’à 50 paires clé-valeur de balise pour vous aider à identifier, trier et contrôler l’accès à votre magasin de données d’événement. Pour plus d'informations sur l'utilisation des IAM politiques pour autoriser l'accès à un magasin de données d'événements en fonction de balises, consultezExemples : rejeter l'accès à la création ou à la suppression de magasins de données d'événement en fonction des identifications. Pour plus d'informations sur la manière dont vous pouvez utiliser les balises AWS, consultez la section Marquage de vos AWS ressources dans le Guide de l'utilisateur AWS des ressources de balisage.

  10. Choisissez Suivant.

  11. Sur la page Choisir les événements, sélectionnez Événements AWS , puis Éléments de configuration.

  12. CloudTrail stocke la ressource du magasin de données d'événements dans la région dans laquelle vous l'avez créée, mais par défaut, les éléments de configuration collectés dans le magasin de données proviennent de toutes les régions de votre compte dont l'enregistrement est activé. En option, vous pouvez sélectionner Include only the current region in my event data store (Inclure uniquement la région actuelle dans mon magasin de données d'événement) pour inclure uniquement les éléments de configuration qui sont capturés dans la région actuelle. Si vous ne choisissez pas cette option, votre magasin de données d'événement inclut les éléments de configuration de toutes les régions dont l'enregistrement est activé.

  13. Pour que votre banque de données événementielles collecte les éléments de configuration de tous les comptes d'une AWS Organizations organisation, sélectionnez Activer pour tous les comptes de mon organisation. Vous devez être connecté au compte de gestion ou au compte d'administrateur délégué de l'organisation pour créer un magasin de données d'événement qui collecte les éléments de configuration pour une organisation.

  14. Choisissez Next (Suivant) pour examiner vos préférences.

  15. Sur la page Review and create (Vérifier et créer), examinez vos choix. Choisissez Modifier (Edit) pour apporter des modifications à la section. Lorsque vous êtes prêt à créer le magasin de données d’événement, choisissez Créer un magasin de données d’événement.

  16. Le nouvel entrepôt de données d'événement est visible dans la table Entrepôts de données d'événement sur la page Entrepôts de données d'événement.

    À partir de ce moment, le magasin de données d’événement capture les éléments de configuration. Les éléments de configuration qui ont eu lieu avant que vous ne créiez le magasin de données d'événement ne sont pas dans le magasin de données d'événement.

Exemples de requêtes

Vous pouvez désormais exécuter des requêtes sur votre magasin de données d’événement. L'onglet Exemples de requêtes de la CloudTrail console fournit des exemples de requêtes pour vous aider à démarrer. Vous trouverez ci-dessous quelques exemples de requêtes que vous pouvez exécuter sur le magasin de données d'événement de votre élément de configuration.

Description Requête
Trouvez quel utilisateur a effectué une action qui a entraîné un statut de non-conformité en joignant un magasin de données d'événements d'un élément de configuration à un magasin de données d' CloudTrail événements.
SELECT element_at(config1.eventData.configuration, 'targetResourceId') as targetResourceId, element_at(config1.eventData.configuration, 'complianceType') as complianceType, config2.eventData.resourceType, cloudtrail.userIdentity FROM config_event_data_store_ID as config1 JOIN config_event_data_store_ID as config2 on element_at(config1.eventData.configuration, 'targetResourceId') = config2.eventData.resourceId JOIN cloudtrail_event_data_store_ID as cloudtrail on config2.eventData.arn = element_at(cloudtrail.resources, 1).arn WHERE element_at(config1.eventData.configuration, 'configRuleList') is not null AND element_at(config1.eventData.configuration, 'complianceType') = 'NON_COMPLIANT' AND cloudtrail.eventTime > '2022-11-14 00:00:00' AND config2.eventData.resourceType = 'AWS::DynamoDB::Table'
Trouvez toutes les AWS Config règles et renvoyez l'état de conformité à partir des éléments de configuration générés le jour précédent.
SELECT eventData.configuration, eventData.accountId, eventData.awsRegion, eventData.resourceName, eventData.resourceCreationTime, element_at(eventData.configuration,'complianceType') AS complianceType, element_at(eventData.configuration, 'configRuleList') AS configRuleList, element_at(eventData.configuration, 'resourceId') AS resourceId, element_at(eventData.configuration, 'resourceType') AS resourceType FROM config_event_data_store_ID WHERE eventData.resourceType = 'AWS::Config::ResourceCompliance' AND eventTime > '2022-11-22 00:00:00' ORDER BY eventData.resourceCreationTime DESC limit 10
Trouvez le nombre total de AWS Config ressources regroupées par type de ressource, ID de compte et région.
SELECT eventData.resourceType, eventData.awsRegion, eventData.accountId, COUNT (*) AS resourceCount FROM config_event_data_store_ID WHERE eventTime > '2022-11-22 00:00:00' GROUP BY eventData.resourceType, eventData.awsRegion, eventData.accountId
Trouvez l'heure de création des ressources pour tous les éléments de AWS Config configuration générés à une date précise.
SELECT eventData.configuration, eventData.accountId, eventData.awsRegion, eventData.resourceId, eventData.resourceName, eventData.resourceType, eventData.availabilityZone, eventData.resourceCreationTime FROM config_event_data_store_ID WHERE eventTime > '2022-11-16 00:00:00' AND eventTime < '2022-11-17 00:00:00' ORDER BY eventData.resourceCreationTime DESC limit 10;

Pour plus d'informations sur la création et la modification des requêtes, consultez Création ou modification d'une requête à l'aide de la CloudTrail console.

Schéma des éléments de configuration

Le tableau suivant décrit les éléments de schéma obligatoires et facultatifs qui correspondent à ceux des enregistrements d'éléments de configuration. Le contenu de eventData est fourni par vos éléments de configuration ; les autres champs sont fournis par CloudTrail après ingestion.

CloudTrail le contenu des enregistrements d'événements est décrit plus en détail dansCloudTrail enregistrer le contenu.

Champs fournis par CloudTrail After ingestion
Nom de champ Type d’entrée Exigence Description
eventVersion chaîne Obligatoire

Version du format de l' AWS événement.

eventCategory chaîne Obligatoire

Catégorie de l'événement. Pour les éléments de configuration, la valeur valide est ConfigurationItem.

eventType chaîne Obligatoire

Type d’événement. Pour les éléments de configuration, la valeur valide est AwsConfigurationItem.

eventID chaîne Obligatoire

ID unique pour un événement.

eventTime

chaîne

Obligatoire

L'horodatage de l'événement, au yyyy-MM-DDTHH:mm:ss format, en temps universel coordonné ()UTC.

awsRegion chaîne Obligatoire

Région AWS À laquelle attribuer un événement.

recipientAccountId chaîne Obligatoire

Représente l' Compte AWS ID qui a reçu cet événement.

addendum

addendum

Facultatif

Affiche des informations sur la raison pour laquelle un événement a été retardé. Si des informations manquaient dans un événement existant, le bloc d'addendum inclut les informations manquantes et la raison de leur absence.

Les champs dans eventData sont fournis par vos éléments de configuration
Nom de champ Type d’entrée Exigence Description
eventData

-

Obligatoire Les champs eventData sont fournis par vos éléments de configuration.
  • configurationItemVersion

chaîne Facultatif

Version de l'élément de configuration provenant de sa source.

  • configurationItemCaptureHeure

chaîne Facultatif

Heure à laquelle l'enregistrement de configuration a été lancé.

  • configurationItemStatus

chaîne Facultatif

Statut de l'élément de configuration. Les valeurs valides sont OK, ResourceDiscovered, ResourceNotRecorded, ResourceDeleted et ResourceDeletedNotRecorded.

  • accountId

chaîne Facultatif

L' Compte AWS identifiant à 12 chiffres associé à la ressource.

  • resourceType

chaîne Facultatif

Type de AWS ressource. Pour plus d'informations sur les types de ressources valides, reportez-vous ConfigurationItemà la section AWS Config APIRéférence.

  • resourceId

chaîne Facultatif

L'ID de la ressource (par exemple., sg-xxxxxx).

  • resourceName

chaîne Facultatif

Nom personnalisé de la ressource, si disponible.

  • arn

chaîne Facultatif

Amazon Resource Name (ARN) associé à la ressource.

  • awsRegion

chaîne

Facultatif

L' Région AWS endroit où se trouve la ressource.

  • availabilityZone

chaîne

Facultatif

Zone de disponibilité associée à la ressource.

  • resourceCreationTime

chaîne

Facultatif

Horodatage de la création de la ressource.

  • configuration

JSON

Facultatif

Description de la configuration de la ressource.

  • supplementaryConfiguration

JSON

Facultatif

Attributs de configuration AWS Config renvoyés pour certains types de ressources afin de compléter les informations renvoyées pour le paramètre de configuration.

  • relatedEvents

chaîne

Facultatif

Liste des CloudTrail événementsIDs.

  • relationships

- Facultatif

Une liste de AWS ressources connexes.

    • name

chaîne

Facultatif

Type de relation avec la ressource associée.

    • resourceType

chaîne

Facultatif

Type de ressource de la ressource associée.

    • resourceId

chaîne

Facultatif

L'ID de la ressource associée (par exemple, sg-xxxxxx).

    • resourceName

chaîne

Facultatif

Nom personnalisé de la ressource associée, si disponible.

  • tags

JSON

Facultatif

Mappage des balises clé-valeur associées à la ressource.

L’exemple suivant montre la hiérarchie des éléments du schéma qui correspondent à ceux des enregistrements d’éléments de configuration.

{ "eventVersion": String, "eventCategory: String, "eventType": String, "eventID": String, "eventTime": String, "awsRegion": String, "recipientAccountId": String, "addendum": Addendum, "eventData": { "configurationItemVersion": String, "configurationItemCaptureTime": String, "configurationItemStatus": String, "configurationStateId": String, "accountId": String, "resourceType": String, "resourceId": String, "resourceName": String, "arn": String, "awsRegion": String, "availabilityZone": String, "resourceCreationTime": String, "configuration": { JSON, }, "supplementaryConfiguration": { JSON, }, "relatedEvents": [ String ], "relationships": [ struct{ "name" : String, "resourceType": String, "resourceId": String, "resourceName": String } ], "tags": { JSON } } } }