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.
Déterminer l'utilisation passée d'une clé KMS
À des fins de surveillance et d'audit, vous souhaiterez peut-être savoir comment une clé KMS a été utilisée dans le passé. Par exemple, vous souhaiterez peut-être déterminer si une clé KMS est toujours utilisée activement avant de la désactiver ou de planifier sa suppression, ou identifier les clés non utilisées dans votre compte. Les stratégies suivantes peuvent vous aider à déterminer l'utilisation passée d'une clé KMS.
Avertissement
Ces stratégies visant à déterminer l'utilisation passée ne sont efficaces que pour les AWS directeurs et les AWS KMS opérations. Ils ne peuvent pas détecter l'utilisation de la clé qui n'implique pas d'appels d'API à AWS KMS. Une fois qu'une clé de données est générée à partir d'une clé KMS symétrique, son utilisation ultérieure pour le chiffrement local ou le déchiffrement en dehors de celle-ci n' AWS KMS est pas reflétée dans les dernières informations d'utilisation. De même, ces stratégies ne peuvent pas détecter l'utilisation de la clé publique d'une clé KMS asymétrique en dehors de AWS KMS. Pour plus de détails sur les risques particuliers liés à la suppression de clés KMS asymétriques utilisées pour le chiffrement de la clé publique, en particulier la création de textes chiffrés qui ne peuvent pas être déchiffrés, veuillez consulter Deleting asymmetric KMS keys.
Rubriques
Examinez les autorisations clés KMS pour déterminer l'étendue de l'utilisation potentielle
Déterminer qui ou quoi a actuellement accès à une clé KMS peut vous aider à déterminer dans quelle mesure la clé KMS est utilisée et si elle est toujours nécessaire. Pour déterminer qui ou quoi a actuellement accès à une clé KMS, consultezDéterminer l'accès à AWS KMS keys.
Examinez la dernière opération cryptographique effectuée avec une clé KMS
AWS KMS fournit des informations d'utilisation sur la dernière opération cryptographique réussie effectuée avec chaque clé KMS, ainsi que l'ID d' CloudTrail événement associé. Cela peut faciliter le processus d'identification des clés KMS non utilisées. Vous pouvez également utiliser la clé de TrailingDaysWithoutKeyUsage condition kms : dans les politiques clés pour empêcher la désactivation accidentelle des clés récemment utilisées ou la planification de leur suppression.
Vous pouvez consulter la dernière opération cryptographique réussie effectuée avec une clé KMS à l'aide de l'API Console de gestion AWS AWS CLI, ou de l' AWS KMS API.
Note
Certains AWS services créent des ressources qui dépendent d'une clé KMS pour la protection des données, mais n'invoquent pas fréquemment des opérations cryptographiques sur cette clé. Par exemple, le service Amazon EC2 appelle AWS KMS pour déchiffrer la clé de données d'un volume Amazon EBS chiffré uniquement lorsque le volume est attaché à une instance. Dans ces cas, vous ne devez pas vous fier uniquement aux dernières informations d'utilisation pour déterminer si une clé KMS peut être supprimée. Si la clé KMS protégeant un volume Amazon EBS est supprimée, le volume Amazon EBS déjà attaché ne sera pas perturbé, mais les tentatives ultérieures visant à associer ce volume Amazon EBS chiffré à une autre instance Amazon EC2 échoueront.
Comprendre la période de suivi de l'utilisation
AWS KMS suit uniquement la dernière opération cryptographique réussie effectuée avec chaque clé KMS. Il peut y avoir un délai pouvant aller jusqu'à une heure entre le moment où une opération cryptographique se produit et le moment où l'utilisation est enregistrée.
Lorsque vous vérifiez les dernières informations d'utilisation d'une clé KMS, la réponse inclut une date de début de suivi. TrackingStartDateIl s'agit de la date à partir de laquelle l'activité cryptographique AWS KMS a commencé à être enregistrée pour cette clé. Utilisez cette date avec la date de création de la clé pour déterminer son historique d'utilisation en comparant la date de création de la clé à la date de début du suivi :
-
Si les dernières informations d'utilisation sont présentes, la clé a été utilisée pour une opération cryptographique depuis le début du suivi. La réponse inclut le type d'opération, l'horodatage et l'ID d' AWS CloudTrail événement associé.
-
Si les dernières informations d'utilisation sont vides, aucune opération cryptographique n'a été enregistrée sur la clé depuis le début du suivi. Comparez la date de création de la clé avec celle
TrackingStartDatepour déterminer ce que cela signifie :-
Si la clé a été créée le ou après
TrackingStartDate, elle n'a pas été utilisée pour une opération cryptographique depuis sa création. -
Si la clé a été créée avant le
TrackingStartDate, il n'existe aucune trace de son utilisation depuis le début du suivi. Cependant, la clé a peut-être été utilisée avant le début du suivi. Pour déterminer si la clé a déjà été utilisée, examinez vos anciens AWS CloudTrail journaux.
-
Avertissement
Ne vous fiez pas uniquement aux dernières informations d'utilisation lorsque vous supprimez des clés non utilisées. Désactivez plutôt la touche d'abord et surveillez AWS CloudTrail les DisabledException entrées qui indiquent des tentatives d'utilisation de la touche alors qu'elle est désactivée. Cela permet d'identifier les dépendances potentielles et les défaillances de charge de travail. AWS CloudTrail reste la source officielle pour tous les appels d'API effectués vers votre clé.
Opérations cryptographiques suivies
Seules les opérations cryptographiques réussies suivantes sont suivies et enregistrées pour communiquer les dernières informations d'utilisation. Non-cryptographic les opérations sont exclues.
-
Decrypt -
DeriveSharedSecret -
Encrypt -
GenerateDataKey -
GenerateDataKeyPair -
GenerateDataKeyPairWithoutPlaintext -
GenerateDataKeyWithoutPlaintext -
GenerateMac -
ReEncrypt -
Sign -
Verify -
VerifyMac
Autres considérations
Lorsque vous utilisez les informations d'utilisation, tenez compte des points suivants :
-
Multi-Region Clés KMS : pour les clés KMS multirégions, les clés principale et de réplique suivent indépendamment les dernières informations d'utilisation. Chaque clé d'un ensemble de clés multirégions conserve ses propres dernières informations d'utilisation.
-
ReEncrypt opérations — L'
ReEncryptopération utilise deux clés : une clé source pour le déchiffrement et une clé de destination pour le chiffrement. Les dernières informations d'utilisation sont enregistrées indépendamment pour les deux clés, chacune avec l'ID d' CloudTrail événement du compte du propriétaire de la clé concerné.
Vous pouvez consulter les dernières informations d'utilisation en utilisant les méthodes suivantes :
Vous pouvez consulter la dernière opération cryptographique réussie effectuée avec une clé KMS sur la page de détails de chaque clé KMS. Pour les procédures d'affichage de la page de détails d'une clé KMS, consultezAccédez aux informations clés du KMS et listez-les.
L'GetKeyLastUsageopération renvoie des informations d'utilisation sur la dernière opération cryptographique effectuée avec la clé KMS spécifiée. Pour identifier la clé KMS, utilisez l'ID de clé ou l'ARN de clé.
Par exemple, l'appel suivant GetKeyLastUsage permet de récupérer les informations d'utilisation d'une clé KMS avec l'ID 1234abcd-12ab-34cd-56ef-1234567890ab de clé.
$ aws kms get-key-last-usage --key-id "1234abcd-12ab-34cd-56ef-1234567890ab" { "KeyCreationDate": 1773253425.56, "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "TrackingStartDate": 1773253425.56, "KeyLastUsage": { "Timestamp": 1773253497.0, "Operation": "Encrypt", "KmsRequestId": "040cce3e-9ef3-4651-b8cf-e47c9bafdc9b", "CloudTrailEventId": "2cfd5892-ea8c-4342-ad49-4b9594b06a8b" } }
En revanche, l'appel suivant à ne GetKeyLastUsage révèle aucune information d'utilisation pour une clé KMS avec l'ID de clé0987dcba-09fe-87dc-65ba-ab0987654321.
$ aws kms get-key-last-usage --key-id "0987dcba-09fe-87dc-65ba-ab0987654321" { "KeyCreationDate": 1672531200.0, "KeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "TrackingStartDate": 1773253425.56, "KeyLastUsage": {} }
Examiner AWS CloudTrail journaux pour vérifier l'utilisation passée
Vous pouvez utiliser l'historique d'utilisation d'une clé KMS pour déterminer si vos textes chiffrés sont chiffrés sous une clé KMS particulière.
Toutes les activités de l' AWS KMS API sont enregistrées dans des fichiers AWS CloudTrail journaux. Si vous avez créé un historique CloudTrail dans la région où se trouve votre clé KMS, vous pouvez consulter vos fichiers CloudTrail journaux pour consulter l'historique de toutes les activités d' AWS KMS API pour une clé KMS particulière. Si vous n'avez pas de trace, vous pouvez toujours consulter les événements récents dans l'historique de vos CloudTrail événements. Pour plus de détails sur AWS KMS les utilisations CloudTrail, voirLogging AWS KMS Appels d'API avec AWS CloudTrail.
Les exemples suivants montrent les entrées de CloudTrail journal qui sont générées lorsqu'une clé KMS est utilisée pour protéger un objet stocké dans Amazon Simple Storage Service (Amazon S3). Dans cet exemple, l'objet est chargé sur Amazon S3 à l'aide de la fonction Protection des données à l'aide du chiffrement côté serveur à l'aide de clés KMS ()SSE-KMS. Lorsque vous chargez un objet sur Amazon S3 avec SSE-KMS, vous spécifiez la clé KMS à utiliser pour protéger l'objet. Amazon S3 utilise cette AWS KMS GenerateDataKey opération pour demander une clé de données unique pour l'objet, et cet événement de demande est connecté CloudTrail avec une entrée similaire à la suivante :
{ "eventVersion": "1.02", "userIdentity": { "type": "AssumedRole", "principalId": "AROACKCEVSQ6C2EXAMPLE:example-user", "arn": "arn:aws:sts::111122223333:assumed-role/Admins/example-user", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2015-09-10T23:12:48Z" }, "sessionIssuer": { "type": "Role", "principalId": "AROACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admins", "accountId": "111122223333", "userName": "Admins" } }, "invokedBy": "internal.amazonaws.com" }, "eventTime": "2015-09-10T23:58:18Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-west-2", "sourceIPAddress": "internal.amazonaws.com", "userAgent": "internal.amazonaws.com", "requestParameters": { "encryptionContext": {"aws:s3:arn": "arn:aws:s3:::example_bucket/example_object"}, "keySpec": "AES_256", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, "responseElements": null, "requestID": "cea04450-5817-11e5-85aa-97ce46071236", "eventID": "80721262-21a5-49b9-8b63-28740e7ce9c9", "readOnly": true, "resources": [{ "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "accountId": "111122223333" }], "eventType": "AwsApiCall", "recipientAccountId": "111122223333" }
Lorsque vous téléchargez ultérieurement cet objet depuis Amazon S3, Amazon S3 envoie une Decrypt demande pour déchiffrer la clé de données de l'objet AWS KMS à l'aide de la clé KMS spécifiée. Dans ce cas, vos fichiers CloudTrail journaux contiennent une entrée similaire à la suivante :
{ "eventVersion": "1.02", "userIdentity": { "type": "AssumedRole", "principalId": "AROACKCEVSQ6C2EXAMPLE:example-user", "arn": "arn:aws:sts::111122223333:assumed-role/Admins/example-user", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2015-09-10T23:12:48Z" }, "sessionIssuer": { "type": "Role", "principalId": "AROACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admins", "accountId": "111122223333", "userName": "Admins" } }, "invokedBy": "internal.amazonaws.com" }, "eventTime": "2015-09-10T23:58:39Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "internal.amazonaws.com", "userAgent": "internal.amazonaws.com", "requestParameters": { "encryptionContext": {"aws:s3:arn": "arn:aws:s3:::example_bucket/example_object"}}, "responseElements": null, "requestID": "db750745-5817-11e5-93a6-5b87e27d91a0", "eventID": "ae551b19-8a09-4cfc-a249-205ddba330e3", "readOnly": true, "resources": [{ "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "accountId": "111122223333" }], "eventType": "AwsApiCall", "recipientAccountId": "111122223333" }
En évaluant ces entrées de journal, vous pouvez éventuellement déterminer l'utilisation passée d'une clé KMS particulière et cela peut vous aider à déterminer si vous souhaitez la supprimer ou non.
Pour voir d'autres exemples de la façon dont l'activité des AWS KMS API apparaît dans vos fichiers CloudTrail journaux, rendez-vous surLogging AWS KMS Appels d'API avec AWS CloudTrail. Pour plus d'informations, CloudTrail consultez le Guide de AWS CloudTrail l'utilisateur.
Considérations relatives aux coûts liés aux CloudTrail requêtes
Lorsque vous interrogez CloudTrail des journaux à l'aide d'Amazon CloudWatch Logs Insights, Amazon CloudWatch Logs Insights vous facture en fonction de la quantité de données numérisées. Les requêtes volumineuses et illimitées peuvent entraîner des coûts étonnamment élevés. Pour gérer les coûts, limitez chaque requête à la plage de temps pertinente la plus étroite possible. Filtrez par nom d'événement, ARN de ressource ou ID principal. Avant de lancer une requête, pensez à examiner d'abord la dernière opération cryptographique réussie réalisée avec une clé KMS afin d'éviter des coûts de requête inutiles. Vous pouvez également définir des alertes budgétaires dans AWS Budgets pour détecter un volume de requêtes inattendu. Pour plus d'informations sur la tarification, consultez la rubrique CloudWatch Tarification Amazon