Modificare il proprietario della replica quando i bucket di origine e di destinazione sono di proprietà di account diversi - 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à.

Modificare il proprietario della replica quando i bucket di origine e di destinazione sono di proprietà di account diversi

Quando i bucket di 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. 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.

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
  1. In questo esempio, si creano i bucket di origine e di destinazione in due diversi. Account AWS Configurali AWS CLI con due profili denominati. Questo esempio utilizza i profili denominati rispettivamente acctA e acctB. 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.

  2. Creare il bucket di origine e abilitare la funzione Controllo delle versioni. Questo esempio crea il bucket source 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. Creare un bucket di destinazione e abilitare la funzione Controllo delle versioni. Questo esempio crea il bucket destination nella regione Stati Uniti occidentali (Oregon) (us-west-2). Utilizza un profilo Account AWS diverso da quello che hai utilizzato per il bucket di fonte.

    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. Devi aggiungere l'autorizzazione alla policy del bucket di destinazione 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. 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
  5. 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.

    1. Creare un ruolo IAM.

      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 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
    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. 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/*" } ] }
      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. È 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 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 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.

    3. 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 \ --bucket source \ --profile acctA
  7. Verifica la proprietà della replica nella console di Amazon S3.

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

    2. 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.