Définition de la propriété d’un objet sur un compartiment existant - Amazon Simple Storage Service

Définition de la propriété d’un objet sur un compartiment existant

Vous pouvez configurer la propriété des objets S3 sur un compartiment S3 existant. Pour appliquer la propriété d’objet lors de la création d’un compartiment, consultez Définition de la propriété d’objet lors de la création d’un compartiment.

S3 Object Ownership est un paramètre Amazon S3 au niveau du compartiment que vous pouvez utiliser pour désactiver les listes de contrôle d’accès (ACL) et prendre possession de chaque objet de votre compartiment. Cela a pour effet de simplifier la gestion des accès aux données stockées dans Amazon S3. Par défaut, la propriété d’objets S3 est définie sur le paramètre Propriétaire du compartiment appliqué et les listes ACL sont désactivées pour les nouveaux compartiments. Lorsque les listes ACL sont désactivées, le propriétaire du compartiment détient chaque objet présent dans le compartiment et gère l’accès aux données exclusivement à l’aide de politiques de gestion des accès. Nous vous recommandons de maintenir les listes ACL désactivées, sauf si vous devez contrôler individuellement l’accès à chaque objet.

Object Ownership (Propriété de l’objet) dispose de trois paramètres que vous pouvez utiliser pour contrôler la propriété des objets téléchargés dans votre compartiment pour désactiver ou activer les listes ACL :

Listes ACL désactivées
  • Propriétaire du compartiment appliqué (par défaut) : les listes ACL sont désactivées et le propriétaire du compartiment détient automatiquement chaque objet présent dans le compartiment et en a le contrôle total. Les listes ACL n’affectent plus les autorisations sur les données du compartiment S3. Le compartiment utilise des stratégies pour définir le contrôle des accès.

Listes ACL activées
  • Bucket owner preferred (Préféré par le propriétaire du compartiment) – Le propriétaire du compartiment possède les nouveaux objets que d’autres comptes écrivent dans le compartiment avec la liste ACL bucket-owner-full-control prête à l’emploi, et en a le contrôle total.

  • Object writer (Rédacteur d’objets) – Le Compte AWS qui télécharge un objet est propriétaire de l’objet, a un contrôle total sur celui-ci et peut en accorder l’accès à d’autres utilisateurs via des listes ACL.

Prérequis : avant d’appliquer le paramètre Propriétaire du compartiment appliqué pour désactiver les listes ACL, vous devez migrer les autorisations ACL de compartiment vers des stratégies de compartiment et réinitialiser vos listes ACL de compartiment vers la liste ACL privée par défaut. Nous vous recommandons également de migrer les autorisations ACL d’objet vers des stratégies de compartiment et de modifier les stratégies de compartiment qui nécessitent des listes ACL autres que les listes ACL de contrôle total du propriétaire du compartiment. Pour plus d’informations, consultez Conditions préalables à la désactivation des listes ACL.

Autorisations : pour pouvoir utiliser cette opération, vous devez disposer de l’autorisation s3:PutBucketOwnershipControls. Pour plus d’informations sur les autorisations Amazon S3, consultez Actions, ressources et clés de condition pour Amazon S3 dans la Référence de l’autorisation de service.

