Modifica del proprietario della replica - 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à.

Modifica del proprietario della replica

Nella replica, il proprietario dell'oggetto di origine possiede anche la replica per impostazione predefinita. Quando i bucket di origine e di destinazione sono di proprietà di diversi Account AWS e vuoi cambiare la proprietà della replica in Account AWS che possiede i bucket di destinazione, è possibile aggiungere impostazioni di configurazione opzionali per modificare la proprietà della replica al Account AWS che possiede i bucket di destinazione. Ad esempio, è possibile eseguire questa operazione per limitare l'accesso alle repliche degli oggetti. Questa operazione viene definita sostituzione del proprietario della configurazione della replica. Per ulteriori informazioni sull'opzione di sovrascrittura del proprietario, consulta la sezione Aggiunta dell'opzione di sostituzione del proprietario alla configurazione della replica. Per ulteriori informazioni sull'impostazione della configurazione della replica, consulta la sezione Panoramica sulla replica degli oggetti.

Per configurare la sostituzione del proprietario, procedi come segue:

  • Aggiungi l'opzione di sostituzione del proprietario alla configurazione della replica per indicare ad Amazon S3 di modificare la proprietà della replica.

  • Concedi ad Amazon S3 le autorizzazioni per modificare la proprietà della replica.

  • Aggiungi l'autorizzazione alla policy del bucket di destinazione per consentire la modifica della proprietà della replica. Ciò consente al proprietario dei bucket di destinazione di accettare la proprietà delle repliche dell'oggetto.

Per ulteriori informazioni, consulta Aggiunta dell'opzione di sostituzione del proprietario alla configurazione della replica. Per un esempio funzionante con step-by-step istruzioni, vediCome modificare il proprietario della replica.

Impostazione proprietario del bucket applicato per Object Ownership

