Pourquoi le message d'erreur « Accès refusé » s'affiche-t-il lorsque je charge des fichiers sur mon compartiment Simple Storage Service (Amazon S3) associé à un chiffrement par défaut AWS KMS ?

Dernière mise à jour : 12-05-2022

Mon compartiment Amazon Simple Storage Service (Amazon S3) a un chiffrement par défaut AWS Key Management Service (AWS KMS). J'essaie de charger des fichiers dans le compartiment, mais Amazon S3 renvoie un message d'erreur « Accès refusé ». Comment puis-je résoudre ce problème ?

Solution

Tout d'abord, confirmez que :

Ensuite, mettez à jour les autorisations AWS KMS de votre utilisateur ou rôle IAM en fonction du message d'erreur que vous recevez.

Important :

  • Si la clé AWS KMS et le rôle IAM appartiennent à d'autres comptes AWS, alors la politique IAM et la politique de clé KMS doivent être mises à jour. Assurez-vous d'ajouter les autorisations KMS à la politique IAM et à celle de clé KMS.
  • Pour utiliser une politique IAM afin de contrôler l'accès à une clé KMS, la politique de clé pour la clé KMS doit autoriser le compte à utiliser des politiques IAM.

« Une erreur s'est produite (AccessDenied) lors de l'appel de l'opération PutObject : Accès refusé »

Ce message d'erreur indique que votre utilisateur ou votre rôle IAM a besoin d'une autorisation pour l'action kms:GenerateDataKey.

Procédez comme suit pour ajouter une autorisation pour kms:GenerateDataKey :

1.    Ouvrez la console IAM.

2.    Choisissez l'utilisateur ou le rôle IAM que vous utilisez pour télécharger des fichiers vers le compartiment Amazon S3.

3.    Dans l'onglet Autorisations, développez chaque politique pour afficher son document de politique JSON.

4.    Dans les documents de stratégie JSON, recherchez les stratégies liées à l'accès AWS KMS. Examiner les instructions avec « Exécuter » : « Autoriser » pour vérifier si l'utilisateur ou le rôle dispose des autorisations pour l'action kms:GenerateDataKey sur la clé KMS AWS du compartiment.

5.    Si cette autorisation est manquante, ajoutez l'autorisation à la stratégie appropriée. Pour obtenir des instructions, consultez Ajout d'autorisations à un utilisateur (console) ou Modification d'une stratégie d'autorisations de rôle (console).

6.    Dans les documents de stratégie JSON, recherchez les instructions avec "Effect" : "Deny". Confirmez que ces déclarations ne rejettent pas l'action s3:PutObject sur le compartiment. Ces déclarations ne doivent pas refuser à l’utilisateur ou rôle IAM l'accès à l'action kms:GenerateDataKey sur la clé utilisée pour chiffrer le compartiment. De plus, les autorisations KMS et S3 requises ne doivent pas être restreintes lors de l'utilisation des politiques de point de terminaison VPC, des politiques de contrôle des services, des limites d'autorisations ou des politiques de séance.

« Une erreur s'est produite (AccessDenied) lors de l'appel de l'opération CreateMultipartUpload : Accès refusé »

Ce message d'erreur indique que votre utilisateur ou votre rôle IAM a besoin d'une autorisation pour les actions kms:GenerateDataKey et kms:Decrypt.

Procédez comme suit pour ajouter des autorisations pour kms:GenerateDataKey et kms:Decrypt :

1.    Ouvrez la console IAM.

2.    Choisissez l'utilisateur ou le rôle IAM que vous utilisez pour télécharger des fichiers vers le compartiment Amazon S3.

3.    Dans l'onglet Autorisations, développez chaque politique pour afficher son document de politique JSON.

4.    Dans les documents de stratégie JSON, recherchez les stratégies liées à l'accès AWS KMS. Examinez les instructions avec "Effect" : "Allow" pour vérifier si le rôle dispose des autorisations pour kms:GenerateDataKey et kms:Decrypt sur la clé AWS KMS du compartiment.

5.    Si ces autorisations sont manquantes, ajoutez les autorisations à la stratégie appropriée. Pour obtenir des instructions, consultez Ajout d'autorisations à un utilisateur (console) ou Modification d'une stratégie d'autorisations de rôle (console).

6.    Dans les documents de stratégie JSON, recherchez les instructions avec "Effect" : "Deny". Ensuite, confirmez que ces instructions ne rejettent pas l'action s3:PutObject sur le compartiment. Ces déclarations ne doivent pas refuser à l'utilisateur ou rôle IAM l'accès aux actions kms:GenerateDataKey et kms:Decrypt sur la clé utilisée pour chiffrer le compartiment. De plus, les autorisations KMS et S3 requises ne doivent pas être restreintes lors de l'utilisation des politiques de point de terminaison VPC, des politiques de contrôle des services, des limites d'autorisations ou des politiques de séance.


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


Avez-vous besoin d'aide pour une question technique ou de facturation ?