Creazione di un bucket - Amazon Simple Storage Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione di un bucket

Per caricare i dati su Amazon S3, innanzitutto è necessario creare un bucket Amazon S3 in una delle Regioni AWS. Quando si crea un bucket, è necessario scegliere il nome del bucket e una regione. Facoltativamente, è possibile scegliere altre opzioni di gestione dello storage per il bucket. Dopo avere creato un bucket, non è possibile modificare il nome del bucket o la regione. Per ulteriori informazioni sulla denominazione dei bucket, consulta Regole di denominazione dei bucket.

Chi crea Account AWS il bucket ne è proprietario. È possibile caricare un numero qualsiasi di oggetti nel bucket. Per impostazione predefinita, puoi creare fino a 100 bucket in ciascuno dei tuoi. Account AWS Se necessiti di più bucket, puoi aumentare il limite di bucket dell'account fino a un massimo di 1.000 bucket richiedendo un aumento del limite di servizio. Per informazioni su come inviare una richiesta di aumento del limite di bucket, consulta Quote di Servizio AWS in Riferimenti generali di AWS . È possibile archiviare un numero qualsiasi di oggetti in un bucket.

S3 Proprietà dell'oggetto è un'impostazione a livello di bucket Amazon S3 che puoi utilizzare per controllare la proprietà degli oggetti caricati nel bucket e per disabilitare o abilitare le liste di controllo degli accessi (ACL). Per impostazione predefinita, Proprietà dell'oggetto è impostata su Proprietario del bucket applicato e tutte le liste di controllo degli accessi (ACL) sono disabilitate. Con le ACL disabilitate, il proprietario del bucket dispone di ogni oggetto nel bucket e gestisce l'accesso ai dati in maniera esclusiva utilizzando policy.

Per ulteriori informazioni, consulta Controllo della proprietà degli oggetti e disabilitazione degli ACL per il bucket.

La crittografia lato server con le chiavi gestite da Amazon S3 (SSE-S3) è il livello di base della crittografia per ogni bucket di Amazon S3. Tutti i nuovi oggetti caricati in un bucket S3 vengono crittografati automaticamente con SSE-S3 come livello base di impostazione della crittografia. Se desideri utilizzare un tipo diverso di crittografia predefinita per la crittografia dei dati, puoi anche specificare la crittografia lato server con chiavi AWS Key Management Service (AWS KMS) o chiavi fornite dal cliente (SSE-C). Per ulteriori informazioni, consulta Impostazione del comportamento predefinito della crittografia lato server per i bucket Amazon S3.

