Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
Come posso copiare oggetti S3 da un altro account AWS?
Voglio copiare oggetti Amazon Simple Storage Service (Amazon S3) tra account AWS e assicurarmi che l'account di destinazione sia il proprietario degli oggetti copiati.
Risoluzione
Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Gli oggetti in Amazon S3 non sono automaticamente di proprietà dell'account AWS che li carica. Quando modifichi l'impostazione Proprietà dell'oggetto S3, è consigliabile utilizzare l'impostazione Proprietario del bucket applicato. L'impostazione Proprietario del bucket applicato semplifica la gestione degli accessi per i dati archiviati in Amazon S3. Tuttavia, questa opzione disattiva tutte le liste di controllo degli accessi (ACL) del bucket e le ACL su qualsiasi oggetto del bucket.
Quando utilizzi l'impostazione Proprietario del bucket applicato nella Proprietà dell'oggetto S3, lo stesso proprietario del bucket possiede automaticamente tutti gli oggetti in un bucket Amazon S3. Per i bucket esistenti, l'account che carica l'oggetto S3 è il proprietario dell'oggetto a meno che le ACL non vengano esplicitamente disattivate.
Se il metodo esistente si basa sulle ACL per condividere oggetti, identifica i principali che utilizzano le ACL per accedervi. Per ulteriori informazioni, consulta Prerequisiti per la disattivazione delle ACL.
Se non riesci a disattivare le ACL, completa questi passaggi per avere a proprietà degli oggetti fino a quando non potrai modificare la policy del bucket:
-
Nell'account di origine, crea una policy AWS Identity and Access Management (IAM) gestita dal cliente che concede a un'identità IAM l'accesso multi-utente. L'utente IAM deve avere accesso per recuperare oggetti dal bucket di origine e inserirli nel bucket di destinazione.
Esempio di policy:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::source-DOC-EXAMPLE-BUCKET", "arn:aws:s3:::source-DOC-EXAMPLE-BUCKET/*" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::destination-DOC-EXAMPLE-BUCKET", "arn:aws:s3:::destination-DOC-EXAMPLE-BUCKET/*" ] } ] }Nota: l'esempio precedente di policy IAM include solo le autorizzazioni minime richieste per elencare oggetti e copiare oggetti in bucket multi-account. Personalizza le azioni S3 consentite in base al caso d'uso. Per esempio, se l'utente deve copiare oggetti con tag oggetto, devi concedere anche le autorizzazioni per s3:getObjectTagging. Se riscontri errori di autorizzazione, isola i problemi relativi a IAM come utente amministratore.
-
Nell'account di origine, collega la policy gestita dal cliente all'identità IAM.
-
Nell'account di destinazione, imposta Proprietà dell’oggetto S3 sul bucket di destinazione come Proprietario del bucket preferito. L'account di destinazione ora è automaticamente proprietario dei nuovi oggetti caricati con l'ACL impostata su bucket-owner-full-control.
-
Nell'account di destinazione, modifica la policy del bucket di destinazione per concedere all'account di origine l'autorizzazione per caricare oggetti. Inoltre, includi una condizione nella policy del bucket che richieda il caricamento di oggetti per impostare l'ACL bucket-owner-full-control.
Esempio di policy:{ "Version": "2012-10-17", "Id": "Policy1611277539797", "Statement": [ { "Sid": "Stmt1611277535086", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::222222222222:user/Jane" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::destination-DOC-EXAMPLE-BUCKET/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } }, { "Sid": "Stmt1611277877767", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::222222222222:user/Jane" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::destination-DOC-EXAMPLE-BUCKET" } ] }Nota: sostituisci destination-DOC-EXAMPLE-BUCKET con il nome del bucket di destinazione e arn:aws:iam::222222222222:user/Jane con l'ARN dell'identità IAM dell'account di origine.
L'esempio precedente di policy del bucket include solo le autorizzazioni minime richieste per caricare un oggetto con l'ACL richiesta. Personalizza le azioni S3 consentite in base al tuo caso d'uso. -
Assicurati che l'ACL sia impostata su bucket-owner-full-control in modo che l'identità IAM dell'account di origine possa caricare oggetti nel bucket di destinazione. Ad esempio, l'identità IAM di origine deve eseguire il comando AWS CLI cp con l'opzione —acl:
aws s3 cp s3://source-DOC-EXAMPLE-BUCKET/object.txt s3://destination-DOC-EXAMPLE-BUCKET/object.txt --acl bucket-owner-full-controlNell'esempio precedente, il comando copia il file object.txt. Per copiare un'intera cartella, esegui il seguente comando:
aws s3 cp directory/ s3://bucketname/directory --recursive --acl bucket-owner-full-controlNota: se ricevi un errore AccessDenied, consulta Risolvi i problemi relativi all'accesso negato (403 Forbidden) errori in Amazon S3.
Importante: se il tuo bucket S3 ha una crittografia predefinita con il Servizio AWS di gestione delle chiavi (AWS KMS) attivato, devi modificare anche le autorizzazioni della chiave AWS KMS. Per istruzioni, consulta Il mio bucket Amazon S3 dispone di una crittografia predefinita che utilizza una chiave AWS KMS personalizzata. Come posso consentire agli utenti di scaricare e caricare contenuti nel bucket?
Per copiare grandi quantità di dati tra bucket S3, consulta What's the best way to transfer large amounts of data from one Amazon S3 bucket to another? ( Qual è il modo migliore per trasferire grandi quantità di dati da un bucket Amazon S3 a un altro?) Inoltre, consulta Come faccio a ottimizzare il trasferimento di grandi quantità di dati su Amazon S3?
Informazioni correlate
Esempi di policy del bucket Amazon S3
Esempio 2: Esempio 2: il proprietario del bucket concede autorizzazioni per il bucket multi-account
- Argomenti
- Storage
- Lingua
- Italiano
Video correlati


Contenuto pertinente
AWS UFFICIALEAggiornata 4 mesi fa