Je veux télécharger des objets stockés dans Amazon Simple Storage Service (Amazon S3) qui utilisent le chiffrement côté serveur avec AWS Key Management Service (SSE-KMS). Dois-je préciser la clé KMS AWS pour télécharger ces objets depuis le compartiment ?

Non, vous n’avez pas spécifier l’ID de clé AWS KMS lorsque vous téléchargez un objet chiffré SSE-KMS depuis un compartiment S3. Vous devez disposer l’autorisation de déchiffrer la clé AWS KMS.

Lorsque l’utilisateur envoie une requête GET, Amazon S3 vérifie si l’utilisateur ou le rôle AWS Identity and Access Management (IAM) qui envoie la demande est autorisé à déchiffrer la clé associée à l’objet. Si le rôle ou l’utilisateur IAM appartient au même compte AWS que la clé, l’autorisation de déchiffrer doit être octroyé dans la stratégie de la clé AWS KMS.

Remarque : Même si l’utilisateur dispose de l’autorisation de déchiffrer la clé de la stratégie IAM, l’utilisateur doit avoir l’autorisation de la stratégie de clé pour que le téléchargement ait lieu.

Si l’utilisateur ou le rôle IAM appartient à un compte autre que celui de la clé, l’autorisation de déchiffrement doit être octroyée à la fois dans la dans la stratégie utilisateur IAM et dans la stratégie de clé.

Vous trouverez ci-après un exemple de stratégie IAM permettant à l’utilisateur de déchiffrer la clé AWS KMS et de télécharger depuis le compartiment S3 :

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": [
        "kms:Decrypt",
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:kms:example-region-1:123456789012:key/example-key-id",
        "arn:aws:s3:::example-bucket-name/*"
      ]
    }
  ]
}

Vous trouverez ci-après un exemple déclaration de stratégie de clé permettant à l’utilisateur de déchiffrer la clé :

{
  "Sid": "Allow decryption of the key",
  "Effect": "Allow",
  "Principal": {
    "AWS": [
      "arn:aws:iam::123456789012:user/Bob"
    ]
  },
  "Action": [
    "kms:Decrypt"
  ],
  "Resource": "*"
}

Important : Pour les utilisateurs ou les rôles IAM appartenant à un compte autre que le compartiment, assurez-vous que la stratégie de compartiment accorde également aux utilisateurs un accès aux objets. Par exemple, si l’utilisateur a besoin d’exécuter un téléchargement depuis le compartiment, l’utilisateur doit avoir l’autorisation d’exécuter l’opération s3:GetObject dans la stratégie de compartiment.

Une fois que vous avez l’autorisation de déchiffrer la clé, vous pouvez télécharger les objets S3 chiffrés avec la clé en utilisant l’interface de ligne de commande AWS (AWS CLI) comme suit :

aws s3api get-object --bucket example-bucket-name --key dir/example-object-name example-object-name

Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support

Date de publication : 07/02/2019