Passer au contenu

Comment puis-je identifier l'utilisation passée de mes clés AWS KMS ?

Lecture de 2 minute(s)
0

Je souhaite identifier l'utilisation passée de mes clés AWS Key Management Service (AWS KMS).

Résolution

Vous ne pouvez pas identifier directement les clés KMS inactives. Toutefois, vous pouvez utiliser AWS CloudTrail et Amazon Athena pour suivre l'utilisation des clés.

Utiliser l’historique des événements CloudTrail

Vous pouvez utiliser la console CloudTrail pour consulter les événements de gestion des 90 derniers jours dans une région AWS. Après 90 jours, les événements n'apparaissent plus dans l'historique des événements.

Procédez comme suit :

  1. Ouvrez la console CloudTrail.
  2. Choisissez votre région.
  3. Dans le volet de navigation, sélectionnez Historique des événements.
  4. Sur la page Historique des événements, dans Attributs de recherche, sélectionnez Source de l'événement. Puis, dans le champ de recherche, saisissez kms.amazonaws.com pour afficher les appels d'API AWS KMS.
  5. Dans le champ Filtrer par date et heure, sélectionnez une plage de temps pour consulter l'activité récente.

Vous pouvez consulter l'enregistrement d'événement pour chaque événement afin d'identifier l'ARN de clé, l'identité de l'utilisateur et le service d'invocation.

Remarque : Si vous avez plusieurs événements AWS KMS, cette option peut prendre du temps.

Utiliser Athena pour interroger les journaux CloudTrail

Procédez comme suit :

  1. Créez une table Athena à partir des journaux CloudTrail.
  2. Pour récupérer les appels d'API AWS KMS et les filtrer par ARN de clé, exécutez la requête Athena suivante :
    SELECT
        eventName,
        COUNT(eventName) AS NumberOfChanges,
        eventSource,
        resources
    FROM
        "default"."your-table-name"
    WHERE
        eventSource = 'kms.amazonaws.com' AND
      ARRAY_JOIN(TRANSFORM(resources, x -> x.arn), '') LIKE '%kms-key-id%'
        OR CAST(requestParameters AS VARCHAR) LIKE '%kms-key-id%'
    GROUP BY
        eventName,
        eventSource,
        resources
    ORDER BY
        NumberOfChanges DESC

Remarque : Dans l'exemple de code précédent, remplacez les valeurs par le nom de votre table Athena et les valeurs de l'ID de clé KMS.

Pour filtrer selon une période spécifique, ajoutez une condition à la clause WHERE :

AND eventtime >= 'YYYY-MM-DDT00:00:00Z' AND eventtime <= 'YYYY-MM-DDT00:00:00Z'

Remarque : Pour Athena, les requêtes que vous exécutez vous sont facturées.

Informations connexes

Journalisation des appels d'API AWS KMS avec AWS CloudTrail

LookupEvents

Surveiller les clés AWS KMS

Déterminer l'utilisation passée d'une clé KMS

AWS OFFICIELA mis à jour il y a un an