Comment chiffrer un dossier dans mon compartiment Amazon S3 à l'aide d'AWS KMS ?

Date de la dernière mise à jour : 20/06/2019

Je souhaite chiffrer un dossier dans mon compartiment Amazon Simple Storage Service (Amazon S3) avec une clé AWS Key Management Service (AWS KMS). Comment procéder ? 

Résolution

Chiffrement d'un dossier à l'aide de la console Amazon S3

  1. Ouvrez la console Amazon S3.
  2. Accédez au dossier à chiffrer.
  3. Sélectionnez le dossier, puis choisissez Actions.
  4. Choisissez Change encryption (Modifier le chiffrement).
  5. Pour Change Encryption (Modifier le chiffrement), sélectionnez AWS-KMS.
  6. Pour Select a key (Sélectionner une clé), sélectionnez la clé AWS KMS avec laquelle souhaitez chiffrer le dossier.
    Remarque : la clé aws/s3 est une clé par défaut gérée par AWS KMS. Vous pouvez chiffrer le dossier avec la clé par défaut ou une clé personnalisée.
  7. Choisissez Save (Enregistrer).

Chiffrement d'un dossier à l'aide de l'interface de ligne de commande AWS (CLI AWS)

Remarque : vous ne pouvez pas modifier le chiffrement d'un dossier existant à l'aide d'une commande CLI AWS. Par contre, vous pouvez exécuter une commande CLI AWS qui copie le dossier sur lui-même avec le chiffrement AWS KMS activé.

Pour chiffrer les fichiers à l'aide de la clé AWS KMS par défaut (aws/s3), exécutez la commande suivante pour copier le dossier sur lui-même avec le chiffrement AWS KMS :

aws s3 cp s3://awsexamplebucket/abc s3://awsexamplebucket/abc --recursive --sse aws:kms

Pour chiffrer les fichiers à l'aide d'une clé AWS KMS personnalisée, exécutez la commande suivante. Veillez à spécifier l'ID de votre clé comme valeur de --sse-kms-key-id :

aws s3 cp s3://awsexamplebucket/abc s3://awsexamplebucket/abc --recursive --sse aws:kms --sse-kms-key-id a1b2c3d4-e5f6-7890-g1h2-123456789abc

Exiger que les chargements futurs chiffrent les objets avec AWS KMS

Après avoir modifié le chiffrement, seuls les objets qui sont déjà dans le dossier sont chiffrés. Les objets ajoutés au dossier après avoir modifié le chiffrement peuvent être chargés sans chiffrement. Vous pouvez utiliser une stratégie de compartiment pour exiger que les chargements futurs chiffrent les objets avec AWS KMS.

Par exemple, la stratégie de compartiment suivante refuse l'accès à s3:PutObject sur awsexamplebucket/awsexamplefolder/*, sauf si la demande inclut le chiffrement côté serveur avec AWS KMS :

{
  "Version": "2012-10-17",
  "Id": "PutObjPolicy",
  "Statement": [
    {
      "Sid": "DenyIncorrectEncryptionHeader",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::awsexamplebucket/awsexamplefolder/*",
      "Condition": {
        "StringNotEquals": {
          "s3:x-amz-server-side-encryption": "aws:kms"
        }
      }
    },
    {
      "Sid": "DenyUnEncryptedObjectUploads",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::awsexamplebucket/awsexamplefolder/*",
      "Condition": {
        "Null": {
          "s3:x-amz-server-side-encryption": true
        }
      }
    }
  ]
}

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

Cette page peut-elle être améliorée ?


Vous avez besoin d'aide ?