Puoi usare la console Amazon S3, le API Amazon S3 AWS o gli SDK per AWS CLI creare un bucket. Per ulteriori informazioni sulle autorizzazioni necessarie per creare un bucket, consulta il riferimento CreateBucketall'API di Amazon Simple Storage Service.

  1. Accedi AWS Management Console e apri la console Amazon S3 all'indirizzo https://console.aws.amazon.com/s3/.

  2. Nel pannello di navigazione a sinistra, scegli Buckets (Bucket).

  3. Scegliere Create bucket (Crea bucket).

    Viene visualizzata la pagina Create bucket (Crea bucket).

  4. In Nome bucket, immettere il nome del bucket.

    Il nome del bucket deve:

    • Essere univoco all'interno di una partizione. Una partizione è un raggruppamento di regioni. AWS ha attualmente tre partizioni: aws (regioni standard), aws-cn (regioni Cina) e aws-us-gov (AWS GovCloud (US) Regions).

    • Deve contenere da 3 a 63 caratteri

    • Essere costituito solo da lettere minuscole, numeri, punti (.) e trattini (-). Per una migliore compatibilità, si consiglia di evitare l'utilizzo di punti (.) nei nomi dei bucket, ad eccezione dei bucket utilizzati solo per l'hosting di siti Web statici.

    • Iniziare e finire con una lettera o un numero.

    Una volta creato il bucket, non è possibile modificarne il nome. Per ulteriori informazioni sulla denominazione dei bucket, consulta Regole di denominazione dei bucket.

    Importante

    Evitare di includere informazioni riservate, ad esempio numeri di account, nel nome del bucket. Il nome bucket è visibile nell'URL che punta agli oggetti nel bucket.

  5. Per Regione, scegli Regione AWS dove vuoi che risieda il bucket.

    Scegli una regione nelle tue vicinanze per ridurre al minimo la latenza e i costi o essere conforme ai requisiti normativi. Gli oggetti archiviati in una regione non la lasciano mai a meno che non vengano trasferiti esplicitamente in un'altra regione. Per un elenco di Amazon S3 Regioni AWS, consulta gli Servizio AWS endpoint in. Riferimenti generali di Amazon Web Services

  6. Alla voce Proprietà oggetto, per disabilitare o abilitare le ACL e controllare la proprietà degli oggetti caricati nel bucket, scegliere una delle seguenti impostazioni:

    ACL disabilitate
    • Proprietario del bucket applicato (impostazione predefinita): le ACL sono disabilitate e il proprietario del bucket possiede automaticamente e ha il controllo completo di ogni oggetto nel bucket. Le liste di controllo degli accessi (ACL) non influiscono più sulle autorizzazioni di accesso ai dati nel bucket S3. Il bucket utilizza le policy esclusivamente per definire il controllo degli accessi.

      Per impostazione predefinita, le ACL sono disabilitate. La maggior parte degli attuali casi d'uso in Amazon S3 non richiede più l'uso delle ACL. È consigliabile mantenere le ACL disabilitate, tranne in circostanze insolite in cui è necessario controllare individualmente l'accesso per ciascun oggetto. Per ulteriori informazioni, consulta Controllo della proprietà degli oggetti e disabilitazione degli ACL per il bucket.

    ACL abilitate
    • Proprietario del bucket scelto – Il proprietario del bucket possiede e ha il pieno controllo sui nuovi oggetti che altri account scrivono nel bucket con l'ACL predefinita bucket-owner-full-control.

      Se applichi l'impostazione Proprietario del bucket preferito, per richiedere che tutti i caricamenti di Amazon S3 includano l'ACL predefinita bucket-owner-full-control, puoi aggiungere una policy del bucket che consenta solo il caricamento di oggetti che utilizzano questa ACL.

    • Object writer: chi carica un oggetto possiede l'oggetto, ne ha il pieno controllo e può concedere ad altri utenti l'accesso ad esso tramite ACL. Account AWS

    Nota

    L'impostazione predefinita è Proprietario del bucket applicato. Per applicare l'impostazione predefinita e mantenere gli ACL disabilitati, è necessaria solo l'autorizzazione s3:CreateBucket. Per abilitare gli ACL, è necessario disporre dell'autorizzazione s3:PutBucketOwnershipControls.

  7. In Impostazioni di blocco dell'accesso pubblico per questo bucket scegli le impostazioni di blocco dell'accesso pubblico che vuoi applicare al bucket.

    Per impostazione predefinita, tutte e quattro le impostazioni Blocco dell'accesso pubblico sono abilitate. È consigliabile mantenere tutte le impostazioni abilitate, a meno che non sia necessario disattivarne una o più di una per il caso d'uso specifico. Per ulteriori informazioni sul blocco dell'accesso pubblico, consulta Blocco dell'accesso pubblico allo storage Amazon S3.

    Nota

    Per abilitare tutte le impostazioni Blocco dell'accesso pubblico, è richiesta solo l'autorizzazione s3:CreateBucket. Per disattivare le impostazioni Blocco dell'accesso pubblico, è necessario disporre dell'autorizzazione s3:PutBucketPublicAccessBlock.

  8. (Facoltativo) In Bucket Versioning (Controllo delle versioni bucket), puoi scegliere se conservare varianti degli oggetti nel bucket. Per ulteriori informazioni sulla funzione Controllo delle versioni, consulta Utilizzo della funzione Controllo delle versioni nei bucket S3.

    Per disabilitare o abilitare il controllo delle versioni nel bucket, scegli Disable (Disabilita) o Enable (Abilita).

  9. (Facoltativo) In Tags (Tag), puoi scegliere di aggiungere tag al bucket. I tag sono coppie chiave-valore utilizzate per classificare lo spazio di archiviazione.

    Per aggiungere un tag al bucket, inserisci un valore in Key (Chiave) e facoltativamente un valore in Value (Valore), quindi scegli Add Tag (Aggiungi tag).

  10. In Default encryption (Crittografia di default), scegliere Edit (Modifica).

  11. Per configurare la crittografia predefinita, in Tipo di crittografia scegli una delle seguenti opzioni:

    • Chiavi gestite Amazon S3 (SSE-S3)

    • AWS Key Management Service chiave (SSE-KMS)

      Importante

      Se usi l'opzione SSE-KMS per la configurazione della crittografia predefinita, sei soggetto alla quota delle richieste al secondo di AWS KMS. Per ulteriori informazioni sulle AWS KMS quote e su come richiedere un aumento delle quote, consulta Quotas nella Developer Guide.AWS Key Management Service

    I bucket e i nuovi oggetti sono crittografati con la crittografia lato server con una chiave gestita da Amazon S3 come livello base di configurazione della crittografia. Per ulteriori informazioni sulla crittografia predefinita, consulta Impostazione del comportamento predefinito della crittografia lato server per i bucket Amazon S3.

    Per ulteriori informazioni sull'utilizzo della crittografia lato server di Amazon S3 per crittografare i dati, consulta Uso della crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3).

  12. Se scegli Chiave AWS Key Management Service (SSE-KMS), procedi come segue:

    1. In Chiave AWS KMS specifica la tua chiave KMS in uno dei seguenti modi:

      • Per scegliere da un elenco di chiavi KMS disponibili, scegli tra le tue AWS KMS keys chiavi KMS e scegli la tua chiave KMS dall'elenco delle chiavi disponibili.

        In questo elenco vengono visualizzate sia la chiave Chiave gestita da AWS (aws/s3) che quella gestita dai clienti. Per ulteriori informazioni sulle chiavi gestite dal cliente, consulta Chiavi gestite dal cliente e chiavi AWS nella Guida per gli sviluppatori di AWS Key Management Service .

      • Per specificare l'ARN della chiave KMS, scegli Inserisci l'ARN della AWS KMS key e quindi specifica l'ARN della chiave KMS nel campo visualizzato.

      • Per creare una nuova chiave gestita dal cliente nella AWS KMS console, scegli Crea una chiave KMS.

        Per ulteriori informazioni sulla creazione di una AWS KMS key, consulta Creating keys nella AWS Key Management Service Developer Guide.

      Importante

      Puoi utilizzare solo le chiavi KMS disponibili nello Regione AWS stesso bucket. La console Amazon S3 elenca solo le prime 100 chiavi KMS nella stessa regione del bucket. Per utilizzare una chiave KMS non elencata, devi inserire l'ARN della chiave KMS. Se desideri utilizzare una chiave KMS di proprietà di un account diverso, è necessario innanzitutto disporre dell'autorizzazione necessaria per l'uso della chiave e quindi inserire l'ARN della chiave KMS. Per ulteriori informazioni sulle autorizzazioni tra account per le chiavi KMS, consulta Creazione di chiavi KMS utilizzabili da altri account nella Guida per gli sviluppatori di AWS Key Management Service . Per ulteriori informazioni su SSE-KMS, consulta Specifica della crittografia lato server con AWS KMS (SSE-KMS).

      Quando utilizzi una chiave KMS AWS KMS key per la crittografia lato server in Amazon S3, devi scegliere una chiave KMS di crittografia simmetrica. Amazon S3 supporta solo chiavi KMS di crittografia simmetriche e non chiavi KMS asimmetriche. Per ulteriori informazioni, consulta Identificazione delle chiavi KMS simmetriche e asimmetriche nella Guida per gli sviluppatori di AWS Key Management Service .

      Per ulteriori informazioni sulla creazione di una AWS KMS key, consulta Creating keys nella Developer Guide.AWS Key Management Service Per ulteriori informazioni sull'utilizzo AWS KMS con Amazon S3, consulta. Utilizzo della crittografia lato server con chiavi (SSE-KMS) AWS KMS

    2. Quando configuri il bucket per utilizzare la crittografia predefinita con SSE-KMS puoi anche abilitare le chiavi bucket S3. S3 Bucket Keys riduce il costo della crittografia diminuendo il traffico di richieste da Amazon S3 a. AWS KMS Per ulteriori informazioni, consulta Riduzione del costo di SSE-KMS con le chiavi bucket Amazon S3.

      Per utilizzare le chiavi bucket S3, in Chiave bucket seleziona Abilita.

  13. (Facoltativo) Se si desidera abilitare il blocco oggetti S3, effettua le seguenti operazioni:

    1. Scegli Impostazioni avanzate.

      Importante

      L'abilitazione del blocco oggetti consente anche la funzione Controllo delle versioni del bucket. Dopo averlo abilitato, per il blocco di oggetti è necessario configurare le impostazioni predefinite di conservazione e di blocco di carattere legale per proteggere i nuovi oggetti dall'eliminazione o dalla sovrascrittura.

    2. Se desideri abilitare il blocco degli oggetti, scegli Enable (Abilita), leggi l'avviso visualizzato e confermalo.

    Per ulteriori informazioni, consulta Utilizzo del blocco oggetti S3.

    Nota

    Per creare un bucket abilitato per il blocco degli oggetti, devi disporre delle seguenti autorizzazioni: s3:CreateBucket, s3:PutBucketVersioning e s3:PutBucketObjectLockConfiguration.

  14. Seleziona Crea bucket.

