Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
Pourquoi les utilisateurs intercompte reçoivent-ils des erreurs d'accès refusé lorsqu'ils tentent d'accéder à mes objets Amazon S3 que j'ai chiffrés avec une clé gérée par le client AWS KMS ?
Je souhaite corriger les erreurs « Access Denied » que les utilisateurs reçoivent lorsqu'ils accèdent à mon compartiment Amazon Simple Storage Service (Amazon S3) depuis un autre compte AWS. Je chiffre mon compartiment Amazon S3 avec une clé gérée par le client AWS Key Management Service (AWS KMS).
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 la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'AWS CLI.
Cette erreur s'affiche pour les raisons suivantes :
- Votre utilisateur ou rôle Gestion des identités et des accès AWS (AWS IAM) ne dispose pas d'autorisations pour les appels d’API s3:GetBucketPolicy et s3:PutBucketPolicy.
- La stratégie de compartiment refuse votre 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 politiques de contrôle des services AWS Organizations n'autorisent pas l'accès à Amazon S3.
Pour résoudre l’erreur, vérifiez que l'utilisateur ou le rôle IAM dispose de l'autorisation s3:GetBucketPolicy pour consulter la stratégie de compartiment et de l'autorisation s3:PutBucketPolicy pour la modifier. S'il n'existe pas de politique utilisateur IAM pour vous accorder l'accès, ajoutez-en une. Si les autorisations vous sont refusées, utilisez une autre identité IAM disposant d'un accès au compartiment et modifiez la stratégie de compartiment. Si personne n'a accès à la stratégie de compartiment, utilisez la commande delete-bucket-policy de l’AWS CLI pour supprimer la stratégie, puis recréez-la.
Si vous essayez d'ajouter une stratégie de lecture publique, désactivez la fonctionnalité Blocage de l’accès public Amazon S3 du compartiment. Si vous utilisez AWS Organizations, vérifiez qu'aucune politique de contrôle des services ne refuse explicitement les actions Amazon S3. Vérifiez également que vous pouvez ajouter des exceptions pour votre opération.
Résolution
Vérifier vos autorisations pour s3:GetBucketPolicy et s3:PutBucketPolicy
Pour vérifier vos autorisations, procédez comme suit :
- Ouvrez la console IAM.
- Sélectionnez l'identité utilisée pour accéder à la stratégie de compartiment, telle que Utilisateur ou Rôle.
- Sélectionnez le nom d'identité IAM que vous utilisez pour accéder à la stratégie de compartiment.
- Dans l'onglet Autorisations de votre identité IAM, développez chaque stratégie pour afficher son document de politique JSON.
- 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:GetBucketPolicy et s3:PutBucketPolicy sur le compartiment.
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 changements de stratégie du 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 politique JSON, recherchez les instructions avec « Effet » : « Refuser ». Vérifiez ensuite que ces instructions ne refusent pas à votre 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 ces conditions restreignent l'accès, supprimez-les ou mettez-les à jour.
Ajouter une stratégie de compartiment si elle n'existe pas
Si vous ne trouvez pas de stratégies qui accordent des autorisations s3:GetBucketPolicy ou s3:PutBucketPolicy, ajoutez une stratégie pour les accorder à votre identité IAM. Si vous trouvez des stratégies qui refusent l'accès à s3:GetBucketPolicy ou à s3:PutBucketPolicy, supprimez-les. Pour obtenir des instructions concernant la modification de vos autorisations IAM, consultez la section Modifier les autorisations d'un utilisateur IAM.
Utiliser une autre identité IAM disposant d'un accès au compartiment et modifier la stratégie de compartiment
Pour modifier votre stratégie de compartiment, procédez comme suit :
- Ouvrez la console Amazon S3.
- 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 « Effect » : « Refuser ».
- Modifiez la stratégie de compartiment pour mettre à jour toutes les instructions « Effet » : « Refuser » qui interdisent à l'identité IAM l'accès à s3:GetBucketPolicy ou à s3:PutBucketPolicy. Pour obtenir des instructions, consultez la section Pour créer ou modifier une stratégie de compartiment de la section Ajouter une stratégie de compartiment à l'aide de la console Amazon S3.
- 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 votre entité IAM. Si ces conditions restreignent l'accès, supprimez-les ou mettez-les à jour.
Supprimer et recréer la stratégie de compartiment si elle refuse l'accès à tout le monde
Si la stratégie de compartiment refuse à tout le monde l'accès à s3:getBucketPolicy, à s3:PutBucketPolicy ou à toutes les actions Amazon S3 (s3:*), supprimez la stratégie de compartiment. Si vous vous bloquez accidentellement l’accès au compartiment et que vous ne parvenez pas à supprimer la stratégie de compartiment, reprenez 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 autorise l'accès public, désactivez le blocage de l'accès public Amazon S3 pour le compartiment. Pour plus d'informations, consultez les sections Bloquer l'accès public à votre stockage Amazon S3 et Définition 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 votre compartiment avant de le désactiver au niveau du compte AWS.
Pour AWS Organizations, supprimez les politiques de contrôle des services qui n'autorisent pas l'accès à Amazon S3
Si vous utilisez AWS Organizations, passez en revue vos politiques de contrôle des services (SCP). Recherchez toutes les instructions qui refusent explicitement l'action s3:PutBucketPolicy ou toute autre action stratégique Amazon S3. Supprimez les SCP qui appliquent l'effet Refuser aux actions s3:* lorsque votre organisation n'a pas besoin des politiques.
L'exemple de politique 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 3 ans
- demandé il y a un an
- demandé il y a 2 ans
- demandé il y a un an
- demandé il y a 3 ans