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 uno spazio dei nomi 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 della Cina), aws-us-gov (AWS GovCloud (Stati Uniti)) e aws-eusc (European Sovereign Cloud). Quando crei un bucket generico, puoi scegliere di creare un bucket nello spazio dei nomi globale condiviso. Puoi anche scegliere di creare un bucket nel namespace regionale del tuo account. Lo spazio dei nomi regionale del tuo account è una suddivisione dello spazio dei nomi globale in cui solo il tuo account può creare bucket.

Secchielli globali per uso generico

Per impostazione predefinita, si creano bucket globali per scopi generici 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 si elimina un bucket globale generico, il nome del bucket diventa nuovamente disponibile nello spazio dei nomi globale per consentire a chiunque lo possa ricreare.

Quando si creano bucket globali generici, è possibile richiedere qualsiasi nome che rispetti le regole di denominazione dei bucket. Queste regole includono la specificazione di un nome con una lunghezza compresa tra 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, vedere. Regole di denominazione dei bucket per uso generico

Quando si specifica un nome di bucket globale per uso generico, è 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

È possibile creare bucket globali generici per avere la massima flessibilità nella selezione dei nomi di bucket richiesti. Poiché si tratta di uno spazio dei nomi globale condiviso, altri account possono creare nomi di bucket simili. Altri account possono anche 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.

Spazio dei nomi regionali degli account (bucket generici).

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. Lo spazio dei nomi regionale dell'account è una suddivisione riservata dello spazio dei nomi globale del bucket. Solo il tuo account può creare bucket generici in questo namespace. I nuovi bucket generici creati nel namespace regionale del tuo account sono esclusivi 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 nello spazio dei nomi globale condiviso. Le tue applicazioni non richiedono alcuna modifica per interagire con i bucket nel namespace regionale del tuo account.

Nota

Puoi creare bucket nello spazio dei nomi regionali del tuo account in tutte le AWS regioni tranne Medio Oriente (Bahrein) e Medio Oriente (Emirati Arabi Uniti).

La creazione di bucket nel namespace regionale del tuo account è una best practice di sicurezza. Questi nomi di bucket possono essere utilizzati solo dal tuo account. Puoi creare bucket nello spazio dei nomi regionali del tuo account per modellare facilmente nomi di bucket generici in più regioni. AWS Puoi essere certo che nessun altro account possa 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 degli account

I bucket generici presenti nello spazio dei nomi regionali dell'account devono seguire una convenzione di denominazione specifica. Questi bucket sono costituiti da un prefisso del nome del bucket creato dall'utente e da un suffisso che contiene l'ID dell' AWS account a 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 regionali dell'account per l' AWS account 111122223333 nella regione us-west-2:

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

Per creare un bucket nello spazio dei nomi regionali del tuo account, fai una richiesta. CreateBucket Specificate l'intestazione della x-amz-bucket-namespace richiesta con il valore impostato su. account-regional Specificate anche il nome del bucket con il formato dello 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 regionali 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 nello spazio dei nomi regionali 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, vediAWS Formato del codice regionale.

Integrazione dello spazio dei nomi regionali dell'account nei modelli CloudFormation

Puoi aggiornare i tuoi infrastructure-as-code strumenti, ad esempio CloudFormation per semplificare la creazione di bucket nel namespace regionale del tuo account. CloudFormation offre gli pseudo parametri e. AWS::AccountId AWS::Region 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 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 tuo CloudFormation modello. Ti BucketNamePrefix consente di fornire semplicemente la parte definita dal cliente del nome del bucket. Quindi aggiunge automaticamente il suffisso dello spazio dei nomi regionale dell'account in base all'account e alla regione richiedenti specificati. AWS AWS

Utilizzando queste opzioni, puoi creare un CloudFormation modello personalizzato per creare facilmente bucket generici nello spazio dei nomi regionali 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, si applicano le seguenti considerazioni:

  • Un nome di 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 può quindi 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 che desideri potrebbero essere già 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 relativi nomi, un'applicazione che utilizza un nome di bucket errato in una richiesta potrebbe inavvertitamente eseguire operazioni su un bucket diverso dal 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 nello spazio dei nomi regionali dell'account, si applicano le seguenti restrizioni e considerazioni:

  • Qualsiasi tentativo di ricreare un bucket di namespace regionale di un account che già possiedi in qualsiasi AWS regione restituirà un errore HTTP 409. BucketAlreadyOwnedByYou

  • Dovresti utilizzare gli endpoint regionali S3 per creare bucket nello spazio dei nomi regionali del tuo account. Per motivi di 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 dell'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 a disposizione 37 caratteri per il prefisso del nome del bucket.

AWS Formato del codice regionale

Per creare un bucket nello spazio dei nomi regionali 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 per creare i bucket nello spazio dei nomi regionali del tuo account:

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

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

Richiede la creazione di bucket nel namespace regionale del tuo account

Puoi fare in modo che i tuoi IAM responsabili creino bucket solo nel namespace regionale del tuo account. Usa il tasto condition. s3:x-amz-bucket-namespace Gli esempi seguenti mostrano come applicare la creazione di bucket regionali di account in una IAM politica, una politica di controllo delle risorse o una politica di controllo dei servizi.

IAM politica

La seguente IAM politica nega l'CreateBucket autorizzazione s3: al IAM principale se la richiesta non include l' x-amz-bucket-namespaceintestazione 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' x-amz-bucket-namespaceintestazione 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 Service Control Policy nega l'CreateBucket autorizzazione s3: a tutti se la richiesta non include l'intestazione impostata su account-regional. x-amz-bucket-namespace

{ "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.

Utilizzando il AWS CLI

L' AWS CLI esempio seguente crea un bucket generico nello spazio dei nomi regionali 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