Quando utilizzi gli AWS SDK per creare un bucket, devi creare un client e quindi utilizzare il client per inviare una richiesta di creazione di un bucket. Come best practice, crea il client e il bucket nella stessa Regione AWS. Se non specifichi una regione quando crei un client o un bucket, Amazon S3 utilizza la regione predefinita Stati Uniti orientali (Virginia settentrionale). Se vuoi limitare la creazione del bucket a una  Regione AWS specifica, utilizza la chiave di condizione LocationConstraint.

Per creare un client per accedere a un endpoint dual-stack, è necessario specificare una Regione AWS. Per ulteriori informazioni, consulta Endpoint dual-stack. Per un elenco di quelli disponibili Regioni AWS, consulta Regioni ed endpoint in. Riferimenti generali di AWS

Quando si crea un client, la regione viene mappata all'endpoint specifico della regione. Il client utilizza questo endpoint per comunicare con Amazon S3: s3.region.amazonaws.com. Se la tua regione è stata lanciata dopo il 20 marzo 2019, il tuo client e il tuo bucket devono trovarsi nella stessa regione. Puoi comunque utilizzare un client nella regione Stati Uniti orientali (Virginia settentrionale) per creare un bucket in qualsiasi regione lanciata prima del 20 marzo 2019. Per ulteriori informazioni, consulta Endpoint legacy.

