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à.
Verifica della proprietà del bucket con condizione del proprietario del bucket
La condizione di proprietario dei bucket Amazon S3 garantisce che i bucket utilizzati nelle operazioni S3 appartengano a quelli previsti. Account AWS
La maggior parte delle operazioni S3 legge da o scrive in bucket S3 specifici. Queste operazioni includono il caricamento, la copia e il download di oggetti, il recupero o la modifica delle configurazioni dei bucket e il recupero o la modifica delle configurazioni degli oggetti. Quando esegui queste operazioni, specifichi il bucket da utilizzare includendo il suo nome nella richiesta. Ad esempio, per recuperare un oggetto da S3, effettui una richiesta che specifica il nome di un bucket e la chiave oggetto da recuperare da quel bucket.
Poiché Amazon S3 identifica i bucket in base ai loro nomi, un'applicazione che utilizza un nome bucket non corretto in una richiesta potrebbe accidentalmente 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. La condizione proprietario del bucket consente di verificare che il bucket di destinazione sia di proprietà dell' Account AWS previsto, fornendo un ulteriore livello di garanzia sul fatto che le operazioni S3 avranno gli effetti desiderati.
Argomenti
Quando utilizzare la condizione proprietario del bucket
È consigliabile utilizzare la condizione proprietario del bucket ogni volta che esegui un'operazione S3 supportata e conosci l'ID account del proprietario del bucket previsto. La condizione proprietario del bucket è disponibile per tutte le operazioni oggetto S3 e la maggior parte delle operazioni bucket S3. Per un elenco delle operazioni S3 che non supportano la condizione proprietario del bucket, consulta Restrizioni e limitazioni.
Per scoprire i vantaggi derivanti dall'utilizzo della condizione di proprietario del bucket, considera il seguente scenario che coinvolge il cliente Bea: AWS
-
Bea sviluppa un'applicazione che utilizza Amazon S3. Durante lo sviluppo, Bea utilizza i suoi test solo Account AWS per creare un bucket denominato
bea-data-test
e configura la sua applicazione per effettuare richieste a.bea-data-test
-
Bea distribuisce la sua applicazione, ma dimentica di riconfigurarla affinché utilizzi un bucket nel suo Account AWS di produzione.
-
In produzione, l'applicazione di Bea effettua richieste a
bea-data-test
, che hanno esito positivo. In questo modo i dati di produzione vengono scritti nel bucket nell'account di test di Bea.
Bea può prevenire situazioni come questa utilizzando la condizione proprietario del bucket. Con la condizione di proprietario del bucket, Bea può includere l' Account AWS ID del proprietario del bucket previsto nelle sue richieste. Amazon S3 controlla quindi l'ID account del proprietario del bucket prima di elaborare ogni richiesta. Se il proprietario del bucket effettivo non corrisponde al proprietario del bucket previsto, la richiesta ha esito negativo.
Se Bea utilizza la condizione proprietario del bucket, lo scenario descritto in precedenza non comporta la scrittura accidentale dell'applicazione di Bea in un bucket di test. Invece, le richieste effettuate dall'applicazione nella fase 3 avranno esito negativo con un messaggio di errore Access Denied
. Utilizzando la condizione proprietario del bucket, Bea aiuta a eliminare il rischio di interagire accidentalmente con i bucket nell' Account AWS sbagliato.
Verifica del proprietario del bucket
Per utilizzare la condizione proprietario del bucket, includi nella richiesta un parametro che specifichi il proprietario del bucket previsto. La maggior parte delle operazioni S3 coinvolge solo un singolo bucket e richiede solo questo singolo parametro per utilizzare la condizione proprietario del bucket. Per le operazioni CopyObject
, questo primo parametro specifica il proprietario previsto del bucket di destinazione e viene incluso un secondo parametro per specificare il proprietario previsto del bucket di origine.
Quando effettui una richiesta che include un parametro della condizione proprietario del bucket, S3 controlla l'ID account del proprietario del bucket rispetto al parametro specificato prima di elaborare la richiesta. Se il parametro corrisponde all'ID account del proprietario del bucket, S3 elabora la richiesta. Se il parametro non corrisponde all'ID account del proprietario del bucket, la richiesta ha esito negativo con un messaggio di errore Access Denied
.
Puoi utilizzare la condizione di proprietario del bucket con AWS Command Line Interface (AWS CLI) e Amazon REST APIs S3. AWS SDKs Quando utilizzi la condizione di proprietario del bucket con Amazon REST APIs S3, usa i seguenti nomi di parametro. AWS CLI
Metodo di accesso | Parametro per operazioni di non copia | Parametro origine operazione di copia | Parametro destinazione operazione di copia |
---|---|---|---|
AWS CLI | --expected-bucket-owner |
--expected-source-bucket-owner |
--expected-bucket-owner |
Amazon S3 REST APIs | x-amz-expected-bucket-owner Intestazione |
x-amz-source-expected-bucket-owner Intestazione |
x-amz-expected-bucket-owner Intestazione |
I nomi dei parametri necessari per utilizzare la condizione di proprietario del bucket AWS
SDKs variano a seconda della lingua. Per determinare i parametri richiesti, consultate la SDK documentazione relativa alla lingua desiderata. È possibile trovare la SDK documentazione in Tools to Build on AWS
Esempi
Gli esempi seguenti mostrano come implementare la condizione di proprietario del bucket in Amazon S3 utilizzando o AWS CLI il. AWS SDK for Java 2.x
Esempio: caricare un oggetto
Nell'esempio seguente viene mostrato il caricamento di un oggetto nel bucket S3
, utilizzando la condizione di proprietario del bucket per assicurarsi che amzn-s3-demo-bucket1
sia di proprietà dell' Account AWS
amzn-s3-demo-bucket1
111122223333
.
Esempio: copiare un oggetto
Nell'esempio seguente viene mostrata la copia di un oggetto object1
dal bucket S3
nel bucket S3 amzn-s3-demo-bucket1
. Utilizza la condizione proprietario del bucket per garantire che i bucket sono di proprietà degli account previsti secondo la tabella seguente. amzn-s3-demo-bucket2
Bucket | Proprietario previsto |
---|---|
|
111122223333 |
|
444455556666 |
Esempio: recuperare una policy del bucket
Nell'esempio seguente viene recuperata la policy di accesso per il bucket S3
, utilizzando la condizione proprietario del bucket per assicurarsi che amzn-s3-demo-bucket1
sia di proprietà dell'account Account AWS
amzn-s3-demo-bucket1
111122223333
.
Restrizioni e limitazioni
La condizione proprietario del bucket Amazon S3 presenta le seguenti restrizioni e limitazioni:
-
Il valore del parametro della condizione del proprietario del bucket deve essere un Account AWS ID (valore numerico a 12 cifre). I principali del servizio non sono supportati.
-
La condizione di proprietario del bucket non è disponibile per CreateBucketnessuna delle operazioni incluse in S3 Control. ListBucketsAWS Amazon S3 ignora tutti i parametri delle condizioni proprietario del bucket inclusi nelle richieste a queste operazioni.
-
La condizione proprietario del bucket verifica solo che l'account specificato nel parametro di verifica possieda il bucket. La condizione proprietario del bucket non controlla la configurazione del bucket. Inoltre, non garantisce che la configurazione del bucket soddisfi condizioni specifiche o corrisponda a qualsiasi stato passato.