Quando si utilizza Amazon S3, la replica e i bucket di origine e destinazione sono di proprietà di diversi Account AWS, il proprietario del bucket di destinazione può disabilitare ACLs (con l'impostazione imposta dal proprietario del bucket per Object Ownership) la modifica della proprietà della replica in Account AWS che possiede il bucket di destinazione. 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 disattivazione del ACLs bucket.

Aggiunta dell'opzione di sostituzione del proprietario alla configurazione della replica

avvertimento

Aggiungi l'opzione owner override solo quando i bucket di origine e di destinazione sono di proprietà di diversi Account AWS. Amazon S3 non verifica se i bucket appartengono allo stesso account o a account diversi. Se aggiungi il proprietario, sostituisci quando entrambi i bucket sono di proprietà dello stesso. Account AWS, Amazon S3 applica l'override del proprietario. Concede le autorizzazioni complete al proprietario del bucket di destinazione e non replica gli aggiornamenti successivi alla lista di controllo degli accessi agli oggetti di origine (). ACL Il proprietario della replica può modificare direttamente ciò che è ACL associato a una replica con una PUT ACL richiesta, ma non tramite la replica.

Per specificare l'opzione di sostituzione del proprietario, aggiungi quanto segue all'elemento Destination:

  • L'elemento AccessControlTranslation, che indica ad Amazon S3 di modificare la proprietà della replica

  • L'Accountelemento, che specifica il Account AWS del proprietario del bucket di destinazione

<ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> ... <Destination> ... <AccessControlTranslation> <Owner>Destination</Owner> </AccessControlTranslation> <Account>destination-bucket-owner-account-id</Account> </Destination> </Rule> </ReplicationConfiguration>

La seguente configurazione della replica di esempio indica ad Amazon S3 di replicare gli oggetti con il prefisso della chiave Tax nel bucket di destinazione e di modificare la proprietà delle repliche.

<?xml version="1.0" encoding="UTF-8"?> <ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Role>arn:aws:iam::account-id:role/role-name</Role> <Rule> <ID>Rule-1</ID> <Priority>1</Priority> <Status>Enabled</Status> <DeleteMarkerReplication> <Status>Disabled</Status> </DeleteMarkerReplication> <Filter> <Prefix>Tax</Prefix> </Filter> <Destination> <Bucket>arn:aws:s3:::destination-bucket</Bucket> <Account>destination-bucket-owner-account-id</Account> <AccessControlTranslation> <Owner>Destination</Owner> </AccessControlTranslation> </Destination> </Rule> </ReplicationConfiguration>

Concessione ad Amazon S3 dell'autorizzazione per modificare la proprietà della replica

Concedi ad Amazon S3 le autorizzazioni per modificare la proprietà della replica aggiungendo l'autorizzazione per l's3:ObjectOwnerOverrideToBucketOwnerazione nella politica delle autorizzazioni associata al ruolo. IAM Questo è il IAM ruolo che hai specificato nella configurazione di replica che consente ad Amazon S3 di assumere e replicare oggetti per tuo conto.

... { "Effect":"Allow", "Action":[ "s3:ObjectOwnerOverrideToBucketOwner" ], "Resource":"arn:aws:s3:::destination-bucket/*" } ...

Aggiunta dell'autorizzazione alla policy del bucket di destinazione per consentire la modifica della proprietà della replica

Il proprietario del bucket di destinazione deve concedere al proprietario del bucket di origine l'autorizzazione necessaria per modificare la proprietà della replica. Il proprietario del bucket di destinazione concede al proprietario del bucket di origine l'autorizzazione per l'operazione s3:ObjectOwnerOverrideToBucketOwner. Ciò consente al proprietario del bucket di destinazione di accettare la proprietà delle repliche dell'oggetto. La seguente istruzione della policy del bucket di esempio mostra come fare:

... { "Sid":"1", "Effect":"Allow", "Principal":{"AWS":"source-bucket-account-id"}, "Action":["s3:ObjectOwnerOverrideToBucketOwner"], "Resource":"arn:aws:s3:::destination-bucket/*" } ...

Ulteriori considerazioni

Quando configuri l'opzione di sostituzione del proprietario, si applicano le seguenti considerazioni:

  • Per impostazione predefinita, il proprietario dell'oggetto di origine possiede anche la replica. Amazon S3 replica la versione dell'oggetto e quella ACL ad essa associata.

    Se aggiungi l'override del proprietario, Amazon S3 replica solo la versione dell'oggetto, non la. ACL Inoltre, Amazon S3 non replica le modifiche successive all'oggetto di origine. ACL Amazon S3 imposta la replica che garantisce ACL il pieno controllo al proprietario del bucket di destinazione.

  • Quando aggiorni una configurazione di replica per abilitare o disabilitare la sostituzione del proprietario, si verifica quanto segue.

     

    • Se aggiungi l'opzione di sostituzione del proprietario alla configurazione della replica:

      Quando Amazon S3 replica una versione dell'oggetto, elimina ACL quella associata all'oggetto di origine. Al contrario, lo imposta ACL sulla replica, dando il pieno controllo al proprietario del bucket di destinazione. Non replica le modifiche successive all'oggetto di origine. ACL Tuttavia, questa ACL modifica non si applica alle versioni degli oggetti che sono state replicate prima di impostare l'opzione di sostituzione del proprietario. ACLgli aggiornamenti sugli oggetti di origine che sono stati replicati prima dell'impostazione dell'override del proprietario continuano a essere replicati (poiché l'oggetto e le relative repliche continuano ad avere lo stesso proprietario).

    • Se rimuovi l'opzione di sostituzione del proprietario dalla configurazione della replica:

      Amazon S3 replica i nuovi oggetti che appaiono nel bucket di origine e quelli associati ACLs ai bucket di destinazione. Per gli oggetti che sono stati replicati prima della rimozione dell'override del proprietario, Amazon S3 non esegue la replica perché ACLs la modifica della proprietà dell'oggetto apportata da Amazon S3 rimane in vigore. Cioè, ACLs la versione dell'oggetto che è stata replicata quando è stata impostata l'override del proprietario continua a non essere replicata.

Come modificare il proprietario della replica

Quando il source e destination i bucket in una configurazione di replica sono di proprietà di diversi Account AWS, puoi dire ad Amazon S3 di cambiare la proprietà della replica con Account AWS che possiede il destination secchio. Questo esempio spiega come utilizzare la console Amazon S3 e il AWS CLI per modificare la proprietà della replica. Per ulteriori informazioni, consulta Modifica del proprietario della replica.

Nota

Quando si utilizza la replica S3, i bucket di origine e di destinazione sono di proprietà di diversi Account AWS, il proprietario del bucket di destinazione può disabilitare ACLs (con l'impostazione imposta dal proprietario del bucket per Object Ownership) la modifica della proprietà della replica in Account AWS che possiede il bucket di destinazione. 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 disattivazione del ACLs bucket.

Per ulteriori informazioni sulla configurazione della replica utilizzando la crittografia lato server con AWS Key Management Service in scenari che coinvolgono più account, vedere. Concessione di autorizzazioni aggiuntive per scenari multi-account

Per step-by-step istruzioni, vedereConfigurazione 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à della replica utilizzando il AWS CLI, crei bucket, abiliti il controllo delle versioni sui bucket, crei un IAM ruolo che autorizzi Amazon S3 a replicare oggetti e aggiungi 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 AWS (AWS CLI)
  1. In questo esempio, si crea source e destination secchi in due diversi Account AWS Configurare . AWS CLI con due profili denominati. Questo esempio utilizza i profili denominati rispettivamente acctA e acctB. Per ulteriori informazioni sull'impostazione dei profili di credenziali, vedere Profili denominati nella AWS Command Line Interface Guida per l'utente.

    Importante

    I profili utilizzati per questo esercizio devono disporre delle autorizzazioni necessarie. Ad esempio, nella configurazione di replica, si specifica il IAM ruolo 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 Concedere a un utente le autorizzazioni per passare un ruolo a un AWS Servizio nella Guida per l'IAMutente.

    Assicurarsi che questi profili abbiano le autorizzazioni necessarie. Ad esempio, la configurazione di replica include un IAM ruolo 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 Concedere a un utente le autorizzazioni per passare un ruolo a un AWS Servizio nella Guida per l'IAMutente.

  2. Crea il source bucket e abilita il controllo delle versioni. Questo esempio crea il source secchio nella regione Stati Uniti orientali (Virginia settentrionale) (us-east-1).

    aws s3api create-bucket \ --bucket source \ --region us-east-1 \ --profile acctA
    aws s3api put-bucket-versioning \ --bucket source \ --versioning-configuration Status=Enabled \ --profile acctA
  3. Crea un destination bucket e abilita il controllo delle versioni. Questo esempio crea il destination secchio nella regione Stati Uniti occidentali (Oregon) (us-west-2). Usa un Account AWS profilo diverso da quello che hai usato per il source secchio.

    aws s3api create-bucket \ --bucket destination \ --region us-west-2 \ --create-bucket-configuration LocationConstraint=us-west-2 \ --profile acctB
    aws s3api put-bucket-versioning \ --bucket destination \ --versioning-configuration Status=Enabled \ --profile acctB
  4. È necessario aggiungere le autorizzazioni al destination policy bucket per consentire la modifica della proprietà della replica.

    1. 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/*" ] } ] }
    2. Imposta la politica di cui sopra a destination secchio:

      aws s3api put-bucket-policy --region $ {destination_region} --bucket $ {destination} --policy file://destination_bucket_policy.json
  5. Crea un IAM ruolo. Specificate questo ruolo nella configurazione di replica che aggiungete al source secchio più tardi. Amazon S3 assume questo ruolo per replicare gli oggetti per tuo conto. Puoi creare un IAM ruolo in due passaggi:

    • Creare un ruolo.

    • Collegare una policy di autorizzazione al ruolo.

    1. Crea un IAM ruolo.

      1. 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" } ] }
      2. Esegui quanto segue AWS CLI comando per creare un ruolo.

        $ aws iam create-role \ --role-name replicationRole \ --assume-role-policy-document file://s3-role-trust-policy.json \ --profile acctA
    2. Collegare una policy di autorizzazione al ruolo.

      1. 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. Nei passaggi seguenti, si crea un IAM ruolo e si allega questa politica 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/*" } ] }
      2. 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
  6. Aggiungere una configurazione di replica al bucket di origine.

    1. Il AWS CLI richiede di specificare la configurazione di replica come. JSON Salvate quanto segue JSON in un file denominato replication.json nella directory corrente sul computer locale. Nella configurazione, l'aggiunta di AccessControlTranslation 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" } } } ] }
    2. Modificare il file JSON fornendo i valori per destination ID dell'account del proprietario del bucket e IAM-role-ARN. Salva le modifiche.

    3. Per aggiungere la configurazione di replica al bucket di origine, eseguire il seguente comando. Fornisci il source nome del bucket.

      $ aws s3api put-bucket-replication \ --replication-configuration file://replication.json \ --bucket source \ --profile acctA
  7. Verifica la proprietà della replica nella console di Amazon S3.

    1. Accedi a AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

    2. Aggiungi oggetti al source secchio. Verificare che destination il bucket contiene le repliche degli oggetti e che la proprietà delle repliche sia cambiata in Account AWS che possiede il destination secchio.

Per un esempio di codice per l'aggiunta della configurazione di replica, consulta Utilizzo di AWS SDKs. La configurazione della replica deve essere modificata di conseguenza. Per informazioni concettuali, consulta Modifica del proprietario della replica.