Créer un compartiment - Amazon Simple Storage Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Créer un compartiment

Pour charger vos données sur Amazon S3, vous devez d'abord créer un compartiment Amazon S3 dans l'une des Régions AWS. Lorsque vous créez un compartiment, vous devez choisir un nom de compartiment et une Région. Vous pouvez choisir facultativement d'autres options de gestion du stockage pour le compartiment. Une fois un compartiment créé, vous ne pouvez pas modifier son nom ni sa Région. Pour plus d’informations sur la dénomination des compartiments, consultez Règles de dénomination de compartiment.

Celui Compte AWS qui crée le bucket en est propriétaire. Vous pouvez charger un nombre illimité d'objets vers ce compartiment. Par défaut, vous pouvez créer jusqu'à 100 compartiments dans chacun de vos Comptes AWS. Si vous avez besoin de plus de buckets, vous pouvez soumettre une demande d'augmentation de quota pour votre compte. Pour savoir comment soumettre une augmentation, consultez les Service AWS quotas dans le manuel de référence AWS général.

Chaque compartiment permet de stocker un nombre illimité d'objets. Pour obtenir la liste des restrictions et des limitations relatives aux compartiments Amazon S3, Quotas, restrictions et limites des compartiments consultez.

La propriété des objets S3 est un paramètre au niveau du compartiment Amazon S3 que vous pouvez utiliser à la fois pour contrôler la propriété des objets chargés dans votre compartiment et pour désactiver ou activer les listes de contrôle d'accès ()ACLs. Par défaut, Object Ownership est défini sur le paramètre imposé par le propriétaire du bucket, et tous ACLs sont désactivés. Lorsque cette option est ACLs désactivée, le propriétaire du compartiment possède tous les objets du compartiment et gère l'accès aux données exclusivement à l'aide de politiques.

Pour de plus amples informations, veuillez consulter Contrôle de la propriété des objets et désactivation ACLs pour votre compartiment.

Le chiffrement côté serveur avec les clés gérées par Amazon S3 (SSE-S3) est le niveau de base de la configuration de chiffrement pour chaque compartiment d'Amazon S3. Tous les nouveaux objets chargés dans un compartiment S3 sont automatiquement chiffrés avec SSE -S3 comme niveau de base du paramètre de chiffrement. Si vous souhaitez utiliser un autre type de chiffrement par défaut, vous pouvez également spécifier le chiffrement côté serveur avec des clés AWS Key Management Service (AWS KMS) (SSE-KMS) ou des clés fournies par le client (SSE-C) pour chiffrer vos données. Pour de plus amples informations, veuillez consulter Définition du comportement de chiffrement côté serveur par défaut pour les compartiments Amazon S3.

