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 del 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 vedere i vantaggi dell'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 solo i test Account AWS per creare un bucket denominato
bea-data-teste configura la sua applicazione a cui effettuare richieste.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 previsto del bucket 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), AWS SDK e le API REST di Amazon S3. Quando usi la condizione bucket owner con le API REST di Amazon S3 AWS CLI e Amazon S3, utilizza i seguenti nomi di parametro.
| 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 |
| REST API di Amazon S3 | 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 proprietario del bucket con gli SDK AWS
variano a seconda della lingua. Per determinare i parametri richiesti, consulta la documentazione SDK relativa alla lingua desiderata. È possibile trovare la documentazione SDK in Strumenti per creare in AWS
Esempi
Gli esempi seguenti mostrano come è possibile implementare la condizione di proprietario del bucket in Amazon S3 utilizzando o. AWS CLI AWS SDK for Java 2.x
Esempio
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-bucket1111122223333.
Esempio
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
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-bucket1111122223333.
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 CreateBucket nessuna delle operazioni incluse in S3 Control. ListBuckets AWS 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.