Je souhaite que mon compartiment S3 stocke uniquement les objets chiffrés avec ma clé KMS. Quelle est la marche à suivre ?

Date de la dernière mise à jour : 31/08/2018

Brève description

Utilisez le chiffrement par défaut Simple Storage Service (Amazon S3) pour vous assurer que les objets chargés sans en-têtes de chiffrement (par exemple 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. Ensuite, utilisez la stratégie de compartiment afin de vous assurer que les objets sans 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é 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 Amazon S3

Suivez ces étapes pour définir le chiffrement par défaut Amazon S3 de votre compartiment sur AWS KMS à l'aide de la console Amazon S3 :

  1. Ouvrez la console Simple Storage Service (Amazon S3).
  2. Choisissez le compartiment que vous souhaitez utiliser pour les objets chiffrés par AWS KMS.
  3. Choisissez la vue Properties (Propriétés).
  4. Choisissez Default encryption (Chiffrement par défaut), puis sélectionnez AWS-KMS.
  5. Choisissez Save (Enregistrer)

Remarque : pour activer le chiffrement par défaut d'Amazon S3 à l'aide de l'API REST, d'AWS Command Line Interface (AWS CLI) ou d'un kit AWS SDK, consultez la section Activation du chiffrement par défaut du compartiment Simple Storage Service (Amazon S3).

Politique de compartiment

Procédez comme suit pour configurer votre stratégie de compartiment de façon à 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é ne provenant pas de votre compte AWS :

  1. Ouvrez la console Simple Storage Service (Amazon S3).
  2. Choisissez le compartiment que vous souhaitez utiliser pour les objets chiffrés par AWS KMS.
  3. Choisissez la vue Permissions (Autorisations).
  4. Choisissez Bucket Policy (Politique de compartiment).
  5. Saisissez une politique de compartiment similaire à ce qui suit :
    Avertissement : Remplacez samplebucketname par le nom de votre compartiment et remplacez us-east-1:111122223333 par la région AWS et l'ID de compte AWS pertinents.
{
    "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/*"
                }
            }
        }
    ]
}

Cet article vous a-t-il été utile ?


Avez-vous besoin d'aide pour une question technique ou de facturation ?