Vous pouvez utiliser la console Amazon S3, Amazon S3 APIs AWS CLI, ou AWS SDKs pour créer un compartiment. Pour plus d'informations sur les autorisations requises pour créer un bucket, consultez le CreateBucketmanuel Amazon Simple Storage Service API Reference.

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

  2. Dans la barre de navigation en haut de la page, choisissez le nom du fichier actuellement affiché Région AWS. Choisissez ensuite la région dans laquelle vous souhaitez créer un bucket.

    Note

    Pour limiter la latence et les coûts, et répondre aux exigences légales, choisissez une région proche de vous. Les objets stockés dans une Région ne la quittent jamais, sauf si vous les transférez explicitement vers une autre Région. Pour obtenir la liste d'Amazon S3 Régions AWS, consultez la section sur les Service AWS points de terminaison dans le Référence générale d'Amazon Web Services.

  3. Dans le panneau de navigation de gauche, choisissez Compartiments.

  4. Choisissez Créer un compartiment.

    La page Créer un compartiment s'ouvre.

  5. Sous Configuration générale, consultez l' Région AWS endroit où votre bucket sera créé.

  6. Sous Type de compartiment, sélectionnez Usage général.

  7. Pour Nom du compartiment, saisissez le nom de votre compartiment.

    Le nom du compartiment doit présenter les caractéristiques suivantes :

    • Être unique dans une partition. Une partition est un regroupement de Régions. AWS dispose actuellement de trois partitions : aws (Régions Standard), aws-cn (Régions Chine) et aws-us-gov (AWS GovCloud (US) Regions).

    • Il doit comporter entre 3 et 63 caractères.

    • Être uniquement composé de lettres minuscules, de chiffres, de points (.) et de traits d'union (-). Pour une meilleure compatibilité, nous vous recommandons d'éviter d'utiliser des points (.) dans les noms de compartiment, à l'exception des compartiments utilisés uniquement pour l'hébergement de sites web statiques.

    • Commencer et se terminer par une lettre ou un chiffre.

    Une fois le compartiment créé, vous ne pouvez pas changer son nom. Celui Compte AWS qui crée le bucket en est propriétaire. Pour plus d'informations sur l'attribution de noms à des compartiments, consultez Règles de dénomination de compartiment.

    Important

    Évitez d’inclure des informations sensibles, notamment des numéros de compte, dans le nom du compartiment. Le nom du compartiment est visible en pointant vers les objets URLs qu'il contient.

  8. AWS Management Console vous permet de copier les paramètres d'un bucket existant dans votre nouveau bucket. Si vous ne souhaitez pas copier les paramètres d'un bucket existant, passez à l'étape suivante.

    Note

    Cette option :

    • N'est pas disponible dans le AWS CLI et n'est disponible que dans la console

    • Non disponible pour les compartiments de répertoire

    • Ne copie pas la politique du bucket du bucket existant vers le nouveau bucket

    Pour copier les paramètres d'un compartiment existant, sous Copier les paramètres d'un compartiment existant, sélectionnez Choisir un compartiment. La fenêtre Choose bucket s'ouvre. Recherchez le compartiment contenant les paramètres que vous souhaitez copier, puis sélectionnez Choisir un compartiment. La fenêtre Choisir un compartiment se ferme et la fenêtre Créer un compartiment s'ouvre à nouveau.

    Sous Copier les paramètres d'un bucket existant, vous pouvez maintenant voir le nom du bucket que vous avez sélectionné. Vous verrez également une option Restaurer les paramètres par défaut que vous pouvez utiliser pour supprimer les paramètres du bucket copiés. Passez en revue les autres paramètres du compartiment sur la page Créer un compartiment. Vous verrez qu'ils correspondent désormais aux paramètres du bucket que vous avez sélectionné. Vous pouvez passer à la dernière étape.

  9. Sous Propriété des objets, pour désactiver ou activer ACLs et contrôler la propriété des objets chargés dans votre bucket, sélectionnez l'un des paramètres suivants :

    ACLshandicapé
    • Appliqués par le propriétaire du compartiment (par défaut) : ACLs sont désactivés, et le propriétaire du compartiment possède automatiquement tous les objets du compartiment et en a le contrôle total. ACLsn'affecte plus les autorisations d'accès aux données du compartiment S3. Le compartiment utilise des stratégies exclusivement pour définir le contrôle des accès.

      Par défaut, ACLs sont désactivés. La majorité des cas d'utilisation modernes d'Amazon S3 ne nécessitent plus l'utilisation deACLs. Nous vous recommandons de rester ACLs désactivé, sauf dans des circonstances exceptionnelles où vous devez contrôler l'accès à chaque objet individuellement. Pour de plus amples informations, veuillez consulter Contrôle de la propriété des objets et désactivation ACLs pour votre compartiment.

    ACLsactivé
    • Propriétaire du compartiment préféré : le propriétaire du compartiment possède et contrôle totalement les nouveaux objets que d'autres comptes écrivent dans le compartiment avec le code bucket-owner-full-control prédéfiniACL.

      Si vous appliquez le paramètre préféré du propriétaire du compartiment, afin d'exiger que tous les téléchargements Amazon S3 incluent le bucket-owner-full-control scanACL, vous pouvez ajouter une politique de compartiment autorisant uniquement les téléchargements d'objets utilisant ce paramètre. ACL

    • Auteur d'objets : celui Compte AWS qui télécharge un objet est propriétaire de l'objet, en a le contrôle total et peut autoriser d'autres utilisateurs à y accéder par le biais ACLs de celui-ci.

    Note

    Le paramètre par défaut est Propriétaire du compartiment appliqué. Pour appliquer le paramètre par défaut et le maintenir ACLs désactivé, seule l's3:CreateBucketautorisation est nécessaire. Pour l'activerACLs, vous devez avoir l's3:PutBucketOwnershipControlsautorisation.

  10. Dans Paramètres de blocage de l'accès public pour ce compartiment, choisissez les paramètres Bloquer l'accès public que vous souhaitez appliquer au compartiment.

    Par défaut, les quatre paramètres de blocage de l'accès public sont activés. Nous vous recommandons de maintenir tous les paramètres activés, sauf si vous savez que vous devez en désactiver un ou plusieurs pour votre cas d'utilisation spécifique. Pour en savoir plus sur le blocage de l'accès public, consultez Blocage de l'accès public à votre stockage Amazon S3.

    Note

    Pour activer tous les paramètres de blocage de l'accès public, seule l'autorisation s3:CreateBucket est requise. Pour désactiver les paramètres de blocage de l'accès public, vous devez disposer de l'autorisation s3:PutBucketPublicAccessBlock.

  11. (Facultatif) Sous Bucket Versioning (Gestion des versions du compartiment), vous pouvez choisir de conserver les variantes des objets dans votre compartiment. Pour plus d’informations sur la gestion des versions, consultez Conservation de plusieurs versions d'objets grâce au versionnement S3.

    Pour désactiver ou activer la gestion des versions sur votre compartiment, choisissez Disable (Désactiver) ou Enable (Activer).

  12. (Facultatif) Sous Tags (Balises), vous pouvez choisir d'ajouter des balises à votre compartiment. Les balises sont des paires clé-valeur utilisées pour catégoriser le stockage.

    Pour ajouter une balise de compartiment, saisissez une Key (Clé) et éventuellement une Value (Valeur), puis choisissez Add Tag (Ajouter une balise).

  13. Sous Default encryption (Chiffrement par défaut), choisissez Edit (Modifier).

  14. Pour configurer le chiffrement par défaut, dans Type de chiffrement, choisissez l'une des options suivantes :

    • Clé gérée par Amazon S3 (SSE-S3)

    • AWS Key Management Service clé (SSE-KMS)

      Important

      Si vous utilisez l'KMSoption SSE - pour votre configuration de chiffrement par défaut, vous êtes soumis au quota de demandes par seconde (RPS) de AWS KMS. Pour plus d'informations sur les AWS KMS quotas et sur la manière de demander une augmentation de quota, consultez la section Quotas dans le guide du AWS Key Management Service développeur.

    Les compartiments et les nouveaux objets sont chiffrés à l'aide d'un chiffrement côté serveur avec une clé gérée par Amazon S3 comme niveau de base de configuration du chiffrement. Pour plus d'informations sur le chiffrement par défaut, consultez Définition du comportement de chiffrement côté serveur par défaut pour les compartiments Amazon S3.

    Pour en savoir plus sur l'utilisation du chiffrement côté serveur Amazon S3 pour chiffrer vos données, consultez Utilisation du chiffrement côté serveur avec des clés gérées par Amazon S3 (SSE-S3).

  15. Si vous avez choisi AWS Key Management Service la touche (SSE-KMS), procédez comme suit :

    1. Sous AWS KMS clé, spécifiez votre KMS clé de l'une des manières suivantes :

      • Pour choisir parmi une liste de KMS clés disponibles, choisissez Choisir parmi vos AWS KMS keys, puis choisissez votre KMSclé dans la liste des clés disponibles.

        La clé Clé gérée par AWS (aws/s3) et la clé gérée par votre client apparaissent toutes deux dans cette liste. Pour plus d'informations sur les clés gérées par le client, consultez Clés de client et clés AWS dans le Guide du développeur AWS Key Management Service .

      • Pour saisir la KMS cléARN, choisissez Entrée AWS KMS key ARN, puis entrez votre KMS clé ARN dans le champ qui apparaît.

      • Pour créer une nouvelle clé gérée par le client dans la AWS KMS console, choisissez Create a KMS key.

        Pour plus d'informations sur la création d'un AWS KMS key, consultez la section Création de clés dans le Guide du AWS Key Management Service développeur.

      Important

      Vous ne pouvez utiliser que KMS les clés disponibles dans le même compartiment Région AWS que le bucket. La console Amazon S3 répertorie uniquement les 100 premières KMS clés de la même région que le compartiment. Pour utiliser une KMS clé qui n'est pas répertoriée, vous devez saisir votre KMS cléARN. Si vous souhaitez utiliser une KMS clé appartenant à un autre compte, vous devez d'abord être autorisé à utiliser la clé, puis vous devez la KMS saisirARN. Pour plus d'informations sur les autorisations entre comptes pour KMS les clés, consultez la section Création de KMS clés utilisables par d'autres comptes dans le guide du AWS Key Management Service développeur. Pour plus d'informations sur SSE -KMS, voirSpécification du chiffrement côté serveur avec AWS KMS (SSE-) KMS.

      Lorsque vous utilisez un AWS KMS key pour le chiffrement côté serveur dans Amazon S3, vous devez choisir une clé de chiffrement symétrique. KMS Amazon S3 ne prend en charge que les clés de chiffrement symétriques et non KMS les clés asymétriquesKMS. Pour plus d'informations, consultez la section Identification des KMS clés symétriques et asymétriques dans le manuel du AWS Key Management Service développeur.

      Pour plus d'informations sur la création d'un AWS KMS key, consultez la section Création de clés dans le Guide du AWS Key Management Service développeur. Pour plus d'informations sur l'utilisation AWS KMS avec Amazon S3, consultezUtilisation du chiffrement côté serveur avec des AWS KMS clés (SSE-) KMS.

    2. Lorsque vous configurez votre compartiment pour utiliser le chiffrement par défaut avec SSE -KMS, vous pouvez également activer les clés de compartiment S3. Les clés de compartiment S3 réduisent le coût du chiffrement en diminuant le trafic de demandes d'Amazon S3 vers AWS KMS. Pour de plus amples informations, veuillez consulter Réduction du coût de SSE : KMS avec les clés de compartiment Amazon S3.

      Pour utiliser les clés de compartiment S3, sous la Clé de compartiment, choisissez Activer.

  16. (Facultatif) Si vous souhaitez activer le verrouillage des objets S3, procédez comme suit :

    1. Choisissez Advanced Settings (Paramètres avancés).

      Important

      L'activation du verrouillage d'objet active également la gestion des versions pour le compartiment. Après l'avoir activé, vous devez configurer les paramètres de conservation et de mise en suspens juridique par défaut du verrouillage d'objets pour protéger les nouveaux objets contre la suppression ou l'écrasement.

    2. Pour activer le verrouillage d'objets, choisissez Enable (Activer), lisez l'avertissement qui s'affiche et confirmez-le.

    Pour plus d’informations, consultez Verrouiller des objets avec Object Lock.

    Note

    Pour créer un compartiment prenant en charge le verrouillage d'objets, vous devez disposer des autorisations suivantes : s3:CreateBucket, s3:PutBucketVersioning et s3:PutBucketObjectLockConfiguration.

  17. Choisissez Créer un compartiment.

