En utilisant AWS re:Post, vous acceptez les AWS re:Post Conditions d’utilisation

Pourquoi ne puis-je pas charger un fichier volumineux sur Amazon S3 avec le chiffrement par clé AWS KMS ?

Lecture de 3 minute(s)
0

Je souhaite charger un fichier volumineux sur mon compartiment Amazon Simple Storage Service (Amazon S3). Dans ma demande de chargement, j'inclus des informations de chiffrement avec une clé AWS Key Management Service (AWS KMS). Cependant, j'obtiens un message d'erreur « Accès refusé ».

Brève description

Vérifiez que vous avez l'autorisation d'exécuter des actions kms:Decrypt sur la clé AWS KMS utilisée pour chiffrer l'objet.

Lorsque les fichiers sont volumineux, les commandes aws s3 de haut niveau utilisant l'interface de la ligne de commande AWS (AWS CLI), les kits SDK AWS et de nombreux programmes tiers effectuent automatiquement un chargement partitionné. Pour chiffrer un chargement partitionné à l'aide d'une clé AWS KMS, vous devez disposer des autorisations kms:GenerateDataKey et kms:Decrypt. L’autorisation kms:GenerateDataKey vous permet de lancer le chargement. L’autorisation kms:Decrypt, vous permet de chiffrer les parties récemment chargées à l'aide de la clé utilisée pour les parties précédentes du même objet.

Remarque : pour effectuer un téléchargement en plusieurs parties avec chiffrement à l'aide d’une clé AWS KMS, vous devez disposer des éléments suivants :

  • Autorisation des actions KMS:Decrypt et kms:GenerateDataKey sur la clé.
  • Autorisations pour l’action KMS:GenerateDataKey pour l’API CreateMultipartUpload.
  • Autorisations pour l’action kms:Decrypt sur les API UploadPart et UploadPartCopy. Ces autorisations sont requises car Amazon S3 doit déchiffrer et lire les données des parties chiffrées du fichier avant que le chargement en plusieurs parties ne soit terminé.

Si votre utilisateur ou votre rôle AWS Identity and Access Management (IAM) se trouve dans le même compte AWS que la clé KMS, vous devez disposer de ces autorisations dans la stratégie de clé. Si votre utilisateur ou votre rôle IAM appartient à un compte différent de celui associé à la clé KMS, vous devez disposer des autorisations relatives à la stratégie de clé et à votre utilisateur ou rôle IAM.

Résolution

Stratégie de clé

Consultez la stratégie de clé AWS KMS dans la vue des politiques de la console de gestion AWS.

Dans la stratégie clé, recherchez les déclarations dans lesquelles le numéro de ressource Amazon (ARN) de votre utilisateur ou rôle IAM est répertorié en tant que principal AWS. L'ARN est au format suivant : arn:aws:iam::111122223333:user/john.

Vérifiez ensuite la liste des actions autorisées par vos instructions d'utilisateur ou de rôle IAM. Pour les chargements partitionnés, la liste des actions autorisées doit inclure l'autorisation kms:Decrypt avec SSE-KMS.

Par exemple, l'instruction suivante dans une stratégie de clé permet à l'utilisateur John d'exécuter les actions kms:Decrypt et kms:GenerateDataKey :

{
  "Sid": "Allow use of the key",
  "Effect": "Allow",
  "Principal": {
    "AWS": "arn:aws:iam::111122223333:user/john"
  },
  "Action": [
    "kms:Decrypt",
    "kms:GenerateDataKey"
  ],
  "Resource": "*"
}

Autorisations IAM

Pour vérifier vos autorisations IAM, ouvrez la console IAM, puis choisissez votre utilisateur ou votre rôle IAM.

Consultez la liste des politiques d'autorisation qui s'appliquent à votre utilisateur ou à votre rôle IAM. Assurez-vous qu'une politique appliquée vous permet d'exécuter l'action kms:Decrypt sur la clé utilisée pour chiffrer l'objet :

{
  "Version": "2012-10-17",
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "kms:Decrypt",
      "kms:GenerateDataKey"
    ],
    "Resource": [
      "arn:aws:kms:example-region-1:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd"
    ]
  }
}

L’exemple d’instruction accorde à l'utilisateur IAM l'accès pour exécuter des actions kms:Decrypt et kms:GenerateDataKey sur la clé arn:aws:kms:example-region-1:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd.

Pour obtenir des instructions concernant la modification de vos autorisations IAM, consultez la section Modification des autorisations d'un utilisateur IAM.

Informations connexes

Générateur de politiques AWS

Chiffrement des données dans Amazon S3

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 7 mois