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.
Chiffrer les résultats de requête avec AWS Key Management Service
Par défaut, CloudWatch Logs chiffre les résultats enregistrés de vos requêtes CloudWatch Logs Insights en utilisant la méthode de chiffrement côté serveur CloudWatch Logs par défaut. Vous pouvez choisir d'utiliser une AWS KMS clé pour chiffrer ces résultats à la place. Si vous associez une AWS KMS clé à vos résultats de chiffrement, CloudWatch Logs utilise cette clé pour chiffrer les résultats enregistrés de toutes les requêtes du compte.
Si vous dissociez ultérieurement une clé des résultats de votre requête, CloudWatch Logs revient à la méthode de cryptage par défaut pour les requêtes ultérieures. Mais les requêtes exécutées alors que la clé était associée sont toujours chiffrées avec cette clé. CloudWatch Les journaux peuvent toujours renvoyer ces résultats une fois la clé KMS dissociée, car ils CloudWatch peuvent continuer à faire référence à la clé. Toutefois, si la clé est désactivée ultérieurement, CloudWatch Logs ne pourra pas lire les résultats de la requête chiffrés avec cette clé.
Important
CloudWatch Logs ne prend en charge que les clés KMS symétriques. N'utilisez pas de clé asymétrique pour chiffrer vos résultats de requête. Pour plus d'informations, consultez Utilisation des clés symétriques et asymétriques.
Limites
-
Pour effectuer les étapes suivantes, vous devez disposer des autorisations suivantes :
kms:CreateKey
,kms:GetKeyPolicy
etkms:PutKeyPolicy
. -
L'association d'une clé à vos résultats de requête ou sa dissociation peut mettre jusqu'à cinq minutes à prendre effet.
-
Si vous révoquez l'accès de CloudWatch Logs à une clé associée ou si vous supprimez une clé KMS associée, vos données chiffrées dans CloudWatch Logs ne peuvent plus être récupérées.
-
Vous ne pouvez pas utiliser la CloudWatch console pour associer une clé, vous devez utiliser l'API AWS CLI or CloudWatch Logs.
Étape 1 : Création d'un AWS KMS key
Pour créer une clé KMS, utilisez la commande create-key suivante :
aws kms create-key
La sortie contient l'ID de clé et l'Amazon Resource Name (ARN) de la clé. Voici un exemple de sortie :
{
"KeyMetadata": {
"Origin": "AWS_KMS",
"KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
"Description": "",
"KeyManager": "CUSTOMER",
"Enabled": true,
"CustomerMasterKeySpec": "SYMMETRIC_DEFAULT",
"KeyUsage": "ENCRYPT_DECRYPT",
"KeyState": "Enabled",
"CreationDate": 1478910250.94,
"Arn": "arn:aws:kms:us-west-2:123456789012:key/6f815f63-e628-448c-8251-e40cb0d29f59",
"AWSAccountId": "123456789012",
"EncryptionAlgorithms": [
"SYMMETRIC_DEFAULT"
]
}
}
Étape 2 : Définition des autorisations sur la clé KMS
Par défaut, toutes les clés KMS sont privées. Seul le propriétaire de la ressource peut l'utiliser pour chiffrer et déchiffrer des données. Cependant, le propriétaire de la ressource peut accorder à d'autres utilisateurs et ressources des autorisations d'accès à la clé. Au cours de cette étape, vous autorisez le principal du service CloudWatch Logs à utiliser la clé. Ce principal de service doit se trouver dans la même AWS région que celle où la clé est stockée.
Il est recommandé de limiter l'utilisation de la clé aux seuls AWS comptes que vous spécifiez.
Tout d'abord, enregistrez la politique par défaut pour votre clé KMS à policy.json
l'aide de la get-key-policycommande suivante :
aws kms get-key-policy --key-id
key-id
--policy-name default --output text > ./policy.json
Ouvrez le fichier policy.json
dans un éditeur de texte et ajoutez la section en gras à partir de l'une des instructions suivantes. Séparez l'instruction existante de la nouvelle instruction par une virgule. Ces instructions utilisent Condition
des sections pour renforcer la sécurité de la AWS KMS clé. Pour de plus amples informations, veuillez consulter AWS KMS Clés et contexte de chiffrement.
La Condition
section de cet exemple limite l'utilisation de la AWS KMS clé pour les résultats de la requête CloudWatch Logs Insights dans le compte spécifié.
{ "Version": "2012-10-17", "Id": "key-default-1", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
account_ID
:root" }, "Action": "kms:*", "Resource": "*" }, { "Effect": "Allow", "Principal": { "Service": "logs.region
.amazonaws.com" }, "Action": [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*" ], "Resource": "*", "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:logs:region
:account_ID
:query-result:*" }, "StringEquals": { "aws:SourceAccount": "Your_account_ID
" } } } ] }
Enfin, ajoutez la politique mise à jour à l'aide de la put-key-policycommande suivante :
aws kms put-key-policy --key-id
key-id
--policy-name default --policy file://policy.json
Étape 3 : Associer une clé KMS à vos résultats de requête
Pour associer la clé KMS aux résultats de la requête dans le compte
Utilisez la commande disassociate-kms-key comme suit :
aws logs associate-kms-key --resource-identifier "arn:aws:logs:
region
:account-id
:query-result:*" --kms-key-id "key-arn
"
Étape 4 : Dissocier une clé des résultats de requête dans le compte
Pour dissocier la clé KMS associée aux résultats de la requête, utilisez la disassociate-kms-keycommande suivante :
aws logs disassociate-kms-key --resource-identifier "arn:aws:logs:
region
:account-id
:query-result:*"