Je souhaite que mon compartiment Amazon Simple Storage Service (Amazon S3) ne stocke que les objets chiffrés par une clé AWS Key Management Service (AWS KMS) depuis mon compte AWS. Comment puis-je être sûr que seuls ces objets peuvent être chargés dans mon compartiment ?
Brève description
Utilisez le chiffrement par défaut d'Amazon S3 pour vous assurer que les objets chargés sans en-têtes de chiffrement (tels que x-amz-server-side-encryption et x-amz-server-side-encryption-aws-kms-key-id) sont chiffrés par AWS KMS avant d'être stockés dans votre compartiment S3. Utilisez ensuite la stratégie de compartiment pour vous assurer que les objets dotés d'un autre paramètre de chiffrement (AES-256) ne peuvent pas être chargés et que les objets chargés avec le chiffrement AWS KMS contiennent un ID de clé provenant de votre compte AWS.
Remarque : Pour charger un objet chiffré par une clé AWS KMS, la clé et le compartiment S3 doivent se trouver dans la même région AWS.
Résolution
Chiffrement par défaut d'Amazon S3
Suivez ces étapes pour configurer le chiffrement par défaut d'Amazon S3 pour votre compartiment sur AWS KMS à l'aide de la console Amazon S3 :
- Ouvrez la console Amazon S3.
- Choisissez le compartiment que vous souhaitez utiliser pour les objets chiffrés par AWS KMS.
- Sélectionnez la vue Propriétés.
- Choisissez Chiffrement par défaut, puis sélectionnez AWS-KMS.
- Sélectionnez Enregistrer.
Remarque : Pour activer le chiffrement par défaut d'Amazon S3 à l'aide de l'API REST, de l'interface de la ligne de commande AWS (AWS CLI) ou d'un kit SDK AWS, consultez la section Configuration du chiffrement par défaut.
Stratégie de compartiment
Suivez ces étapes pour configurer votre stratégie de compartiment afin de refuser les demandes de chargement qui utilisent un autre paramètre de chiffrement (AES-256) ou qui utilisent le chiffrement AWS KMS, mais contiennent un ID de clé qui ne provient pas de votre compte AWS :
- Ouvrez la console Amazon S3.
- Choisissez le compartiment que vous souhaitez utiliser pour les objets chiffrés par AWS KMS.
- Choisissez la vue Autorisations.
- Sélectionnez Stratégie de compartiment.
- Saisissez une stratégie de compartiment similaire à cet exemple.
Remarque : Remplacez samplebucketname par le nom de votre compartiment et remplacez us-east-1:111122223333 par la région AWS correcte et votre ID de compte AWS.
{
"Version": "2012-10-17",
"Id": "PutObjPolicy",
"Statement": [
{
"Sid": "DenySSE-S3",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::samplebucketname/*",
"Condition": {
"StringEquals": {
"s3:x-amz-server-side-encryption": "AES256"
}
}
},
{
"Sid": "RequireKMSEncryption",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::samplebucketname/*",
"Condition": {
"StringNotLikeIfExists": {
"s3:x-amz-server-side-encryption-aws-kms-key-id": "arn:aws:kms:us-east-1:111122223333:key/*"
}
}
}
]
}
Informations connexes
Comment Amazon Simple Storage Service (Amazon S3) utilise AWS KMS