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à.
Modificare il proprietario della replica quando i bucket di origine e di destinazione sono di proprietà di account diversi
Quando i bucket di
Questo esempio spiega come utilizzare la console Amazon S3 e modificare la proprietà delle AWS CLI repliche. Per ulteriori informazioni, consulta Modifica del proprietario della replica. origine
e di destinazione
in una configurazione di replica sono di proprietà di diversi Account AWS, puoi dire ad Amazon S3 di cambiare la proprietà della replica con quella proprietaria Account AWS del bucket di destinazione.
Nota
Quando si utilizza la replica S3 e i bucket di origine e di destinazione sono di proprietà di diversi Account AWS, il proprietario del bucket di destinazione può disabilitare gli ACL (con l'impostazione imposta dal proprietario del bucket per Object Ownership) per modificare la proprietà della replica con quella proprietaria del bucket di destinazione. Account AWS Questa impostazione imita il comportamento di sovrascrittura del proprietario esistente senza la necessità di un'autorizzazione s3:ObjectOwnerOverrideToBucketOwner
. Tutti gli oggetti replicati nel bucket di destinazione con l'impostazione proprietario del bucket applicato sono di proprietà del proprietario del bucket di destinazione. Per ulteriori informazioni su Object Ownership, consulta Controllo della proprietà degli oggetti e disabilitazione degli ACL per il bucket.
Per ulteriori informazioni sulla configurazione della replica utilizzando la crittografia lato server negli scenari tra più account, consulta. AWS Key Management Service Concessione di autorizzazioni aggiuntive per scenari multi-account
Per istruzioni, vedere. step-by-step Configurazione della replica per i bucket di origine e di destinazione di proprietà dello stesso account Questo argomento fornisce istruzioni per impostare la configurazione di replica quando i bucket sono di proprietà uguale o diversa. Account AWS
Per modificare la proprietà delle repliche utilizzando AWS CLI, è necessario creare bucket, abilitare il controllo delle versioni sui bucket, creare un ruolo IAM che autorizzi Amazon S3 a replicare oggetti e aggiungere la configurazione di replica al bucket di origine. Nella configurazione di replica si indica ad Amazon S3 di modificare il proprietario della replica. Si esegue inoltre il test della configurazione.
Per modificare la proprietà della replica quando i bucket di origine e di destinazione sono di proprietà di diversi () Account AWSAWS CLI
-
In questo esempio, si creano i bucket di
origine
e didestinazione
in due diversi. Account AWS Configurali AWS CLI con due profili denominati. Questo esempio utilizza i profili denominati rispettivamenteacctA
eacctB
. Per ulteriori informazioni sull'impostazione di profili con credenziali, consulta Profili denominati nella Guida per l'utente di AWS Command Line Interface .Importante
I profili utilizzati per questo esercizio devono disporre delle autorizzazioni necessarie. Ad esempio, nella configurazione di replica dovrai specificare il ruolo IAM che Amazon S3 può assumere. Puoi effettuare questa operazione solo se il profilo che utilizzi dispone dell'autorizzazione
iam:PassRole
. Se utilizzi le credenziali dell'utente amministratore per creare un profilo denominato, allora puoi eseguire tutte le attività. Per ulteriori informazioni, consulta Garantire a un utente le autorizzazioni per passare un ruolo a un AWS servizio nella Guida per l'utente IAM.Assicurarsi che questi profili abbiano le autorizzazioni necessarie. Ad esempio, la configurazione di replica include un ruolo IAM che Amazon S3 può assumere. Il profilo denominato utilizzato per allegare tale configurazione a un bucket può eseguire questa operazione solo se dispone dell'autorizzazione
iam:PassRole
. Se si specificano le credenziali dell'utente amministratore durante la creazione di questi profili denominati, vengono fornite tutte le autorizzazioni. Per ulteriori informazioni, consulta Garantire a un utente le autorizzazioni per passare un ruolo a un AWS servizio nella Guida per l'utente IAM. -
Creare il bucket di
origine
e abilitare la funzione Controllo delle versioni. Questo esempio crea il bucketsource
nella regione Stati Uniti orientali (Virginia settentrionale) (us-east-1).aws s3api create-bucket \ --bucket
source
\ --region us-east-1 \ --profile acctAaws s3api put-bucket-versioning \ --bucket
source
\ --versioning-configuration Status=Enabled \ --profile acctA -
Creare un bucket di
destinazione
e abilitare la funzione Controllo delle versioni. Questo esempio crea il bucketdestination
nella regione Stati Uniti occidentali (Oregon) (us-west-2). Utilizza un profilo Account AWS diverso da quello che hai utilizzato per il bucket difonte
.aws s3api create-bucket \ --bucket
destination
\ --region us-west-2 \ --create-bucket-configuration LocationConstraint=us-west-2 \ --profile acctBaws s3api put-bucket-versioning \ --bucket
destination
\ --versioning-configuration Status=Enabled \ --profile acctB -
Devi aggiungere l'autorizzazione alla policy del bucket di
destinazione
per consentire la modifica della proprietà della replica.-
Salvare la seguente policy su
.destination-bucket-policy
.json{ "Version": "2012-10-17", "Statement": [ { "Sid":
"destination_bucket_policy_sid"
, "Principal": { "AWS":"source-bucket-owner-account-id"
}, "Action": [ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ObjectOwnerOverrideToBucketOwner", "s3:ReplicateTags", "s3:GetObjectVersionTagging" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::destination
/*" ] } ] } -
Inserire la policy di cui sopra al bucket di
destinazione
:aws s3api put-bucket-policy --region
$
{destination_region
} --bucket$
{destination
} --policy file://destination_bucket_policy
.json
-
-
Creare un ruolo IAM. Specifica questo ruolo nella configurazione di replica che aggiungi al bucket
source
in un secondo momento. Amazon S3 assume questo ruolo per replicare gli oggetti per tuo conto. Il ruolo IAM si crea in due fasi:-
Creare un ruolo.
-
Collegare una policy di autorizzazione al ruolo.
-
Creare un ruolo IAM.
-
Copiare la seguente policy di attendibilità e salvarla in un file denominato
s3-role-trust-policy.json
nella directory corrente sul computer locale. Questa policy concede ad Amazon S3 le autorizzazioni per assumere il ruolo.{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"s3.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
-
Esegui il AWS CLI comando seguente per creare un ruolo.
$
aws iam create-role \ --role-name replicationRole \ --assume-role-policy-document file://s3-role-trust-policy.json \ --profile acctA
-
-
Collegare una policy di autorizzazione al ruolo.
-
Copiare la seguente policy di autorizzazioni e salvarla in un file denominato
s3-role-perm-pol-changeowner.json
nella directory corrente sul computer locale. Questa policy di accesso concede le autorizzazioni per varie operazioni su oggetti e bucket Amazon S3. Nelle fasi che seguono si crea un ruolo IAM e si collega questa policy al ruolo.{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl" ], "Resource":[ "arn:aws:s3:::
source
/*" ] }, { "Effect":"Allow", "Action":[ "s3:ListBucket", "s3:GetReplicationConfiguration" ], "Resource":[ "arn:aws:s3:::source
" ] }, { "Effect":"Allow", "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ObjectOwnerOverrideToBucketOwner", "s3:ReplicateTags", "s3:GetObjectVersionTagging" ], "Resource":"arn:aws:s3:::destination
/*" } ] } -
Per creare una policy e collegarla al ruolo, eseguire questo comando.
$
aws iam put-role-policy \ --role-name replicationRole \ --policy-document file://s3-role-perm-pol-changeowner.json \ --policy-name replicationRolechangeownerPolicy \ --profile acctA
-
-
-
Aggiungere una configurazione di replica al bucket di origine.
-
È AWS CLI necessario specificare la configurazione di replica come JSON. Salvare il seguente JSON in un file denominato
replication.json
nella directory corrente sul computer locale. Nella configurazione, l'aggiunta diAccessControlTranslation
per indicare la modifica nella proprietà della replica.{ "Role":"
IAM-role-ARN
", "Rules":[ { "Status":"Enabled", "Priority":1, "DeleteMarkerReplication":{ "Status":"Disabled" }, "Filter":{ }, "Status":"Enabled", "Destination":{ "Bucket":"arn:aws:s3:::destination
", "Account":"destination-bucket-owner-account-id
", "AccessControlTranslation":{ "Owner":"Destination" } } } ] } -
Modificare il JSON fornendo i valori per l'ID account del proprietario del bucket di
destinazione
e l'ARN del ruolo IAM (IAM-role-ARN)
. Salvare le modifiche. -
Per aggiungere la configurazione di replica al bucket di origine, eseguire il seguente comando. Fornire il nome del bucket di
origine
.$
aws s3api put-bucket-replication \ --replication-configuration file://replication.json \ --bucketsource
\ --profile acctA
-
-
Verifica la proprietà della replica nella console di Amazon S3.
-
Aggiungere oggetti al bucket
di origine
.Verifica che il bucket di
destinazione
contenga le repliche degli oggetti e che la proprietà delle repliche sia passata a Account AWS quella proprietaria del bucket di destinazione.
Per un esempio di codice per l'aggiunta della configurazione di replica, consulta Utilizzo degli SDK AWS. La configurazione della replica deve essere modificata di conseguenza. Per informazioni concettuali, consulta Modifica del proprietario della replica.