Lorsque vous utilisez le AWS SDKs pour créer un bucket, vous devez créer un client, puis utiliser le client pour envoyer une demande de création d'un bucket. En tant que bonne pratique, vous devez créer votre client et votre compartiment dans la même Région AWS. Si vous ne spécifiez pas de région lorsque vous créez un client ou un compartiment, Amazon S3 utilise USA Est (Virginie du Nord), la région par défaut. Si vous souhaitez limiter la création du compartiment à une  Région AWS spécifique, utilisez la clé de condition LocationConstraint.

Pour créer un client afin d'accéder à un point de terminaison Dual-Stack, vous devez spécifier une Région AWS. Pour plus d'informations, consultez la section Utilisation des points de terminaison à double pile Amazon S3 dans le manuel Amazon S3 API Reference. Pour obtenir la liste des régions disponibles Régions AWS, consultez la section Régions et points de terminaison dans le Références générales AWS.

Lorsque vous créez un client, la Région est mappée au point de terminaison spécifique à la Région. Le client utilise ce point de terminaison pour communiquer avec Amazon S3 : s3.region.amazonaws.com. Si votre Région a été lancée après le 20 mars 2019, votre client et votre compartiment doivent se trouver dans la même Région. Par conséquent, vous pouvez utiliser un client dans la Région USA Est (Virginie du Nord) pour créer un compartiment dans n'importe quelle Région lancée avant le 20 mars 2019. Pour de plus amples informations, veuillez consulter Points de terminaison hérités.

