Pourquoi est-ce que je reçois l'erreur HTTP 403 Interdit lorsque j'essaie de charger des fichiers à l'aide de la console Amazon S3 ?

Dernière mise à jour : 29/06/2020

J'essaie de charger des fichiers dans mon compartiment Amazon Simple Storage Service (Amazon S3) à l'aide de la console Amazon S3. Toutefois, je reçois l’erreur HTTP 403 Interdit à la place. Comment puis-je résoudre ce problème ?

Brève description

Pour résoudre l'erreur HTTP 403 Interdit de la console Amazon S3, vérifiez les points suivants :

  • Autorisations manquantes pour s3:PutObject ou s3:PutObjectAcl
  • Autorisations manquantes pour utiliser une clé AWS Key Management Service (AWS KMS)
  • Instruction de rejet explicite dans la stratégie de compartiment
  • La liste de contrôle d'accès (ACL) du compartiment n'autorise pas l'utilisateur racine du compte AWS à écrire des objets.
  • La stratégie de contrôle de service AWS Organizations n'autorise pas l'accès à Amazon S3.

Résolution

Autorisations manquantes pour s3:PutObject ou s3:PutObjectAcl

Vérifiez que l'utilisateur ou le rôle AWS Identity and Access Management (IAM) que vous utilisez dispose des autorisations pour l'action s3:PutObject sur le compartiment. Sans cette autorisation, vous obtenez l’erreur HTTP 403 Interdit.

Si vous essayez de modifier la liste ACL de l'objet pendant le chargement, votre utilisateur ou rôle IAM doit également disposer d'autorisations pour l'action s3:PutObjectAcl.

Autorisations manquantes pour utiliser une clé AWS KMS

Si le compartiment S3 utilise le chiffrement par défaut avec une clé AWS KMS personnalisée, vous devez disposer des autorisations nécessaires pour utiliser la clé afin d'accéder au compartiment.

Pour obtenir les autorisations nécessaires pour utiliser la clé, un administrateur de clé doit vous ajouter en tant qu'utilisateur de la clé AWS KMS personnalisée. L'administrateur de clé doit suivre ces étapes pour vous ajouter en tant qu'utilisateur de clé :

  1. Ouvrez AWS KMS console.
  2. Dans le volet de navigation, sélectionnez Clés gérées par le client.
  3. Dans la liste des clés, ouvrez la clé associée à votre compartiment.
  4. Sous Utilisateurs de clé, sélectionnez Ajouter.
  5. Dans la boîte de dialogue Ajouter des utilisateurs de clé, sélectionnez l'utilisateur IAM, puis Ajouter.

Instruction de rejet explicite dans la stratégie de compartiment

Dans la stratégie de compartiment, recherchez les instructions qui refusent explicitement ("Effect" : "Deny") l'autorisation pour s3.PutObject, sauf si certaines conditions sont réunies. Vérifiez que votre chargement répond aux exigences de stratégie de compartiment pour accéder à l'action s3:PutObject.

Par exemple, si votre stratégie de compartiment refuse explicitement s3:PutObject, sauf si la demande inclut un chiffrement côté serveur à l'aide d'AWS KMS ou de clés de chiffrement gérées par Amazon S3, vérifiez que vous utilisez l'en-tête de chiffrement correct pour charger des objets.

L'exemple d'instruction suivant dans une stratégie de compartiment refuse explicitement tout accès à s3:PutObject sur le compartiment awsdoc-example-bucket, sauf si la demande de chargement inclut le chiffrement avec la clé AWS KMS arn:aws:kms:us-east-1:111122223333:key :

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ExampleStmt",
      "Action": [
        "s3:PutObject"
      ],
      "Effect": "Deny",
      "Resource": "arn:aws:s3:::awsdoc-example-bucket/*",
      "Condition": {
        "StringNotLikeIfExists": {
          "s3:x-amz-server-side-encryption-aws-kms-key-id": "arn:aws:kms:us-east-1:111122223333:key/*"
        }
      },
      "Principal": "*"
    }
  ]
}

Avertissement : avant d'enregistrer une stratégie de compartiment avec une instruction de refus explicite, vous devez examiner attentivement les paramètres du refus d'accès explicite. Si vous avez accidentellement refusé un accès, consultez la section J'ai accidentellement refusé l'accès à mon compartiment Amazon S3 à tout le monde. Comment puis-je rétablir l'accès ?.

La liste ACL de compartiment n'autorise pas l'utilisateur racine à écrire des objets

Si vous utilisez le compte utilisateur racine pour charger des objets dans le compartiment S3, vérifiez que la liste ACL du compartiment accorde à l'utilisateur racine l'accès aux objets Write. Pour en savoir plus, consultez la section Comment définir des autorisations de compartiment ACL ?

La stratégie de contrôle de service AWS Organizations n'autorise pas l'accès à Amazon S3.

Si vous utilisez AWS Organizations, vérifiez les politiques de contrôle des services pour vous assurer que l'accès à Amazon S3 est autorisé.

Par exemple, la stratégie suivante entraîne l’erreur 403 Interdit lorsque vous tentez d'accéder à Amazon S3 parce qu'il refuse explicitement l'accès :

{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Deny",
    "Action": "S3:*",
    "Resource": "*"
  }]
}

Pour plus d'informations sur les fonctionnalités d'AWS Organizations, consultez la section Activation de toutes les fonctions dans votre organisation.


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

Cette page peut-elle être améliorée ?


Vous avez besoin d'aide ?