Pour plus d’informations sur les autorisations relatives aux opérations d’API S3 par type de ressource S3, consultez Autorisations requises pour les opérations d’API Amazon S3.

  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon S3 à l’adresse https://console.aws.amazon.com/s3/.

  2. Dans la liste Compartiments, choisissez le nom du compartiment auquel vous souhaitez appliquer le paramètre de propriété d’objet S3.

  3. Choisissez l’onglet Permissions (Autorisations).

  4. Sous Object Ownership (Propriétaire de l’objet), sélectionnez Edit (Modifier).

  5. Sous Object Ownership (Propriété de l’objet), pour désactiver ou activer les listes ACL et contrôler la propriété des objets téléchargés dans votre compartiment, sélectionnez l’un des paramètres suivants :

    Listes ACL désactivées
    • Bucket owner enforced (Appliqué par le propriétaire du compartiment) – Les listes ACL sont désactivées, et le propriétaire du compartiment possède automatiquement tous les objets du compartiment et en a le contrôle total. Les listes ACL n’affectent plus les autorisations sur les données du compartiment S3. Le compartiment utilise des stratégies pour définir le contrôle des accès.

      Pour exiger la création de tous les nouveaux compartiments avec des listes ACL désactivées à l’aide d’IAM ou des stratégies AWS Organizations, consultez Désactivation des listes ACL pour tous les nouveaux compartiments (application du propriétaire du compartiment).

    Listes ACL activées
    • Bucket owner preferred (Préféré par le propriétaire du compartiment) – Le propriétaire du compartiment possède les nouveaux objets que d’autres comptes écrivent dans le compartiment avec la liste ACL bucket-owner-full-control prête à l’emploi, et en a le contrôle total.

      Si vous appliquez le paramètre préféré par le propriétaire du compartiment pour exiger que tous les téléchargements Amazon S3 incluent la liste ACL bucket-owner-full-controlprête à l’emploi, vous pouvez ajouter une stratégie de compartiment qui autorise uniquement les téléchargements d’objets utilisant cette liste ACL.

    • Object writer (Rédacteur d’objets) – Le Compte AWS qui télécharge un objet est propriétaire de l’objet, a un contrôle total sur celui-ci et peut en accorder l’accès à d’autres utilisateurs via des listes ACL.

  6. Choisissez Enregistrer.

Pour appliquer un paramètre de propriété d’objet à un compartiment existant, utilisez la commande put-bucket-ownership-controlsavec le paramètre --ownership-controls. Les valeurs valides pour la propriété sont BucketOwnerEnforced, BucketOwnerPreferred ou ObjectWriter.

Cet exemple applique le paramètre Propriétaire du compartiment appliqué pour un compartiment existant à l’aide de l’AWS CLI :

aws s3api put-bucket-ownership-controls --bucket amzn-s3-demo-bucket --ownership-controls="Rules=[{ObjectOwnership=BucketOwnerEnforced}]"

Pour plus d’informations sur put-bucket-ownership-controls, consultez la rubrique put-bucket-ownership-controls dans le Guide de l’utilisateur AWS Command Line Interface.

Cet exemple applique le paramètre BucketOwnerEnforced de Propriété d’objet à un compartiment existant à l’aide d’AWS SDK pour Java :

// Build the ObjectOwnership for BucketOwnerEnforced OwnershipControlsRule rule = OwnershipControlsRule.builder() .objectOwnership(ObjectOwnership.BucketOwnerEnforced) .build(); OwnershipControls ownershipControls = OwnershipControls.builder() .rules(rule) .build() // Build the PutBucketOwnershipControlsRequest PutBucketOwnershipControlsRequest putBucketOwnershipControlsRequest = PutBucketOwnershipControlsRequest.builder() .bucket(BUCKET_NAME) .ownershipControls(ownershipControls) .build(); // Send the request to Amazon S3 s3client.putBucketOwnershipControls(putBucketOwnershipControlsRequest);

Pour utiliser CloudFormation afin d’appliquer un paramètre de propriété d’objets à un compartiment existant, consultez AWS::S3::Bucket OwnershipControls dans le Guide de l’utilisateur AWS CloudFormation.

Pour utiliser l’API REST afin d’appliquer un paramètre de propriété d’objet à un compartiment S3 existant, utilisez PutBucketOwnershipControls. Pour plus d’informations, veuillez consulter PutBucketOwnershipControls dans la Référence des API Amazon Simple Storage Service.

Étapes suivantes : une fois que vous avez appliqué les paramètres Propriétaire du compartiment appliqué ou Propriétaire du compartiment préféré pour Propriété d’objets, vous pouvez suivre les étapes suivantes :

  • Bucket owner enforced (Appliqué par le propriétaire du compartiment) – Vous pouvez exiger que tous les nouveaux compartiments soient créés avec des listes ACL désactivées à l’aide d’une politique IAM ou Organizations.

  • Bucket owner preferred (Préféré par le propriétaire du compartiment) – Ajoutez une stratégie de compartiment S3 pour exiger que la liste ACL bucket-owner-full-control prédéfinie pour tous les téléchargements d’objets vers votre compartiment.