View a markdown version of this page

Namespace per bucket generici - 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à.

Namespace per bucket generici

Per impostazione predefinita, i bucket generici esistono in un namespace globale. Ciò significa che il nome di ogni bucket deve essere univoco per tutti gli AWS account in tutte le AWS regioni all'interno di una partizione. Una partizione è un raggruppamento di regioni. AWS attualmente ha quattro partizioni: aws (Regioni standard), aws-cn (regioni cinesi), (Stati Uniti)) e aws-us-govAWS GovCloud aws-eusc (European Sovereign Cloud). Quando crei un bucket generico, puoi scegliere di creare un bucket nel namespace globale condiviso. Puoi anche scegliere di creare un bucket nel namespace regionale del tuo account. Il namespace regionale del tuo account è una suddivisione del namespace globale in cui solo il tuo account può creare bucket.

Bucket globali per uso generico

Per impostazione predefinita, si creano bucket globali per uso generico nello spazio dei nomi globale condiviso. Dopo aver creato un bucket generico nello spazio dei nomi globale condiviso, il nome del bucket non può essere creato da nessun altro all'interno della partizione. Quando elimini un bucket globale per uso generico, il nome del bucket diventa nuovamente disponibile nello spazio dei nomi globale per essere ricreato da chiunque.

Quando crei bucket globali per uso generico, puoi richiedere qualsiasi nome che rispetti le regole di denominazione dei bucket. Queste regole includono la specificazione di un nome composto da 3 (minimo) e 63 (massimo) caratteri. Il nome può essere composto solo da lettere minuscole, numeri, punti (.) e trattini (-). I nomi dei bucket devono iniziare e terminare con una lettera o un numero e non possono contenere due punti adiacenti. Per ulteriori informazioni sulle regole di denominazione dei bucket, consulta. Regole di denominazione dei bucket per uso generico

Quando si specifica un nome di bucket generico globale, è necessario selezionare un nome univoco che non sia già in uso per la partizione. Se tenti di creare un bucket già esistente e di proprietà di qualcun altro, riceverai un errore HTTP 409. BucketAlreadyExists Se tenti di creare un bucket già esistente e di tua proprietà, riceverai un errore HTTP 409. BucketAlreadyOwnedByYou

Puoi creare bucket globali per uso generico per avere la massima flessibilità nella selezione dei nomi dei bucket richiesti. Poiché si tratta di un namespace globale condiviso, altri account possono creare nomi di bucket simili. Anche altri account possono ricreare i nomi dei bucket che hai eliminato in precedenza. Non dovresti fare affidamento su specifiche convenzioni di denominazione dei bucket per scopi di verifica della disponibilità o della sicurezza. Non scrivere il codice presupponendo che il nome del bucket scelto sia disponibile a meno il bucket non sia stato personalmente creato. Un metodo per creare nomi di bucket non prevedibili consiste nell'aggiungere un identificatore univoco globale (GUID) al nome del bucket. Ad esempio, amzn-s3-demo-bucket-a1b2c3d4-5678-90ab-cdef-example11111. Per ulteriori informazioni, consulta Creazione di un bucket che utilizza un GUID nel nome del bucket.

Bucks generici con namespace regionali dell'account

Sebbene i bucket Amazon S3 generici esistano in uno spazio dei nomi globale condiviso, puoi facoltativamente creare bucket nello spazio dei nomi regionale del tuo account. Il namespace regionale dell'account è una suddivisione riservata dello spazio dei nomi dei bucket globale. Solo il tuo account può creare bucket generici in questo namespace. I nuovi bucket generici creati nel namespace regionale del tuo account sono unici per il tuo account. Questi bucket non possono mai essere ricreati da un altro account. Questi bucket supportano tutte le funzionalità e i AWS servizi S3 già supportati dai bucket generici nel namespace globale condiviso. Le tue applicazioni non richiedono modifiche per interagire con i bucket nel namespace regionale del tuo account.

Nota

Puoi creare bucket nel namespace regionale del tuo account in tutte le AWS regioni tranne Medio Oriente (Bahrain) e Medio Oriente (Emirati Arabi Uniti).

