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

Dernière mise à jour : 05/01/2021

Je souhaite chiffrer un dossier dans mon compartiment Amazon Simple Storage Service (Amazon S3) avec une clé AWS Key Management Service (AWS KMS). Comment dois-je 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 Modifier le chiffrement côté serveur.

5.    Sélectionnez Activer pour activer le chiffrement côté serveur.

6.    Choisissez le type de clé de chiffrement pour votre clé AWS Key Management Service (SSE-KMS).

7.    Sélectionnez la clé AWS KMS que vous souhaitez utiliser pour le chiffrement des dossiers.

Remarque : la clé nommée 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.

8.    Sélectionnez Enregistrer les modifications.

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

Remarque : Vous ne pouvez pas modifier le cryptage d'un dossier existant en utilisant une commande AWS Command Line Interface (AWS CLI). Au lieu de cela, vous pouvez lancer une commande qui copie le dossier sur lui-même avec le cryptage AWS KMS activé.

Pour chiffrer les fichiers à l'aide de la clé AWS KMS par défaut (aws/s3), exécutez la commande suivante :

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

Cette syntaxe de commande copie le dossier sur lui-même avec le chiffrement AWS KMS.

Remarque : si vous recevez des erreurs lors de l'exécution des commandes AWS CLI, assurez-vous d'utiliser la version la plus récente d'AWS CLI.

Pour chiffrer les fichiers à l'aide d'une clé AWS KMS personnalisée, exécutez la commande suivante :

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

Assurez-vous de spécifier votre propre ID de clé pour --sse-kms-key-id.

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 :

{
  "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
        }
      }
    }
  ]
}

Cette stratégie de compartiment refuse l'accès à s3:PutObject sur docexamplebucket/docexamplefolder/*, sauf si la demande inclut le chiffrement côté serveur avec AWS KMS.


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


Besoin d'aide pour une question technique ou de facturation ?