Comment puis-je résoudre l'erreur « Vous n'avez pas les autorisations nécessaires pour modifier la stratégie de compartiment » qui s'affiche lorsque je modifie une stratégie de compartiment dans Amazon S3 ?
Je dois résoudre l'erreur « Vous n'avez pas les autorisations nécessaires pour modifier la stratégie de compartiment » qui s'affiche lorsque je modifie la stratégie de compartiment du compartiment Amazon Simple Storage Service (Amazon S3).
Brève description
Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez alors Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez la version la plus récente de l'AWS CLI.
Les utilisateurs reçoivent l'erreur « Vous n'êtes pas autorisé à modifier la stratégie de compartiment » pour les raisons suivantes :
- L'utilisateur ou le rôle AWS Identity and Access Management (IAM) ne dispose pas d'autorisations pour les opérations d'API s3:GetBucketPolicy et s3:PutBucketPolicy.
- La stratégie de compartiment refuse l'autorisation d'identité IAM pour s3:GetBucketPolicy et s3:PutBucketPolicy.
- Vous avez activé la fonctionnalité Blocage de l'accès public Amazon S3 pour le compartiment.
- Les stratégies de contrôle des services d'AWS Organizations n'autorisent pas l'accès à Amazon S3.
Pour résoudre les problèmes précédents, effectuez les étapes de résolution des problèmes suivantes.
Résolution
Vérifier les autorisations pour s3:GetBucketPolicy et s3:PutBucketPolicy
Procédez comme suit :
- Ouvrez la console IAM.
- Dans le volet de navigation, sélectionnez l'identité utilisée pour accéder à la stratégie de compartiment telle que Utilisateurs ou Rôles.
- Sélectionnez le nom d'identité IAM que vous utilisez pour accéder à la stratégie de compartiment.
- Dans l'onglet Autorisations de l'identité IAM, développez chaque stratégie pour visualiser son document de stratégie JSON.
- Dans les documents de stratégie JSON, recherchez les stratégies liées à l'accès à Amazon S3. Ensuite, vérifiez que vous disposez des autorisations nécessaires pour les actions s3:GetBucketPolicy et s3:PutBucketPolicy sur le compartiment.
Remarque : S'il n'existe aucune stratégie comportant les actions s:3GetBucketPolicy et s3:PutBucketPolicy, ajoutez alors ces autorisations à une stratégie. Pour obtenir des instructions concernant la modification des autorisations IAM, consultez Modifier les autorisations d'un utilisateur IAM.
L'exemple de politique IAM suivant permet à l'identité IAM d'exécuter les actions s3:GetBucketPolicy et s3:PutBucketPolicy sur DOC-EXAMPLE-BUCKET:.
Remarque : L'instruction Accesss3Console figurant dans la politique IAM précédente autorise l'accès à la console Amazon S3. Elle n'est pas spécifique aux modifications de la stratégie de compartiment.{ "Version": "2012-10-17", "Statement": [ { "Sid": "ModifyBucketPolicy", "Action": [ "s3:GetBucketPolicy", "s3:PutBucketPolicy" ], "Effect": "Allow", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET" }, { "Sid": "AccessS3Console", "Action": [ "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Effect": "Allow", "Resource": "arn:aws:s3:::*" } ] } - Dans les documents de stratégie JSON, recherchez les instructions avec « Effet » : « Refuser ». Vérifiez ensuite que ces instructions ne refusent pas à l'identité IAM l'accès à s3:GetBucketPolicy ou à s3:PutBucketPolicy.
- Assurez-vous d'inclure l'Amazon Resource Name (ARN) du compartiment dans la section Ressource de la stratégie. Dans l'exemple précédent, l'ARN est aws:s3:::DOC-EXAMPLE-BUCKET.
Remarque : s3:GetBucketPolicy et s3:PutBucketPolicy sont des actions au niveau du compartiment. - Vérifiez si vous avez appliqué des conditions globales telles que aws:SourceIP dans la politique IAM pour restreindre les actions s3:GetBucketPolicy et s3:PutBucketPolicy. Si les conditions restreignent l'accès, alors supprimez-les ou mettez-les à jour.
Ajouter une stratégie de compartiment si elle n'existe pas
Si vous ne parvenez pas à trouver de stratégies qui octroient des autorisations s3:GetBucketPolicy ou s3:PutBucketPolicy, alors ajoutez une stratégie pour les octroyer à l'identité IAM. Si vous trouvez des stratégies qui refusent l'accès à s3:GetBucketPolicy ou à s3:PutBucketPolicy, supprimez alors ces stratégies.
Utiliser une autre identité IAM disposant d'un accès au compartiment pour modifier la stratégie de compartiment
Procédez comme suit :
- Ouvrez la console Amazon S3.
- Dans le volet de navigation de gauche, choisissez Compartiments à usage général ou Compartiments du répertoire.
- Dans la liste des compartiments, ouvrez le compartiment contenant la stratégie de compartiment que vous souhaitez modifier.
- Choisissez l'onglet Autorisations.
- Choisissez Stratégie de compartiment.
- Recherchez les instructions avec « Effet » : « Refuser ».
- Modifiez la stratégie de compartiment pour mettre à jour toutes les instructions « Effet » : « Rejeter » qui refusent à l'identité IAM l'accès à s3:GetBucketPolicy ou à s3:PutBucketPolicy.
- Vérifiez si la stratégie de compartiment inclut des conditions telles que aws:PrincipalArn qui restreignent les actions s3:GetBucketPolicy et s3:PutBucketPolicy pour l'entité IAM. Si ces conditions restreignent l'accès,alors supprimez-les ou mettez-les à jour.
Supprimer et recréer une stratégie de compartiment qui refuse l'accès à tout le monde
Si personne n'a accès à s3:GetBucketPolicy, à s3:PutBucketPolicy ou à toutes les actions Amazon S3 (s3:*), utilisez alors la commande de l'AWS CLI delete-bucket-policy pour supprimer la stratégie :
delete-bucket-policy -bucket example_bucket
Remarque : Remplacez example_bucket par le nom du compartiment.
Si vous vous bloquez accidentellement hors du compartiment et que vous ne parvenez pas à supprimer la stratégie de compartiment, regagnez l'accès au compartiment. Après avoir supprimé la stratégie de compartiment, vous pouvez en créer une nouvelle.
Désactiver le blocage de l'accès public Amazon S3
Si votre stratégie de compartiment octroie l'accès public, alors désactivez le blocage de l'accès public Amazon S3 pour le compartiment. Pour plus d'informations, consultez Bloquer l'accès public à l'espace de stockage Amazon S3 et Signification du terme « public ».
Remarque : Pour empêcher l'accès public aux compartiments privés, activez le blocage de l'accès public Amazon S3 pour le compartiment avant de le désactiver au niveau du compte AWS.
Pour AWS Organizations, supprimer les SCP qui n'autorisent pas l'accès à Amazon S3
Si vous utilisez AWS Organizations, passez alors en revue le service (SCP). Recherchez toutes les instructions qui refusent explicitement l'action s3:PutBucketPolicy ou toute autre action de stratégie Amazon S3. Supprimez les SCP qui appliquent l'effet Refuser aux actions s3:* lorsque l'organisation n'a pas besoin des stratégies.
L'exemple de stratégie suivant refuse l'accès à toutes les actions Amazon S3 :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "s3:*", "Resource": "*" } ] }
- Sujets
- Storage
- Langue
- Français
Vidéos associées


Contenus pertinents
- demandé il y a 2 ans
- demandé il y a 2 ans
- Réponse acceptéedemandé il y a 3 ans
- demandé il y a 3 ans
- demandé il y a un an
AWS OFFICIELA mis à jour il y a 7 mois