J'essaie de charger des fichiers vers mon compartiment Amazon Simple Storage Service (Amazon S3) via la console Amazon S3. Cependant, le message d'erreur « 403 Forbidden » s’affiche.
Brève description
L’erreur « 403 Forbidden » peut se produire pour les motifs suivants :
- Les autorisations ne permettent pas à s3:PutObject d'ajouter un objet ou à s3:PutObjectAcl de modifier la liste de contrôle d'accès (ACL) de l'objet.
- Vous n’êtes pas autorisé à utiliser une clé AWS Key Management Service (AWS KMS).
- La politique de compartiment contient une instruction de refus explicite.
- Le blocage de l’accès public Amazon S3 est activé.
- Une politique de contrôle des services AWS Organizations n'autorise pas l'accès à Amazon S3.
Résolution
Vérifier vos autorisations pour s3:PutObject ou s3:PutObjectAcl
Procédez comme suit :
- Ouvrez la console Gestion des identités et des accès AWS (IAM).
- Accédez à l'identité utilisée pour accéder au compartiment, telle que Utilisateur ou Rôle. Choisissez le nom de l'identité.
- Choisissez l'onglet Autorisations, puis développez chaque politique pour afficher son document de politique JSON.
- Dans les documents de politique JSON, recherchez les politiques relatives à l'accès à Amazon S3. Puis, vérifiez 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 AWS, vous ne pouvez pas utiliser la clé gérée par AWS aws/S3 comme clé de chiffrement par défaut. En effet, il n’est pas possible de modifier la stratégie de clé gérée par AWS.
Vérifier les instructions de refus explicites dans la politique de compartiment
Suivez ces étapes :
- Ouvrez la console Amazon S3.
- Dans la liste de compartiments, ouvrez le compartiment dans lequel vous souhaitez charger des fichiers.
- Choisissez l’onglet Autorisations.
- Choisissez la politique de compartiment.
- Recherchez les instructions avec « Effect » : « Refuser ».
- 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 « Effect » : « Refuser », assurez-vous de vérifier les instructions qui refusent l'accès au compartiment S3. Si vous êtes bloqué, consultez la section Comment retrouver l'accès à mon Amazon S3 après avoir accidentellement refusé l'accès à tout le monde ?
L'exemple d’instruction suivant refuse explicitement l'accès à s3:putObject sur example-bucket sauf si la demande de 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": "*"
}
]
}
Supprimer l'ACL publique de votre requête ou désactiver le blocage de l'accès public S3
Si vous transmettez une ACL publique, telle que public-read ou authenticated-read dans votre requête PUT, l’ACL publique rend l'objet S3 public. Si la fonctionnalité Blocage de l'accès public S3 est activée pour ce compte ou ce compartiment, votre requête de chargement est refusée.
Remarque : Il est recommandé de ne rendre un objet public que si votre cas d'utilisation l'exige.
Pour charger correctement l'objet en tant qu'objet accessible au public, modifiez la fonctionnalité Blocage de l’accès public S3 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 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. De plus, pour plus d'informations sur les paramètres d'accès public, consultez la section Signification du terme « public ».
Examiner 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 Amazon 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 « You don't have permissions to edit bucket policy » lorsque j'essaie de modifier une politique de compartiment dans Amazon S3 ?
Résoudre les erreurs d'accès refusé (403 Forbidden) dans Amazon S3