Configuração da replicação de buckets em contas diferentes
A replicação em tempo real é a cópia assíncrona automática de objetos em buckets na mesma região da AWS ou em Regiões da AWS diferentes. A replicação em tempo real copia os objetos recém-criados e as atualizações de objeto de um bucket de origem para buckets de destino. Para ter mais informações, consulte Replicar objetos dentro de uma região e entre regiões.
Ao configurar a replicação, você adiciona regras de replicação ao bucket de origem. As regras de replicação definem quais objetos do bucket de origem devem ser replicados e o bucket de destino ou buckets nos quais os objetos replicados são armazenados. Você pode criar uma regra para replicar todos os objetos dentro de um bucket ou um subgrupo de objetos com um prefixo específico de nome de chaves, uma ou mais tags de objetos ou ambos. Um bucket de destino pode estar na mesma Conta da AWS que o bucket de origem ou pode estar em uma conta diferente.
Se você especificar um ID da versão do objeto a ser excluído, o Amazon S3 excluirá essa versão do objeto no bucket de origem. No entanto, ele não replica a exclusão no bucket de destino. Em outras palavras: ele não exclui a mesma versão do objeto do bucket de destino. Isso protege os dados contra exclusões mal-intencionadas.
Quando você adiciona uma regra de replicação a um bucket, ela fica ativada por padrão, portanto, começa a funcionar assim que é salva.
A configuração da replicação em tempo real quando os buckets de origem e de destino pertencem a Contas da AWS diferentes é semelhante à configuração da replicação quando os dois buckets pertencem à mesma conta. No entanto, há várias diferenças quando você configura a replicação em um cenário entre contas diferentes:
-
O proprietário do bucket de destino deve conceder ao proprietário do bucket de destino permissão para replicar objetos na política do bucket de destino.
-
Se você estiver replicando objetos criptografados com a criptografia do lado do servidor com chaves do AWS Key Management Service (AWS KMS) (SSE-KMS) em um cenário entre contas diferentes, o proprietário da chave do KMS deverá conceder ao proprietário do bucket de origem permissão para usar a chave do KMS. Para ter mais informações, consulte Conceder permissões adicionais para cenários entre contas.
-
Por padrão, os objetos replicados pertencem ao proprietário do bucket de origem. Em um cenário entre contas diferentes, você pode querer configurar a replicação para alterar a propriedade dos objetos replicados ao proprietário do bucket de destino. Para ter mais informações, consulte Alterar o proprietário da réplica.
Para configurar a replicação quando os buckets de origem e destino pertencem a Contas da AWS diferentes
-
Neste exemplo, você cria buckets de origem e de destino em duas Contas da AWS diferentes. Você deve ter dois perfis de credencial definidos para a AWS CLI. Este exemplo usa
acctA
eacctB
para esses nomes de perfil. Consulte mais informações sobre como configurar perfis de credenciais e como usar perfis nomeados em Configuration and credential file settings no Guia do usuário da AWS Command Line Interface. -
Siga as instruções passo a passo em Configurar a replicação para buckets na mesma conta com as seguintes alterações:
-
Para todos os comandos da AWS CLI relacionados a atividades do bucket de origem (como criar o bucket de origem, habilitar o versionamento e criar o perfil do IAM), use o perfil
acctA
. Use o perfilacctB
para criar o bucket de destino. -
Verifique se a política e permissões para o perfil do IAM especifica os buckets de origem e de destino que você criou para este exemplo.
-
-
No console, adicione a seguinte política do bucket ao bucket de
destino
para permitir que o proprietário do bucket deorigem
replique objetos. Para obter instruções, consulte Adicionar uma política de bucket usando o console do Amazon S3. Edite a política fornecendo o ID da Conta da AWS do proprietário do bucket de origem, o nome do perfil do IAM e o nome do bucket de destino.nota
Para usar o exemplo a seguir, substitua os
por suas próprias informações. Substituauser input placeholders
pelo nome do bucket de destino. Substituaamzn-s3-demo-destination-bucket
no nome do recurso da Amazon (ARN) pelo perfil do IAM que você está usando para essa configuração de replicação.source-bucket-account-ID
:role/service-role/source-account-IAM-role
Se você criou o perfil de serviço do IAM manualmente, defina o caminho do perfil no ARN do IAM como
role/service-role/
, conforme mostrado no exemplo de política a seguir. Para obter mais informações, consulte ARNs do IAM no Guia do usuário do IAM.{ "Version":"2012-10-17", "Id":"", "Statement":[ { "Sid":"Set-permissions-for-objects", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::
source-bucket-account-ID
:role/service-role/source-account-IAM-role
" }, "Action":["s3:ReplicateObject", "s3:ReplicateDelete"], "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket
/*" }, { "Sid":"Set permissions on bucket", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::source-bucket-account-ID
:role/service-role/source-account-IAM-role
" }, "Action":["s3:GetBucketVersioning", "s3:PutBucketVersioning"], "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket
" } ] } -
(Opcional) Se você estiver replicando objetos criptografados com a SSE-KMS, o proprietário da chave do KMS deverá conceder ao proprietário do bucket de origem permissão para usar a chave do KMS. Para ter mais informações, consulte Conceder permissões adicionais para cenários entre contas.
-
(Opcional) Na replicação, o proprietário do objeto de origem possui a réplica por padrão. Quando os buckets de origem e de destino pertencerem a Contas da AWS diferentes, é possível adicionar configurações opcionais para alterar a propriedade da réplica para a Conta da AWS que possui os buckets de destino. Isso inclui conceder a permissão
ObjectOwnerOverrideToBucketOwner
. Para ter mais informações, consulte Alterar o proprietário da réplica.