Questi esempi di codice AWS SDK eseguono le seguenti attività:

  • Creare un client specificando esplicitamente una Regione AWS: nell'esempio, il client utilizza l'endpoint s3.us-west-2.amazonaws.com per comunicare con Amazon S3. Puoi specificare qualsiasi Regione AWS. Per un elenco di Regioni AWS, consulta Regioni ed endpoint nel Riferimento AWS generale.

  • Inviare una richiesta di creazione di bucket specificando solo il nome del bucket: il client invia ad Amazon S3 la richiesta di creare il bucket nella regione in cui hai creato un client.

  • Recuperare le informazioni sulla posizione del bucket: Amazon S3 memorizza le informazioni sulla posizione del bucket nella risorsa secondaria posizione associata al bucket.

Java

Questo esempio mostra come creare un bucket Amazon S3 utilizzando la AWS SDK for Java. Per istruzioni su come creare e testare un esempio di utilizzo, consulta Test degli esempi di codice Java di Amazon S3.

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

Per informazioni su come creare e testare un esempio di utilizzo, consulta Esecuzione degli esempi di codice .NET di Amazon S3.

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

Per informazioni su come creare e testare un esempio di utilizzo, consulta Utilizzo dell'AWS SDK for Ruby - Versione 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("doc-example-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__

Puoi anche usare AWS Command Line Interface (AWS CLI) per creare un bucket S3. Per ulteriori informazioni, consulta create-bucket nella Guida di riferimento ai comandi della AWS CLI .

Per informazioni su AWS CLI, consulta What is the? AWS Command Line Interface nella Guida AWS Command Line Interface per l'utente.