Pourquoi le message d'erreur « 403 Forbidden » s'affiche-t-il lorsque j'essaie de charger des fichiers dans Amazon S3 ?

Lecture de 4 minute(s)
0

J'essaie de charger des fichiers vers mon compartiment Amazon Simple Storage Service (Amazon S3) à l'aide de la console Amazon S3. Cependant, je reçois le message d'erreur « 403 Forbidden ».

Brève description

L'erreur « 403 Forbidden » peut se produire pour les raisons suivantes :

  • Les autorisations ne permettent pas à s3:PutObject d'ajouter un objet ou à s3:PutObjectAcl de modifier l'ACL de l'objet.
  • Vous n'avez pas l'autorisation pour utiliser une clé AWS Key Management Service (AWS KMS).
  • Il y a une instruction de refus explicite dans la politique de compartiment.
  • Le blocage de l’accès public Amazon S3 est activé.
  • Une politique de contrôle des services d’AWS Organizations n'autorise pas l'accès à Amazon S3.

Résolution

Vérifier vos autorisations pour s3:PutObject ou s3:PutObjectAcl

Suivez ces étapes :

  1. Ouvrez la console AWS Identity and Access Management (IAM).
  2. Accédez à l'identité utilisée pour accéder au compartiment, telle que Utilisateur ou Rôle. Choisissez le nom de l'identité.
  3. Choisissez l'onglet Autorisations et développez chaque politique pour afficher son document de politique JSON.
  4. Dans les documents de politique JSON, recherchez les politiques relatives à l'accès à Amazon S3. Vérifiez ensuite que vous disposez des autorisations nécessaires pour les actions s3:PutObject ou s3:PutObjectAcl sur le compartiment.

Demander l'autorisation d'utiliser une clé AWS KMS

Pour charger des objets chiffrés avec AWS KMS, vous devez disposer des autorisations nécessaires pour effectuer des actions AWS KMS. Vous devez être capable d'exécuter au minimum les actions kms:Decrypt et kms:GenerateDataKey.

Important : Si vous chargez un objet vers un compartiment d'un autre compte, vous ne pouvez pas utiliser la clé gérée par AWS aws/S3 comme clé de chiffrement par défaut. Cela est dû au fait que la politique relative aux clés gérées par AWS ne peut pas être modifiée.

Vérifier les instructions de refus explicites dans la politique de compartiment

Suivez ces étapes :

  1. Ouvrez la console Amazon S3.
  2. Dans la liste des compartiments, ouvrez le compartiment dans lequel vous souhaitez charger des fichiers.
  3. Choisissez l'onglet Autorisations.
  4. Choisissez la politique du compartiment.
  5. Recherchez les instructions avec « Effet » : « Refuser ».
  6. Passez en revue ces instructions et assurez-vous qu'elles n'empêchent pas les chargements vers le compartiment.

Important : Avant d'enregistrer une politique de compartiment avec « Effet » : « Refuser », assurez-vous de vérifier les instructions qui refusent l'accès au compartiment S3. Si vous êtes bloqué, veuillez consulter la section J'ai accidentellement refusé à tout le monde l'accès à mon compartiment Amazon S3. Comment rétablir l'accès ?

L'exemple d’instruction suivant refuse explicitement l'accès à s3:putObject sur example-bucket sauf si la demande de téléchargement chiffre l'objet avec la clé AWS KMS dont l'ARN correspond à arn:aws:kms:us-east-1:111122223333:key :

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

Supprimez l'ACL public de votre demande ou désactivez S3 Block Public Access

Si vous transmettez une ACL publique, telle que public-read ou authenticated-read dans votre requête PUT, cela rend l'objet S3 public. Si la fonctionnalité S3 Block Public Access est activée pour ce compte ou ce compartiment, votre demande de téléchargement est refusée.

Remarque : Il n'est pas recommandé de rendre un objet public à moins que votre cas d'utilisation ne l'exige.

Pour charger correctement l'objet en tant qu'objet accessible au public, modifiez la fonctionnalité S3 Block Access selon vos besoins. Si votre cas d'utilisation ne nécessite pas de rendre l'objet accessible au public, supprimez l'ACL publique mentionnée de la requête PUT.

Pour configurer les paramètres de blocage de l'accès public de S3 au niveau du compte, consultez la section Configuration des paramètres de blocage de l'accès public pour votre compte. Pour configurer les paramètres au niveau du compartiment, consultez la section Configuration des paramètres de blocage de l'accès public pour vos compartiments S3. Consultez également La signification du terme « public ».

Passer en revue les politiques de contrôle des services pour AWS Organizations

Si vous utilisez AWS Organizations, vérifiez si les politiques de contrôle des services refusent explicitement les actions S3. Si tel est le cas, modifiez la politique comme vous le souhaitez.

Informations connexes

Comment résoudre les erreurs 403 Access Denied d'Amazon S3 ?

Comment puis-je résoudre l'erreur « Vous n'êtes pas autorisé à modifier la politique des compartiments » lorsque j'essaie de modifier une politique de compartiment dans Amazon S3 ?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an