Share Your AWS re:Post Experience - Quick 3 Question Survey
Help us improve AWS re:Post! We're interested in understanding how you use re:Post and its impact on your AWS journey. Please take a moment to complete our brief 3-question survey.
Como posso configurar a replicação entre contas em meus buckets do Amazon S3 com o bloqueio de objetos?
Quero configurar a replicação entre contas em um bucket do Amazon Simple Storage Service (Amazon S3) em que o bloqueio de objetos esteja ativado.
Resolução
Para configurar a replicação entre contas em um bucket do Amazon S3 com o bloqueio de objetos, conclua os seguintes pré-requisitos:
- Certifique-se de que o bucket de destino tenha o bloqueio de objetos ativado. Se o bloqueio de objetos não estiver ativado para o bucket de destino, entre em contato com o AWS Support com sua solicitação.
- Certifique-se de que você possa acessar a AWS Command Line Interface (AWS CLI) ou o AWS CloudShell.
- Certifique-se de ter o token do bloqueio de objetos antes de iniciar a replicação.
Etapa 1: Crie um perfil do IAM para replicação com as permissões necessárias
1. Crie um perfil de replicação no console do AWS Identity and Access Management (IAM) para a conta de origem com uma relação de confiança para o Amazon S3.
A relação de confiança tem a seguinte aparência:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
2. Certifique-se de anexar as seguintes permissões ao perfil do IAM:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SourceBucketPermissions", "Effect": "Allow", "Action": [ "s3:GetObjectRetention", "s3:GetObjectVersionTagging", "s3:GetObjectVersionAcl", "s3:ListBucket", "s3:GetObjectVersionForReplication", "s3:GetObjectLegalHold", "s3:GetReplicationConfiguration" ], "Resource": [ "arn:aws:s3:::SourceBucketName/*", "arn:aws:s3:::SourceBucketName" ] }, { "Sid": "DestinationBucketPermissions", "Effect": "Allow", "Action": [ "s3:ReplicateObject", "s3:ObjectOwnerOverrideToBucketOwner", "s3:GetObjectVersionTagging", "s3:ReplicateTags", "s3:ReplicateDelete" ], "Resource": [ "arn:aws:s3:::DestBucketName/*" ] } ] }
3. Se você estiver usando as chaves do AWS Key Management Service (AWS KMS), não se esqueça de anexar também as seguintes permissões:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SourceBucketPermissions", "Effect": "Allow", "Action": [ "s3:GetObjectRetention", "s3:GetObjectVersionTagging", "s3:GetObjectVersionAcl", "s3:ListBucket", "s3:GetObjectVersionForReplication", "s3:GetObjectLegalHold", "s3:GetReplicationConfiguration" ], "Resource": [ "arn:aws:s3:::SourceBucketName/*", "arn:aws:s3:::SourceBucketName" ] }, { "Sid": "DestinationBucketPermissions", "Effect": "Allow", "Action": [ "s3:ReplicateObject", "s3:ObjectOwnerOverrideToBucketOwner", "s3:GetObjectVersionTagging", "s3:ReplicateTags", "s3:ReplicateDelete" ], "Resource": [ "arn:aws:s3:::DestBucketName/*" ] }, { "Sid": "SourceBucketKMSKey", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Effect": "Allow", "Resource": "SourceBucketKMSKeyARN" }, { "Sid": "DestinationBucketKMSKey", "Action": [ "kms:Encrypt", "kms:GenerateDataKey" ], "Effect": "Allow", "Resource": "DestinationBucketKMSKeyARN" } ] }
Etapa 2: Atualize as permissões da chave do AWS KMS
Certifique-se de que a chave do AWS KMS para a conta de destino permita o acesso ao perfil do IAM de replicação na conta de origem.
Exemplo:
{ "Sid": "AllowS3ReplicationSourceRoleToUseTheKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789101:role/s3-replication-role" }, "Action": [ "kms:GenerateDataKey", "kms:Encrypt" ], "Resource": "*" }
Observação: Você não pode usar a chave do AWS KMS gerenciada aws/s3 para replicação entre contas. No entanto, você pode usar a criptografia SSE-S3.
Observação: Se você usar um asterisco (*) em Recurso na política de chave, a política concederá permissão para a chave somente para o perfil de replicação. A política não permite que o perfil de replicação eleve suas permissões.
Etapa 3: Adicione a seguinte política de bucket à conta de destino
Na seção Principal, adicione o ARN do perfil do IAM de replicação que você criou na Etapa 1.
{ "Version": "2012-10-17", "Id": "PolicyForDestinationBucket", "Statement": [ { "Sid": "ReplicationPermissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::SourceBucket-account-ID:role/service-role/source-account-IAM-role" }, "Action": [ "s3:ReplicateDelete", "s3:ReplicateObject", "s3:ObjectOwnerOverrideToBucketOwner", "s3:GetBucketVersioning", "s3:PutBucketVersioning" ], "Resource": [ "arn:aws:s3:::DestBucketName/*", "arn:aws:s3:::DestBucketName" ] } ] }
Etapa 4: Crie um arquivo replication.json
Crie um arquivo chamado replication.json que seja semelhante ao seguinte na conta de origem:
{ "Role": "arn:aws:iam::123456789012:role/s3-replication-role", "Rules": [ { "Status": "Enabled", "Priority": 10, "DeleteMarkerReplication": { "Status": "Disabled" }, "Filter": { "Prefix": "" }, "Destination": { "Bucket": "arn:aws:s3:::destination_bucket" } } ] }
Esse arquivo contém os parâmetros na formação de JSON que configura a replicação. Esses são os mesmos parâmetros que você pode usar ao configurar a replicação usando o console do Amazon S3. Você deve usar a AWS CLI para configurar a replicação, porque ainda não pode usar o console do Amazon S3 para fazer isso.
Certifique-se de substituir s3-replication-role pelo perfil do IAM da Etapa 1. Além disso, inclua o ARN do bucket de destino, a especificação do prefixo e as preferências do marcador de exclusão, conforme necessário.
Etapa 5: Configurar a replicação
Depois de salvar a configuração anterior, passe o arquivo usando o seguinte comando da AWS CLI:
aws s3api put-bucket-replication --bucket <SOURCE BUCKET> --replication-configuration file://Replication.json --token <TOKEN>
Para obter o valor do token do bloqueio de objetos a ser usado nesse comando, entre em contato com o AWS Support. O valor <TOKEN> é o token do bloqueio de objetos para o bucket de origem.
Etapa 6: Verificação
Quando você executa o comando anterior, a regra de replicação é adicionada ao bucket de origem. Essa regra permite que os objetos recém-adicionados sejam replicados no bucket de destino. Você pode testar a regra adicionando novos objetos à origem e verificando o destino.
Observação: Você pode atualizar a configuração de replicação usando o console do Amazon S3 depois de configurar a replicação. Para replicar objetos criptografados com o AWS KMS, modifique a configuração de replicação selecionando Replicar objetos criptografados com AWS KMS em Criptografia.
Informações relacionadas
Configurar o bloqueio de objetos do S3 usando o console
Ativar o bloqueio de objetos do S3
Replicar objetos criados com criptografia do lado do servidor (SSE-C, SSE-S3, SSE-KMS)

Conteúdo relevante
- feita há 12 horaslg...
- Resposta aceitafeita há um mêslg...
- feita há um mêslg...
- feita há um mêslg...
- AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há 3 anos
- AWS OFICIALAtualizada há 2 meses
- AWS OFICIALAtualizada há 4 meses