Todos os produtos
Search
Central de documentação

Object Storage Service:Cross-account cross-region replication

Última atualização: Jul 07, 2026

A replicação entre regiões (CRR) copia objetos automática e assincronamente de um bucket de origem para um bucket de destino em outra região, sob uma conta diferente da Alibaba Cloud. Use a CRR entre contas para recuperação de desastres, criação de backups isolados ou atendimento a requisitos de conformidade de residência de dados.

Configurar a replicação entre contas exige ações tanto na conta de origem quanto na de destino e envolve três etapas:

  1. Conta de origem: Crie uma função do RAM para replicação de dados e conceda a ela o privilégio mínimo necessário para ler dados do bucket de origem.

  2. Conta de destino: Modifique a Bucket Policy do bucket de destino para conceder permissões de gravação à função do RAM da conta de origem.

  3. Conta de origem: Retorne à conta de origem para criar uma regra de replicação entre regiões (CRR) que vincule os buckets de origem e destino e inicie a tarefa de replicação.

Etapa 1: Criar e autorizar uma função do RAM

  1. Crie uma função do RAM. Acesse a página Create Role. Defina Principal Type como Cloud Service e Principal Name como OSS.

  2. Conceda permissões à função do RAM para acessar o bucket de origem: crie uma política personalizada que inclua apenas as permissões necessárias para ler dados do bucket de origem para replicação.

    1. Na página Create Policy, clique em JSON Editor. Cole a seguinte política no editor e substitua src-bucket pelo nome do seu bucket de origem.

      {
         "Version": "1",
         "Statement": [
            {
               "Effect": "Allow",
               "Action": [
                  "oss:ReplicateList",
                  "oss:ReplicateGet"
               ],
               "Resource": [
                  "acs:oss:*:*:src-bucket",
                  "acs:oss:*:*:src-bucket/*"
               ]
            }
         ]
      }
    2. Após criar a política, acesse a página Roles, localize a função recém-criada e clique em Grant Permission. No painel exibido, o principal é preenchido automaticamente. Em Policy, selecione a política personalizada criada na etapa anterior e clique em Confirm Grant.

  3. (Opcional) Conceda permissões à função do RAM para acessar o Key Management Service (KMS). Caso utilize o KMS para criptografar dados replicados no bucket de destino, conceda acesso ao KMS para a função do RAM.

    Na página Roles, localize a função recém-criada e clique em Grant Permission. No painel exibido, o principal é preenchido automaticamente. Em Policy, selecione AliyunKMSCryptoUserAccess e clique em Confirm Grant.

  4. Anote o ARN da função. Na página Roles, localize a função do RAM criada, acesse sua página Basic Information e copie o ARN da função. O ARN segue o formato acs:ram::{source-account-uid}:role/{role-name}.

Etapa 2: Autorizar a função do RAM e preparar recursos

  1. Autorize a função do RAM a gravar dados no bucket de destino: na conta de destino, modifique a Bucket Policy do bucket de destino para conceder acesso de gravação à função do RAM da conta de origem.

    1. Faça login na conta de destino e acesse a página Buckets. Clique em Receive Objects to Replicate.

    2. No painel de navegação à esquerda, escolha Access Control > Bucket Policy.

    3. Clique em Add in GUI e, em seguida, clique em Receive Objects to Replicate.

    4. No painel exibido, configure os seguintes parâmetros:

      • Obtain UID and RAM Role From: Selecione Source RAM role ARN for replication.

      • Source RAM Role ARN for Replication: Insira o ARN da função do RAM da conta de origem anotado na Etapa 1.

      • Purpose: Selecione Cross-account replication.

    5. Clique em Generate Policy e, em seguida, clique em Save.

  2. (Opcional) Prepare uma chave KMS na conta de destino: para replicar objetos criptografados com KMS, crie primeiro uma chave KMS na conta de destino.

    1. Faça login no console do KMS e acesse a página Instance Management. Na mesma região do bucket de origem, compre e ative uma instância KMS. Ao adquirir a instância KMS, certifique-se de que Access Management Quantity seja maior ou igual a 2. Mantenha as configurações padrão para os demais parâmetros.

      Nota

      A replicação entre contas de objetos criptografados com KMS depende do KMS. As regiões compatíveis com esse recurso são limitadas pela disponibilidade do KMS. Para mais informações sobre as regiões compatíveis com o KMS, consulte Regiões e endpoints suportados para gerenciamento de chaves de software.

    2. Na instância KMS, crie uma chave de software. O tipo de chave deve ser não padrão (recomenda-se uma chave de software). Após a criação, anote o ARN da chave na seção Basic Information para usar na criação da regra de replicação.

    3. Defina uma política de chave para a chave criada. Ao configurar a política, em JSON Editor, especifique o ARN da função do RAM criado pela conta de origem, que corresponde ao ARN da função das etapas anteriores. Para mais informações, consulte Definir uma política de chave.

      Por padrão, essa operação concede à função as permissões necessárias, como descriptografia ( kms:Decrypt ) e geração de chave de dados ( kms:GenerateDataKey ), permitindo que ela use essa chave para criar objetos criptografados no bucket de destino. Embora o assistente do console geralmente inclua as permissões exigidas, caso defina uma política de chave personalizada via API, garanta manualmente que essas permissões sejam adicionadas corretamente.

