Pourquoi ne puis-je pas supprimer mon compartiment Amazon S3 ?

Lecture de 5 minute(s)
0

Je n'arrive pas à supprimer mon compartiment Amazon Simple Storage Service (Amazon S3) et je ne sais pas pourquoi.

Résolution

Prérequis

Avant de supprimer un compartiment Amazon S3, confirmez les points suivants :

  • Tous les comptes AWS partagent l'espace de nommage Amazon S3. Si vous supprimez le nom d'un compartiment, il devient accessible à tous les utilisateurs. Si un autre compte AWS revendique le nom du compartiment, vous ne pouvez pas le réutiliser. Il est recommandé de vider le compartiment au lieu de le supprimer complètement.
  • Pour les compartiments hébergés sous forme de site Web statique, vérifiez et mettez à jour les paramètres de zone hébergée d'Amazon Route 53 qui se rapportent au compartiment.
  • Si le compartiment reçoit des données de journal, arrêtez la livraison des journaux au compartiment avant de le supprimer.

Le compartiment Amazon S3 n'est pas vide

Pour supprimer un compartiment Amazon S3, celui-ci doit être vide. Utilisez la console de gestion AWS, l'interface de la ligne de commande AWS (AWS CLI) ou le SDK pour supprimer un compartiment manuellement. Si le compartiment est volumineux et que la gestion des versions est configurée, la suppression manuelle des objets prend beaucoup de temps. Dans ces cas, utilisez la configuration Amazon S3 Lifecycle pour vider les compartiments.

Remarque : Si vous recevez des erreurs lors de l'exécution des commandes de l'AWS CLI, assurez-vous que vous utilisez la version la plus récente de l'AWS CLI.

Pour les compartiments pour lesquels la gestion des versions est configurée ou dont l'état est suspendu, incluez les règles suivantes dans la configuration de votre cycle de vie :

  • Règle 1 : Toutes les versions actuelles des objets expirent X jours après leur création. Supprimez définitivement toutes les versions non actuelles des objets Y jours après qu'elles soient devenues obsolètes.
  • Règle 2 : Expirez tous les marqueurs de suppression de lignes et les téléchargements partitionnés incomplets après Z jours.

Pour les compartiments pour lesquels la gestion des versions n'est pas configurée, incluez les règles suivantes dans la configuration de votre cycle de vie :

  • Règle 1 : Toutes les versions actuelles des objets expirent X jours après leur création.
  • Règle 2 : Tous les téléchargements partitionnés incomplets expirent après Z jours.

Remarque : Pour supprimer rapidement le compartiment dans cet exemple, définissez X, Y et Z sur 1 jour.

Amazon S3 exécute les règles du cycle de vie tous les jours à minuit UTC. Une fois les règles du cycle de vie exécutées, tous les objets éligibles à l'expiration sont marqués pour suppression. Les actions de la politique de cycle de vie étant asynchrones, il faut plusieurs jours pour que les objets soient physiquement supprimés du compartiment. Une fois qu'un objet est marqué pour suppression, l'espace de stockage associé à cet objet ne vous est plus facturé.

Utilisation de l'interface de l’AWS CLI

Exécutez la commande suivante pour supprimer définitivement des objets d'un compartiment Amazon S3 lorsque la gestion des versions n'est pas configuré :

aws s3 rm s3://bucket-name --recursive

Exécutez la commande suivante pour supprimer définitivement tous les objets d'un compartiment Amazon S3 dont la gestion des versions est configuré ou suspendu :

aws s3api delete-objects --bucket BUCKET_NAME --delete "$(aws s3api list-object-versions --bucket BUCKET_NAME --output=json --query='{Objects: Versions[].{Key:Key,VersionId:VersionId}}')"

Utilisation de la console Amazon S3

  1. Ouvrez la console Amazon S3.
  2. Dans le volet de navigation, choisissez Compartiments.
  3. Sous Compartiments, sélectionnez le compartiment que vous souhaitez vider. Choisissez ensuite Vide.
  4. Sur la page Compartiment vide, tapez supprimer définitivement dans le champ de texte pour supprimer tous les objets du compartiment. Choisissez ensuite Vide.
  5. (Facultatif) Vérifiez le compartiment vide : Page d'état pour voir la progression du vidage.

Remarque : Si les versions d'objet d'un compartiment Amazon S3 sont verrouillées en mode gouvernance, l'identité AWS Identity and Access Management (IAM) nécessite les autorisations « s3:BypassGovernanceRetention ». Pour contourner le mode gouvernance, vous devez inclure l'en-tête « x-amz-bypass-governance-retention:true » dans votre demande. Pour les demandes effectuées dans la console de gestion AWS, la console applique automatiquement l'en-tête aux demandes disposant des autorisations requises pour contourner le mode de gouvernance.

Pendant la période de rétention, une identité IAM ne peut pas supprimer les versions d'objets protégées en mode conformité. Cela inclut l'utilisateur root du compte. Après la période de conservation, supprimez les objets qui sont protégés conformément à la réglementation. Une fois le compartiment vide, supprimez le compartiment Amazon S3.

Des points d'accès sont associés au compartiment Amazon S3

Avant de supprimer le compartiment Amazon S3, supprimez tous les points d'accès associés au compartiment. Pour plus d'informations, consultez la section Supprimer un point d'accès.

L'identité IAM à l'origine de la demande DeleteBucket ne dispose pas des autorisations suffisantes

Accordez à l'identité IAM qui supprime le compartiment Amazon S3 des autorisations DeleteBucket sur la politique IAM. Vous pouvez également accorder à la politique de compartiment Amazon S3 les autorisations nécessaires pour exécuter l'action DeleteBucket.

Déclaration DENY explicite empêchant la suppression

Une instruction DENY explicite est prioritaire par rapport à une instruction ALLOW explicite. Vérifiez que les politiques suivantes ne contiennent aucune instruction DENY explicite :

  • Politique IAM relative à l'identité IAM
  • Politique relative aux compartiments Amazon S3
  • Politique relative aux terminaux du Virtual Private Cloud (VPC)

Lorsqu'AWS Elastic Beanstalk crée un compartiment, les politiques contiennent des instructions DENY explicites par défaut. Avant de supprimer le compartiment Amazon S3, supprimez l'instruction DENY explicite ou la politique du compartiment.

Informations connexes

Vider un compartiment

Comment fonctionne S3 Object Lock

Supprimer un compartiment

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