Alterar o proprietário da réplica
Na replicação, por padrão o proprietário do objeto de origem também é proprietário da réplica. Quando os buckets de origem e destino pertencerem a Contas da AWS diferentes e você quiser alterar a propriedade da réplica para a Conta da AWS que possui os buckets de destino, você poderá adicionar configurações opcionais para alterar a propriedade da réplica para a Conta da AWS proprietária do bucket de destino. Você pode fazer essa opção, por exemplo, para restringir o acesso às réplicas de objeto. Isso é chamado de opção de substituição do proprietário da configuração de replicação. Para obter mais informações sobre a opção de substituição do proprietário, consulte Adicionar a opção de substituição do proprietário à configuração da replicação. Para obter mais informações sobre como definir a configuração de replicação, consulte Replicação de objetos.
Para configurar a substituição do proprietário, faça o seguinte:
-
Adicione a opção de substituição do proprietário à configuração da replicação para dizer ao Amazon S3 para alterar a propriedade da réplica.
-
Conceda ao Amazon S3 permissões para alterar a propriedade da réplica.
-
Adicione a permissão na política do bucket de destino para permitir a alteração da propriedade da réplica. Isso permite que o proprietário do bucket de destino aceite a propriedade das réplicas do objeto.
Para obter mais informações, consulte Adicionar a opção de substituição do proprietário à configuração da replicação. Para ver um exemplo funcional com instruções detalhadas, consulte Alterar o proprietário da réplica quando os buckets de origem e de destino forem de propriedade de contas diferentes.
Configuração aplicada pelo proprietário do bucket em Object Ownership
Quando você usa Amazon S3 Replication e os buckets de origem e destino pertencem a Contas da AWS diferentes, o proprietário do bucket de destino pode desabilitar ACLs (com a configuração aplicada de proprietário do bucket para a propriedade do bucket) para alterar o proprietário da réplica para a Conta da AWS que é a proprietária do bucket de destino. Essa configuração imita o comportamento de substituição do proprietário existente sem a necessidade da permissão s3:ObjectOwnerOverrideToBucketOwner
. Com isso, todos os objetos que são replicados para o bucket de destino com a configuração aplicada pelo proprietário do bucket pertencem ao proprietário do bucket de destino. Para obter informações sobre o Object Ownership, consulte Controlar a propriedade de objetos e desabilitar ACLs para seu bucket.
Adicionar a opção de substituição do proprietário à configuração da replicação
Atenção
Adicione a opção de substituição do proprietário somente quando os buckets de origem e de destino pertencerem a Contas da AWS diferentes. O Amazon S3 não verifica se os buckets pertencem à mesma conta ou a contas diferentes. Se você adicionar a substituição do proprietário quando os dois buckets pertencerem à mesma Conta da AWS, o Amazon S3 aplicará a substituição do proprietário. Ele concede permissões completas ao proprietário do bucket de destino e não replica as atualizações subsequentes para a lista de controle de acesso (ACL) do objeto de origem. O proprietário da réplica pode alterar diretamente na ACL associada a uma réplica com uma solicitação PUT ACL
, mas não por replicação.
Para especificar a opção de substituição do proprietário, adicione o seguinte ao elemento Destination
:
-
O elemento
AccessControlTranslation
, que diz ao Amazon S3 para alterar a propriedade da réplica -
O elemento
Account
, que especifica a Conta da AWS do proprietário do bucket de destino
<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>
A configuração da replicação do exemplo a seguir diz ao Tax
para replicar os objetos que têm o prefixo de chaves Amazon S3 ao bucket de destino e altere a propriedade das réplicas.
<?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>
Conceder permissão do Amazon S3 para alterar a propriedade da réplica
Conceda permissões do Amazon S3 para alterar a propriedade da réplica adicionando permissão para a ação s3:ObjectOwnerOverrideToBucketOwner
na política de permissões associada à função do IAM. Essa é a função do IAM especificada na configuração de replicação que permite que o Amazon S3 assuma e replique objetos em seu nome.
... { "Effect":"Allow", "Action":[ "s3:ObjectOwnerOverrideToBucketOwner" ], "Resource":"arn:aws:s3:::
destination-bucket
/*" } ...
Adicionar a permissão na política do bucket de destino para permitir a alteração da propriedade da réplica
O proprietário do bucket de destino deve conceder ao proprietário da permissão do bucket de origem para alterar a propriedade da réplica. A propriedade do bucket de destino concede ao proprietário do bucket de origem permissão para a ação s3:ObjectOwnerOverrideToBucketOwner
. Isso permite que o proprietário do bucket de destino aceite a propriedade das réplicas do objeto. O exemplo de declaração de política do bucket a seguir mostra como fazer isso.
... { "Sid":"1", "Effect":"Allow", "Principal":{"AWS":"
source-bucket-account-id
"}, "Action":["s3:ObjectOwnerOverrideToBucketOwner"], "Resource":"arn:aws:s3:::destination-bucket
/*" } ...
Considerações adicionais
Ao configurar a opção de substituição da propriedade, aplicam-se as seguintes considerações:
-
Por padrão, o proprietário do objeto de origem também possui a réplica. O Amazon S3 replica a versão do objeto e a ACL associada a ela.
Se você adicionar a substituição do proprietário, o Amazon S3 replicará somente a versão do objeto, não a ACL. Além disso, o Amazon S3 não replica as alterações subsequentes na ACL do objeto de origem. O Amazon S3 define a ACL na réplica que concede controle total ao proprietário do bucket de destino.
-
Ao atualizar uma configuração de replicação para habilitar ou desabilitar a substituição do proprietário, ocorrerá a situação a seguir.
-
Se você adicionar a opção de substituição do proprietário à configuração da replicação:
Quando o Amazon S3 replica uma versão do objeto, ele descarta a ACL associada ao objeto de origem. Em vez disso, ele define a ACL na réplica, dando o controle total ao proprietário do bucket de destino. Ele não replica as alterações subsequentes na ACL do objeto de origem. No entanto, essa alteração na ACL não se aplica às versões de objeto replicadas antes de você definir a opção de substituição do proprietário. As atualizações da ACL nos objetos de origem replicados antes da substituição do proprietário foram definidas para continuarem a ser replicadas (porque o objeto e suas réplicas continuam a ter o mesmo proprietário).
-
Se você remover a opção de substituição do proprietário da configuração da replicação:
O Amazon S3 replica novos objetos que aparecem no bucket de origem e as ACLs associadas aos buckets de destino. Para objetos replicados antes de você ter removido a substituição do proprietário, o Amazon S3 não replicará as ACLs, pois a propriedade do objeto muda, de maneira que o Amazon S3 feito permanece em vigor. Em outras palavras: as ACLs colocaram a versão do objeto que foi replicada quando a substituição do proprietário tinha sido substituída para não continuarem a ser replicadas.
-