La creazione di bucket nel namespace regionale del tuo account è una best practice in materia di sicurezza. Questi nomi di bucket possono essere utilizzati solo dal tuo account. Puoi creare bucket nello spazio dei nomi regionale del tuo account per creare facilmente modelli di nomi di bucket generici in più regioni. AWS Puoi essere certo che nessun altro account può creare nomi di bucket nel tuo namespace. Se un altro account tenta di creare un bucket con il suffisso regionale del tuo account, la richiesta verrà rifiutata. CreateBucket

Convenzione di denominazione dei namespace regionali dell'account

I bucket generici nel namespace regionale del tuo account devono seguire una convenzione di denominazione specifica. Questi bucket sono costituiti da un prefisso per il nome del bucket creato dall'utente e da un suffisso che contiene l'ID AWS account di 12 cifre, il codice regionale e termina con. AWS -an

bucket-name-prefix-accountId-region-an

Ad esempio, il seguente bucket generico esiste nello spazio dei nomi regionale dell'account 111122223333 nella regione us-west-2: AWS

amzn-s3-demo-bucket-111122223333-us-west-2-an

Per creare un bucket nel namespace regionale del tuo account, fai una richiesta. CreateBucket Specifica l'intestazione della x-amz-bucket-namespace richiesta con il valore impostato su. account-regional Specifica anche il nome del bucket formattato nello spazio dei nomi regionale dell'account:. <customer-chosen-name>-<AWS-Account-ID>-<AWS-Region>-an

Nota

Quando crei un bucket generico nello spazio dei nomi regionale del tuo account utilizzando la console, viene aggiunto automaticamente un suffisso al prefisso del nome del bucket fornito. Questo suffisso include l'ID AWS dell'account e la AWS regione in cui hai selezionato per creare il bucket. Quando crei un bucket generico nel namespace regionale del tuo account utilizzando l' CreateBucket API, devi fornire il suffisso completo. Ciò include l'ID AWS dell'account e la AWS regione nella richiesta. Per un elenco dei codici AWS regionali, consultaAWS Formato del codice regionale.

Integrazione del namespace regionale dell'account nel tuo CloudFormation modelli

Puoi aggiornare gli strumenti infrastructure-as-code, ad esempio per semplificare la creazione di bucket nel namespace regionale del tuo CloudFormation account. CloudFormation offre AWS::AccountId gli AWS::Region pseudo parametri e. Questi parametri semplificano la creazione di CloudFormation modelli che creano bucket di namespace regionali degli account. Per ulteriori informazioni, consulta Ottenere AWS valori utilizzando pseudo parametri.

Esempio 1 di utilizzo BucketName con Sub:

BucketName: !Sub "amzn-s3-demo-bucket-${AWS::AccountId}-${AWS::Region}-an" BucketNamespace: "account-regional"

Esempio 2 utilizzando BucketNamePrefix:

BucketNamePrefix: 'amzn-s3-demo-bucket' BucketNamespace: "account-regional"

In alternativa, puoi anche utilizzare la BucketNamePrefix proprietà per aggiornare il CloudFormation modello. Ti BucketNamePrefix consente di fornire semplicemente la parte del nome del bucket definita dal cliente. Quindi aggiunge automaticamente il suffisso dello spazio dei nomi regionale dell'account in base all'account richiesto e alla regione specificati. AWS AWS

Utilizzando queste opzioni, puoi creare un CloudFormation modello personalizzato per creare facilmente bucket generici nel namespace regionale del tuo account. Per ulteriori informazioni, consulta AWS: :S3: :Bucket nella Guida per l'utente. CloudFormation

Restrizioni e considerazioni

Quando si creano bucket nello spazio dei nomi globale condiviso, valgono le seguenti considerazioni:

  • Il nome di un bucket nello spazio dei nomi globale condiviso non può essere utilizzato da un altro AWS account nella stessa partizione finché il bucket non viene eliminato. Dopo aver eliminato un bucket nello spazio dei nomi globale condiviso, tieni presente che un altro AWS account nella stessa partizione può utilizzare lo stesso nome di bucket per un nuovo bucket e quindi può potenzialmente ricevere richieste destinate al bucket eliminato.

  • Quando crei applicazioni che creeranno bucket nello spazio dei nomi globale condiviso, assicurati di considerare che i nomi dei bucket desiderati potrebbero essere già stati utilizzati da un altro account e che altri account potrebbero avere nomi di bucket simili ai tuoi.

  • Poiché Amazon S3 identifica i bucket in base ai loro nomi, un'applicazione che utilizza un nome di bucket errato in una richiesta potrebbe inavvertitamente eseguire operazioni su un bucket diverso da quello previsto. Per evitare interazioni del bucket involontarie in situazioni come questa, puoi utilizzare la condizione proprietario del bucket. Per ulteriori informazioni, consulta Verifica della proprietà del bucket con condizione del proprietario del bucket.

