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 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. Les autorisations kms:GenerateDataKey vous permettent de lancer le chargement. Avec les autorisations kms:Decrypt, vous pouvez 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 :**une fois toutes les parties chargées, vous devez les assembler afin de terminer l'opération de chargement partitionné. Les parties chargées étant chiffrées côté serveur à l'aide d'une clé AWS KMS, vous devez déchiffrer les parties de l'objet avant de pouvoir les assembler. Par conséquent, vous devez disposer des autorisations kms:Decrypt pour les demandes de chargement partitionné qui utilisent le chiffrement côté serveur avec des clés AWS KMS (SSE-KMS).

Résolution

Votre rôle et votre clé AWS Identity et Access Management (IAM) peuvent exister dans le même compte AWS ou dans des comptes distincts. Si votre rôle IAM et votre clé se trouvent dans le même compte, vous pouvez spécifier les autorisations kms:Decrypt à partir d'une politique IAM ou d'une politique de clé AWS KMS. Si votre rôle IAM et votre clé se trouvent dans des comptes distincts, vous devez spécifier les autorisations kms:Decrypt à la fois dans la clé et dans la politique IAM.

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 de clé, recherchez les instructions dans lesquelles l'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"  
    ]  
  }  
}

Cet 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

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