Ces exemples de AWS SDK code exécutent les tâches suivantes :

  • Créer un client en indiquant explicitement une Région AWS : dans l'exemple, le client utilise le point de terminaison s3.us-west-2.amazonaws.com pour communiquer avec Amazon S3. Vous pouvez spécifier n'importe quelle Région AWS. Pour en obtenir la liste Régions AWS, voir Régions et points de terminaison dans le manuel de référence AWS général.

  • Envoyer une demande de création de compartiment en indiquant uniquement un nom de compartiment : le client envoie une demande à Amazon S3 pour créer le compartiment dans la région où vous avez créé un client.

  • Récupérer des informations relatives à l'emplacement du compartiment : Amazon S3 stocke les informations relatives à l'emplacement du compartiment dans la sous-ressource de l'emplacement associée au compartiment.

Java

Cet exemple montre comment créer un compartiment Amazon S3 à l'aide du kit AWS SDK for Java. Pour obtenir des instructions sur la création et le test d'un échantillon fonctionnel, voir Getting Started dans le guide du AWS SDK for Java développeur.

import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.CreateBucketRequest; import com.amazonaws.services.s3.model.GetBucketLocationRequest; import java.io.IOException; public class CreateBucket2 { public static void main(String[] args) throws IOException { Regions clientRegion = Regions.DEFAULT_REGION; String bucketName = "*** Bucket name ***"; try { AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider()) .withRegion(clientRegion) .build(); if (!s3Client.doesBucketExistV2(bucketName)) { // Because the CreateBucketRequest object doesn't specify a region, the // bucket is created in the region specified in the client. s3Client.createBucket(new CreateBucketRequest(bucketName)); // Verify that the bucket was created by retrieving it and checking its // location. String bucketLocation = s3Client.getBucketLocation(new GetBucketLocationRequest(bucketName)); System.out.println("Bucket location: " + bucketLocation); } } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it and returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }
.NET

Pour plus d'informations sur la création et le test d'un échantillon de travail, voir AWS SDKpour. NETAPIRéférence de la version 3.

using Amazon; using Amazon.S3; using Amazon.S3.Model; using Amazon.S3.Util; using System; using System.Threading.Tasks; namespace Amazon.DocSamples.S3 { class CreateBucketTest { private const string bucketName = "*** bucket name ***"; // Specify your bucket region (an example region is shown). private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2; private static IAmazonS3 s3Client; public static void Main() { s3Client = new AmazonS3Client(bucketRegion); CreateBucketAsync().Wait(); } static async Task CreateBucketAsync() { try { if (!(await AmazonS3Util.DoesS3BucketExistAsync(s3Client, bucketName))) { var putBucketRequest = new PutBucketRequest { BucketName = bucketName, UseClientRegion = true }; PutBucketResponse putBucketResponse = await s3Client.PutBucketAsync(putBucketRequest); } // Retrieve the bucket location. string bucketLocation = await FindBucketLocationAsync(s3Client); } catch (AmazonS3Exception e) { Console.WriteLine("Error encountered on server. Message:'{0}' when writing an object", e.Message); } catch (Exception e) { Console.WriteLine("Unknown encountered on server. Message:'{0}' when writing an object", e.Message); } } static async Task<string> FindBucketLocationAsync(IAmazonS3 client) { string bucketLocation; var request = new GetBucketLocationRequest() { BucketName = bucketName }; GetBucketLocationResponse response = await client.GetBucketLocationAsync(request); bucketLocation = response.Location.ToString(); return bucketLocation; } } }
Ruby

Pour plus d'informations sur la création et le test d'un échantillon fonctionnel, consultez AWS SDKRuby - Version 3.

require 'aws-sdk-s3' # Wraps Amazon S3 bucket actions. class BucketCreateWrapper attr_reader :bucket # @param bucket [Aws::S3::Bucket] An Amazon S3 bucket initialized with a name. This is a client-side object until # create is called. def initialize(bucket) @bucket = bucket end # Creates an Amazon S3 bucket in the specified AWS Region. # # @param region [String] The Region where the bucket is created. # @return [Boolean] True when the bucket is created; otherwise, false. def create?(region) @bucket.create(create_bucket_configuration: { location_constraint: region }) true rescue Aws::Errors::ServiceError => e puts "Couldn't create bucket. Here's why: #{e.message}" false end # Gets the Region where the bucket is located. # # @return [String] The location of the bucket. def location if @bucket.nil? 'None. You must create a bucket before you can get its location!' else @bucket.client.get_bucket_location(bucket: @bucket.name).location_constraint end rescue Aws::Errors::ServiceError => e "Couldn't get the location of #{@bucket.name}. Here's why: #{e.message}" end end # Example usage: def run_demo region = "us-west-2" wrapper = BucketCreateWrapper.new(Aws::S3::Bucket.new("amzn-s3-demo-bucket-#{Random.uuid}")) return unless wrapper.create?(region) puts "Created bucket #{wrapper.bucket.name}." puts "Your bucket's region is: #{wrapper.location}" end run_demo if $PROGRAM_NAME == __FILE__

Vous pouvez également utiliser le AWS Command Line Interface (AWS CLI) pour créer un compartiment S3. Pour plus d’informations, consultez create-bucket dans la Référence des commandes AWS CLI .

Pour plus d'informations sur le AWS CLI, voir Qu'est-ce que le AWS Command Line Interface ? dans le guide de AWS Command Line Interface l'utilisateur.