Quando si creano bucket nel namespace regionale dell'account, si applicano le seguenti restrizioni e considerazioni:

  • Qualsiasi tentativo di ricreare un bucket dello spazio dei nomi regionale dell'account che già possiedi in qualsiasi AWS regione restituirà un errore HTTP 409. BucketAlreadyOwnedByYou

  • Dovresti utilizzare gli endpoint regionali S3 per creare bucket nel namespace regionale del tuo account. Per la compatibilità con le versioni precedenti, puoi utilizzare l'endpoint globale legacy per creare bucket nel namespace regionale del tuo account nella regione Stati Uniti orientali (Virginia settentrionale).

  • Il suffisso regionale del tuo account viene conteggiato ai fini del numero massimo di 63 caratteri consentito nei nomi di bucket generici. Quindi, se il suffisso regionale del tuo account è-012345678910-us-east-1-an, allora hai 37 caratteri disponibili per il prefisso del nome del bucket.

AWS Formato del codice regionale

Per creare un bucket nel namespace regionale del tuo account, devi includere la AWS Regione nel suffisso in cui desideri creare il bucket generico. È necessario specificare il codice AWS regionale completo (ad esempio,us-west-2) nel suffisso. Vedi AWS Regioni per un elenco completo dei codici AWS regionali. I seguenti nomi di bucket mostrano due esempi del formato del codice AWS regionale da utilizzare quando crei i bucket nello spazio dei nomi regionale del tuo account:

  • amzn-s3-demo-bucket-012345678910-ap-southeast-1-an

  • amzn-s3-demo-bucket-987654321012-eu-north-1-an

Richiesta della creazione di bucket nel namespace regionale del tuo account

Puoi far sì che i tuoi IAM principali creino bucket solo nel namespace regionale del tuo account. Usa la chiave condizionale. s3:x-amz-bucket-namespace Gli esempi seguenti mostrano come è possibile imporre la creazione di bucket regionali di account in una IAM policy, Resource Control Policy o Service Control Policy.

IAM policy

La seguente IAM policy nega l'CreateBucket autorizzazione s3: al IAM principale se la richiesta non include l'intestazione x-amz-bucket-namespace impostata su account-regional.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RequireAccountRegionalBucketCreation", "Effect": "Deny", "Action": "s3:CreateBucket", "Resource": "*", "Condition": { "StringNotEquals": { "s3:x-amz-bucket-namespace": "account-regional" } } } ] }

Politica di controllo delle risorse

La seguente politica di controllo delle risorse nega l'CreateBucket autorizzazione s3: a tutti se la richiesta non include l'intestazione x-amz-bucket-namespace impostata su account-regional.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "OnlyCreateBucketsInAccountRegionalNamespace", "Effect": "Deny", "Principal": "*", "Action": "s3:CreateBucket", "Resource": "*", "Condition": { "StringNotEquals": { "s3:x-amz-bucket-namespace": "account-regional" } } } ] }

Policy di controllo dei servizi

La seguente politica di controllo dei servizi nega l'CreateBucket autorizzazione s3: a tutti se la richiesta non include l'intestazione x-amz-bucket-namespace impostata su account-regional.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RequireAccountRegionalBucketCreation", "Effect": "Deny", "Action": "s3:CreateBucket", "Resource": "*", "Condition": { "StringNotEquals": { "s3:x-amz-bucket-namespace": "account-regional" } } } ] }

Creazione di un bucket nel namespace regionale del tuo account

Gli esempi seguenti mostrano come creare un bucket generico nel namespace regionale del tuo account.

Utilizzo di AWS CLI

L' AWS CLI esempio seguente crea un bucket generico nello spazio dei nomi regionale dell'account per l' AWS account 012345678910 nella regione Stati Uniti occidentali (California settentrionale) (us-west-1). Per utilizzare questo comando di esempio, sostituisci user input placeholders con le tue informazioni.

aws s3api create-bucket \ --bucket amzn-s3-demo-bucket-012345678910-us-west-1-an \ --bucket-namespace account-regional --region us-west-1 \ --create-bucket-configuration LocationConstraint=us-west-1