Etapa 3: Criar uma regra de replicação entre regiões

Após conceder as permissões necessárias, retorne ao console da conta de origem para criar uma regra de replicação e iniciar a tarefa.

  1. Faça login na conta de origem e acesse a página Buckets. Clique em Cross-Region Replication.

  2. No painel de navegação à esquerda, escolha Data Management > Cross-Region Replication.

  3. Clique em Cross-Region Replication. Na caixa de diálogo exibida, configure os seguintes parâmetros:

    1. Configure Destination Bucket: Selecione Specify a bucket that belongs to another Alibaba Cloud account, escolha a região onde o bucket de destino está localizado e insira seu nome.

      • Objects to Replicate: Escolha Cross-account User ou Synchronize all files. Objetos no bucket de origem com um prefixo especificado são replicados para o bucket de destino. Por padrão, é possível adicionar até 10 prefixos. Para aumentar esse limite para 100, entre em contato com o .

      • Objects with Specified Prefix:

        Nota

        Para configurar este parâmetro, atenda às seguintes condições:

        • Você já configurou tags de objeto.

        • As caixas de seleção Replicate delete markers e Replicate permanent deletions of specific versions não estão marcadas.

        Marque a caixa de seleção Object Tagging para replicar objetos com tags específicas para o bucket de destino. É possível adicionar até 10 tags (pares chave-valor). Após adicionar as tags, selecione uma das seguintes políticas de filtro:

        • Configure Rules: O OSS replica um objeto somente se todas as suas tags corresponderem às tags especificadas na regra de filtro.

        • Include all tags: O OSS replica um objeto se pelo menos uma de suas tags corresponder a uma tag especificada na regra de filtro.

      • Replicate KMS Encrypted Objects: Se os objetos de origem forem criptografados com KMS e você desejar mantê-los criptografados no destino, selecione Replicate e forneça o ARN da chave KMS na conta de destino preparada na Etapa 2. Caso selecione Do not replicate, objetos criptografados com KMS não serão replicados para o bucket de destino.

        Nota

        É possível consultar o status de criptografia do objeto de origem e do bucket de destino chamando as operações HeadObject e GetBucketEncryption, respectivamente.

      • RAM Role: Na lista suspensa, selecione a função do RAM criada na conta de origem na Etapa 1.

    2. Configure Replication Policy:

      • Replicate Delete Operations (esta opção aparece quando o versionamento está desativado para o bucket de origem): Escolha se deseja sincronizar exclusões de objetos do bucket de origem para o bucket de destino.

        • Yes: Sincroniza operações de criação, modificação e exclusão para manter o bucket de destino consistente com o bucket de origem. Esta opção é adequada para ambientes multiusuário ou de aplicativos que precisam compartilhar e acessar o mesmo conjunto de dados. No entanto, com essa política, quando um objeto no bucket de origem é excluído manual ou automaticamente por uma regra de ciclo de vida, o objeto correspondente no bucket de destino também é excluído e não pode ser recuperado.

        • No: Sincroniza objetos novos e modificados. Exclusões de objetos no bucket de origem não afetam o bucket de destino. Em cenários de recuperação de desastres, selecione No para evitar que exclusões acidentais no bucket de origem sejam replicadas para o bucket de backup, aumentando a segurança dos dados.

      • Replicate Historical Data: Escolha se deseja replicar dados que existiam no bucket de origem antes da entrada em vigor da regra. Essa operação sobrescreve objetos com o mesmo nome no bucket de destino. Para evitar perda de dados, recomendamos ativar o versionamento tanto no bucket de origem quanto no de destino.

      • Replicate delete markers (esta opção aparece quando o versionamento está ativado para o bucket de origem): Escolha se deseja replicar marcadores de exclusão do bucket de origem para o bucket de destino.

        • Replicate: Quando um objeto é excluído do bucket de origem sem especificar um ID de versão, o OSS sincroniza o marcador de exclusão do bucket de origem para o bucket de destino. Isso é adequado para cenários que exigem compartilhamento e acesso ao mesmo conjunto de dados, garantindo consistência entre os buckets de origem e destino.

          Importante

          Se você configurar essa política, quando um objeto no bucket de origem for excluído manual ou automaticamente por uma regra de ciclo de vida, um marcador de exclusão também será sincronizado para o bucket de destino, tornando os dados inacessíveis no bucket de destino.

        • Do not replicate (recomendado para cenários de recuperação de desastres): Marcadores de exclusão criados no bucket de origem não são replicados para o bucket de destino. Isso evita efetivamente a perda de dados no bucket de destino devido a exclusões acidentais ou automáticas por regras de ciclo de vida no bucket de origem.

      • Replicate permanent deletions of specific versions (esta opção aparece quando o versionamento está ativado para o bucket de origem): Escolha se deseja replicar exclusões permanentes de versões específicas de objetos do bucket de origem para o bucket de destino.

        • Replicate: Quando você exclui permanentemente uma versão específica de um objeto de origem, incluindo versões atuais e não atuais, o OSS também exclui permanentemente a versão correspondente no bucket de destino. Isso é adequado para cenários em que é necessário garantir total consistência de dados entre os buckets de origem e destino.

          Importante

          Se você configurar essa política, versões de objetos excluídas permanentemente do bucket de origem não poderão ser recuperadas no bucket de destino. Use esta opção com cautela.

        • Do not replicate (recomendado para cenários de recuperação de desastres): A exclusão permanente de uma versão específica de um objeto de origem não sincroniza a exclusão da versão correspondente no bucket de destino. Isso impede que operações de exclusão permanente no bucket de origem afetem a segurança dos dados no bucket de destino.

    3. (Opcional) Configure Replication Acceleration:

      • Transfer Acceleration: Se uma tarefa de replicação envolver regiões dentro e fora da China continental, ative este recurso para melhorar a velocidade de transferência de dados. Este recurso incorre em taxas adicionais de Transfer Acceleration.

      • Replication Time Control (RTC): Quando ativado, o RTC mantém a latência de replicação para a maioria dos dados incrementais abaixo de 10 minutos. Este recurso é suportado apenas entre regiões específicas e incorre em taxas adicionais de RTC para replicação entre regiões. Para mais informações, consulte Visão geral do RTC.

    4. Nota

      Não é possível modificar ou excluir uma regra CRR após sua criação. Verifique cuidadosamente todas as configurações antes de clicar em OK. Para encerrar a replicação, desative a tarefa de replicação para interromper a sincronização de dados.

      1. Após confirmar que todas as configurações estão corretas, clique em OK e depois em Confirm Enable.

        A tarefa de replicação começa alguns minutos após a criação da regra. A replicação de dados é um processo assíncrono. O tempo necessário depende do tamanho do objeto, da quantidade de objetos e da latência da rede entre regiões, podendo variar de alguns minutos a várias horas. Visualize o progresso da replicação, incluindo o status de sincronização de dados históricos e incrementais, na aba Cross-Region Replication do bucket de origem.

      Perguntas frequentes

      Por que alterações na classe de armazenamento ou no horário de acesso não são replicadas?

      A replicação de dados é acionada apenas por mudanças no conteúdo do objeto, como criação, exclusão ou modificação. Alterações na classe de armazenamento feitas por meio de uma regra de ciclo de vida ou de uma operação CopyObject, bem como atualizações no último horário de acesso (LastAccessTime), não envolvem a gravação de novo conteúdo no objeto. Portanto, essas ações não disparam uma nova tarefa de replicação, e o OSS não atualiza a réplica do objeto no bucket de destino.

      Soluções:

      • Sincronizar classe de armazenamento: Configure uma regra de ciclo de vida idêntica no bucket de destino para garantir as mesmas transições de classe de armazenamento.

      • Atualizar LastAccessTime: Para atualizar o último horário de acesso de um objeto de destino, acesse o objeto diretamente no bucket de destino (por exemplo, executando uma requisição GetObject) para acionar a atualização de seu LastAccessTime.

      Objetos enviados via multipart upload são replicados?

      Ao enviar um objeto usando multipart upload, o OSS replica cada parte para o bucket de destino. Após uma operação CompleteMultipartUpload mesclar as partes no bucket de origem, o OSS replica o objeto completo como uma única entidade para o bucket de destino.

      Autorização simplificada de função do RAM

      Sim. Para autorização rápida, conceda diretamente a política de sistema AliyunOSSFullAccess fornecida pela Alibaba Cloud à função do RAM criada. No entanto, essa política concede todas as permissões para todos os recursos do OSS em sua conta. Devido ao seu amplo escopo, essa política não é recomendada para ambientes de produção.

      Uso de política JSON para permissões

      Sim. Na página Bucket Policy do bucket de destino, selecione Add Rule by Syntax para uma configuração mais flexível. Considere os seguintes pontos ao usar uma política JSON:

      • Uma nova política substitui qualquer Bucket Policy existente. Certifique-se de que a nova política inclua todas as regras de autorização necessárias.

      • O campo Principal na política deve conter o ARN da função do RAM da conta de origem.

      • Se o nome da função contiver letras maiúsculas, converta-as para minúsculas na política. Por exemplo, a função AliyunOssDrsRole deve ser escrita como aliyunossdrsrole na política.

      • Insira com precisão o UID da conta de origem, o nome do bucket de destino e o UID da conta de destino.

      O código a seguir fornece um exemplo de política:

      {
          "Version":"1",
          "Statement":[
              {
                  "Effect":"Allow",
                  "Action":[
                      "oss:ReplicatePut",
                      "oss:ReplicateDelete"
                  ],
                  "Principal": [
                      "arn:ram::{source-account-uid}:role/{role-name}"
                  ],
                  "Resource":[
                      "acs:oss:*:{destination-account-uid}:{destination-bucket-name}",
                      "acs:oss:*:{destination-account-uid}:{destination-bucket-name}/*"
                  ]
              }
          ]
      }