

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Tutorial: Transferência de dados entre buckets do Amazon S3 entre Contas da AWS
<a name="tutorial_s3-s3-cross-account-transfer"></a>

Com AWS DataSync, você pode transferir dados entre buckets do Amazon S3 que pertencem a diferentes. Contas da AWS

**Importante**  
A transferência de dados Contas da AWS usando os métodos deste tutorial funciona somente com o Amazon S3. Além disso, este tutorial pode ajudar você a transferir dados entre buckets do S3 que também estão em diferentes Regiões da AWS.

## Visão geral do
<a name="s3-s3-cross-account-overview"></a>

Não é incomum transferir dados entre eles Contas da AWS, especialmente se você tiver equipes separadas gerenciando os recursos da sua organização. Veja como DataSync pode ser uma transferência entre contas:
+ **Conta de origem**: a Conta da AWS para gerenciar o bucket do S3 do qual você precisa transferir dados.
+ **Conta de destino**: a Conta da AWS para gerenciar o bucket do S3 para o qual você precisa transferir dados.

------
#### [ Transfers across accounts ]

O diagrama a seguir ilustra um cenário em que você transfere dados de um bucket do S3 para outro bucket do S3 que está em outro Conta da AWS.

![Um exemplo de DataSync cenário de transferência de dados de um bucket do S3 para um Conta da AWS (sua conta de origem) antes de serem transferidos para um bucket do S3 em outro Conta da AWS (sua conta de destino).](http://docs.aws.amazon.com/pt_br/datasync/latest/userguide/images/s3-s3-cross-account-same-region-diagram.png)


------
#### [ Transfers across accounts and Regions ]

O diagrama a seguir ilustra um cenário em que você transfere dados de um bucket do S3 para outro bucket do S3 que está em uma região diferente Conta da AWS .

![Um exemplo de DataSync cenário de transferência de dados de um bucket do S3 em um Conta da AWS (sua conta de origem) e região antes de serem transferidos para um bucket do S3 em uma região diferente Conta da AWS (sua conta de destino).](http://docs.aws.amazon.com/pt_br/datasync/latest/userguide/images/s3-s3-cross-account-diff-region-diagram.png)


------

## Pré-requisito: permissões necessárias na conta de origem
<a name="s3-s3-cross-account-required-permissions-source-account"></a>

Para sua fonte Conta da AWS, há dois conjuntos de permissões a serem considerados com esse tipo de transferência entre contas:
+ *Permissões de usuário* que permitem que um usuário trabalhe com DataSync (pode ser você ou seu administrador de armazenamento). Essas permissões permitem criar DataSync locais e tarefas.
+ *DataSync permissões de serviço* que permitem DataSync transferir dados para o bucket da sua conta de destino.

### Permissões do usuário para a conta de origem
<a name="s3-s3-cross-account-required-permissions-source-account-user"></a>

Na sua conta de origem, adicione pelo menos as seguintes permissões a uma função do IAM para criar seus DataSync locais e tarefas. Para obter informações sobre como adicionar permissões a um perfil, consulte [criação ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html) ou [modificação](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html) de um perfil do IAM.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SourceUserRolePermissions",
            "Effect": "Allow",
            "Action": [
                "datasync:CreateLocationS3",
                "datasync:CreateTask",
                "datasync:DescribeLocation*",
                "datasync:DescribeTaskExecution",
                "datasync:ListLocations",
                "datasync:ListTaskExecutions",
                "datasync:DescribeTask",
                "datasync:CancelTaskExecution",
                "datasync:ListTasks",
                "datasync:StartTaskExecution",
                "s3:GetBucketLocation",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        },
        {
            "Sid": "IAMPermissions",
            "Effect": "Allow",
            "Action": [
                "iam:CreateRole",
                "iam:ListRoles",
                "iam:CreatePolicy"
            ],
            "Resource": "arn:aws:iam::111122223333:role/DataSync-*"
        },
        {
            "Sid": "IAMAttachRolePermissions",
            "Effect": "Allow",
            "Action": [
               "iam:AttachRolePolicy"
            ],
            "Resource": "arn:aws:iam::111122223333:role/DataSync-*",
            "Condition": {
               "ArnLike": {
                 "iam:PolicyARN": [
                    "arn:aws:iam::111122223333:policy/DataSync-*",
                    "arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess",
                    "arn:aws:iam::aws:policy/service-role/AWSDataSyncFullAccess"
                 ]
               }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "datasync.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

**dica**  
Para configurar suas *permissões de usuário*, considere usar [AWSDataSyncFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-awsdatasyncfullaccess). Essa é uma política AWS gerenciada que fornece ao usuário acesso total DataSync e acesso mínimo às suas dependências.

### DataSync permissões de serviço para sua conta de origem
<a name="s3-s3-cross-account-required-permissions-source-account-service"></a>

O DataSync serviço precisa das seguintes permissões em sua conta de origem para transferir dados para o bucket da conta de destino.

Posteriormente neste tutorial, você adiciona essas permissões ao [criar uma função do IAM](#s3-s3-cross-account-create-iam-role-source-account) para DataSync. Você também especifica essa função (`{{source-datasync-role}}`) em sua [política de bucket de destino](#s3-s3-cross-account-update-s3-policy-destination-account) e ao [criar seu local de DataSync destino](#s3-s3-cross-account-create-locations).

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "s3:GetBucketLocation",
        "s3:ListBucket",
        "s3:ListBucketMultipartUploads"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::{{amzn-s3-demo-destination-bucket}}"
    },
    {
      "Action": [
        "s3:AbortMultipartUpload",
        "s3:DeleteObject",
        "s3:GetObject",
        "s3:ListMultipartUploadParts",
        "s3:PutObject",
        "s3:GetObjectTagging",
        "s3:PutObjectTagging"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::{{amzn-s3-demo-destination-bucket}}/*"
    }
  ]
}
```

------

## Pré-requisito: permissões necessárias na conta de destino
<a name="s3-s3-cross-account-required-permissions-dest-account"></a>

Na sua conta de destino, suas *permissões de usuário* devem permitir que você atualize a política do bucket de destino e desative suas listas de controle de acesso (ACLs). Para obter mais informações sobre essas permissões específicas, consulte o [https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)[https://docs.aws.amazon.com/AmazonS3/latest/userguide/](https://docs.aws.amazon.com/AmazonS3/latest/userguide/).

## Etapa 1: na sua conta de origem, crie uma função DataSync do IAM para acesso ao bucket de destino
<a name="s3-s3-cross-account-create-iam-role-source-account"></a>

Na sua fonte Conta da AWS, você precisa de uma função do IAM que dê DataSync as permissões para transferir dados para o bucket da sua conta de destino.

Como você está transferindo entre contas, você deve criar a função manualmente. (DataSyncpode criar essa função para você no console ao transferir para a mesma conta.)

### Crie a DataSync função do IAM
<a name="s3-s3-cross-account-create-iam-role"></a>

Crie uma função do IAM DataSync como entidade confiável.

1. Faça login no Console de gerenciamento da AWS com sua conta de origem.

1. Abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação esquerdo, em **Gerenciamento de acesso**, escolha **Perfis** e, em seguida, escolha **Criar perfil**.

1. Na página **Selecionar entidade confiável**, para **Tipo de entidade confiável**, escolha **AWS service (Serviço da AWS)**.

1. **Em Caso de uso**, escolha **DataSync**na lista suspensa e selecione. **DataSync** Escolha **Próximo**.

1. Na página **Adicionar permissões**, escolha **Próximo**.

1. Forneça um nome ao perfil e escolha **Criar perfil**.

Para obter mais informações, consulte [Criação de uma função para um AWS service (Serviço da AWS) (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html#roles-creatingrole-service-console) no *Guia do usuário do IAM*.

### Adicionar permissões à função do DataSync IAM
<a name="s3-s3-cross-account-attach-custom-policy"></a>

A função do IAM que você acabou de criar precisa das permissões que permitem DataSync transferir dados para o bucket do S3 na sua conta de destino.

1. Na página **Perfis** do console do IAM, procure o perfil que você acabou de criar e escolha seu nome.

1. Na página do perfil, escolha a guia **Permissões**. Selecione **Adicionar permissões** e, em seguida, **Criar política em linha**.

1. Selecione a guia **JSON** e faça o seguinte:

   1. Cole o JSON a seguir no editor de política:
**nota**  
O valor de `aws:ResourceAccount` deve ser o ID da conta proprietária do bucket do Amazon S3 especificado na política.

------
#### [ JSON ]

****  

      ```
      {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "s3:GetBucketLocation",
                   "s3:ListBucket",
                   "s3:ListBucketMultipartUploads"
               ],
               "Effect": "Allow",
               "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket",
               "Condition": {
                   "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                   }
               }
           },
           {
               "Action": [
                   "s3:AbortMultipartUpload",
                   "s3:DeleteObject",
                   "s3:GetObject",
                   "s3:GetObjectTagging",
                   "s3:GetObjectVersion",
                   "s3:GetObjectVersionTagging",
                   "s3:ListMultipartUploadParts",
                   "s3:PutObject",
                   "s3:PutObjectTagging"
                 ],
               "Effect": "Allow",
               "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*",
               "Condition": {
                   "StringEquals": {
                       "aws:ResourceAccount": "123456789012"
                   }
               }
           }
       ]
      }
      ```

------

   1. Substitua cada instância do `{{amzn-s3-demo-destination-bucket}}` pelo nome do bucket do S3 em sua conta de destino.

1. Escolha **Próximo**. Digite um nome para a política e escolha **Criar política**.

## Etapa 2: na conta de destino, atualize a política do bucket do S3
<a name="s3-s3-cross-account-update-s3-policy-destination-account"></a>

Na sua conta de destino, modifique a política de bucket do S3 de destino para incluir a [função DataSync do IAM](#s3-s3-cross-account-create-iam-role-source-account) que você criou na sua conta de origem.

**Antes de começar**: certifique-se de que tem as [permissões necessárias para conta de destino](#s3-s3-cross-account-required-permissions-dest-account).

### Atualizar a política de bucket do S3 de destino
<a name="s3-s3-cross-account-update-s3-policy-destination-account-how-to"></a>

1. No Console de gerenciamento da AWS, mude para sua conta de destino.

1. Abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação à esquerda, escolha **Buckets**. 

1. Na lista **Buckets**, escolha o bucket do S3 para o qual você está transferindo dados.

1. Na página do perfil, escolha a guia **Permissões**.

1. Em **Política de bucket**, escolha **Editar** e faça o seguinte para modificar sua política de bucket do S3:

   1. Atualize o que está no editor para incluir as seguintes declarações de política:

------
#### [ JSON ]

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Sid": "DataSyncCreateS3LocationAndTaskAccess",
            "Effect": "Allow",
            "Principal": {
            "AWS": "arn:aws:iam::{{111122223333}}:role/{{source-datasync-role}}"
            },
            "Action": [
              "s3:GetBucketLocation",
              "s3:ListBucket",
              "s3:ListBucketMultipartUploads",
              "s3:AbortMultipartUpload",
              "s3:DeleteObject",
              "s3:GetObject",
              "s3:ListMultipartUploadParts",
              "s3:PutObject",
              "s3:GetObjectTagging",
              "s3:PutObjectTagging"
            ],
            "Resource": [
              "arn:aws:s3:::{{amzn-s3-demo-destination-bucket}}",
              "arn:aws:s3:::{{amzn-s3-demo-destination-bucket}}/*"
            ]
          }
        ]
      }
      ```

------

   1. Substitua cada instância `{{source-account}}` de pelo Conta da AWS ID da sua conta de origem.

   1. `{{source-datasync-role}}`Substitua pela [função do IAM que você criou DataSync na sua conta de origem](#s3-s3-cross-account-create-iam-role-source-account).

   1. Substitua cada instância do `{{amzn-s3-demo-destination-bucket}}` pelo nome do bucket do S3 em sua conta de destino.

1. Escolha **Salvar alterações**.

## Etapa 3: na sua conta de destino, desative ACLs o bucket do S3
<a name="s3-s3-cross-account-disable-acls-destination-account"></a>

É importante que todos os dados transferidos para o bucket do S3 pertençam à sua conta de destino. Para garantir que essa conta possua os dados, desative as listas de controle de acesso (ACLs) do bucket. Para obter mais informações, consulte [Controle da propriedade de objetos e desativação ACLs do seu bucket no Guia](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) do usuário do *Amazon S3*.

**Antes de começar**: certifique-se de que tem as [permissões necessárias para conta de destino](#s3-s3-cross-account-required-permissions-dest-account).

### Desative seu bucket S3 de destino ACLs
<a name="s3-s3-cross-account-disable-acls-destination-account-how-to"></a>

1. Enquanto ainda estiver conectado ao console do S3 com sua conta de destino, escolha o bucket do S3 para o qual você está transferindo dados.

1. Na página do perfil, escolha a guia **Permissões**.

1. Em **Object Ownership**, escolha **Editar**.

1. Se ainda não estiver selecionada, escolha a opção **ACLs desativada (recomendada)**.

1. Escolha **Salvar alterações**.

## Etapa 4: na sua conta de origem, crie seus DataSync locais
<a name="s3-s3-cross-account-create-locations"></a>

Na sua conta de origem, crie os DataSync locais para seus buckets S3 de origem e destino.

**Antes de começar**: certifique-se de que tem as [permissões necessárias para conta de origem](#s3-s3-cross-account-required-permissions-source-account).

### Crie sua localização DataSync de origem
<a name="s3-s3-cross-account-create-source-location"></a>
+ Na conta de origem, crie um [local](create-s3-location.md#create-s3-location-how-to) para o bucket do S3 do qual você está transferindo dados.

### Crie seu local DataSync de destino
<a name="s3-s3-cross-account-create-datasync-destination"></a>

Ainda na conta de origem, crie um local para o bucket do S3 para o qual você está transferindo dados.

Como você não pode criar locais entre contas usando a interface do DataSync console, essas instruções exigem que você execute um `create-location-s3` comando para criar seu local de destino. Recomendamos executar o comando usando AWS CloudShell um shell pré-autenticado baseado em navegador que você inicia diretamente do console. CloudShellpermite que você execute AWS CLI comandos `create-location-s3` sem baixar ou instalar ferramentas de linha de comando.

**nota**  
Para concluir as etapas a seguir usando uma ferramenta de linha de comando diferente de CloudShell, certifique-se de que seu [AWS CLI perfil](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html) use a mesma função do IAM que inclui as [permissões de usuário necessárias](#s3-s3-cross-account-required-permissions-source-account) para uso DataSync em sua conta de origem.

**Para criar um local de DataSync destino usando CloudShell**

1. Enquanto ainda estiver na sua conta de origem, faça o seguinte para iniciar a CloudShell partir do console:
   + Escolha o CloudShell ícone na barra de navegação do console. Ele está à direita da caixa de pesquisa.
   + Use a caixa de pesquisa na barra de navegação do console para pesquisar **CloudShell**e, em seguida, escolha a **CloudShell**opção.

1. Copie o seguinte comando `create-location-s3`:

   ```
   aws datasync create-location-s3 \
     --s3-bucket-arn arn:aws:s3:::{{amzn-s3-demo-destination-bucket}} \
     --region {{amzn-s3-demo-destination-bucket-region}} \
     --s3-config '{
       "BucketAccessRoleArn":"arn:aws:iam::{{source-account-id}}:role/{{source-datasync-role}}"
     }'
   ```

1. Substitua `{{amzn-s3-demo-destination-bucket}}` pelo nome de bucket S3 em sua conta de destino.

1. Se o bucket de destino estiver em uma região diferente do bucket de origem, substitua `{{amzn-s3-demo-destination-bucket-region}}` pela região onde o bucket de destino reside (por exemplo, `{{us-east-2}}`). Remova essa opção se os buckets estiverem na mesma região.

1. `{{source-account-id}}`Substitua pelo Conta da AWS ID de origem.

1. `{{source-datasync-role}}`Substitua pela [função DataSync do IAM](#s3-s3-cross-account-create-iam-role-source-account) que você criou na sua conta de origem.

1. Execute o comando em CloudShell.

   Se o comando retornar um ARN de DataSync localização semelhante a este, você criou o local com sucesso:

   ```
   {
     "LocationArn": "arn:aws:datasync:us-east-2:123456789012:location/loc-abcdef01234567890"
   }
   ```

1. No painel de navegação esquerdo, expanda **Transferência de dados** e, em seguida, escolha **Locais**.

1. Se você criou o local em uma região diferente, escolha essa região no painel de navegação.

Na conta de origem, você pode ver o local do bucket do S3 que acabou de criar para o bucket da conta de destino.

## Etapa 5: na sua conta de origem, crie e inicie sua DataSync tarefa
<a name="s3-s3-cross-account-create-start-datasync-task"></a>

Antes de iniciar uma DataSync tarefa para transferir seus dados, vamos recapitular o que você fez até agora:
+ Na sua conta de origem, você criou uma função do IAM que permite DataSync transferir dados para o bucket do S3 na sua conta de destino.
+ Na sua conta de destino, você configurou seu bucket do S3 para DataSync poder transferir dados para ele.
+ Na sua conta de origem, você criou os locais de DataSync origem e destino para sua transferência.

### Crie e inicie sua DataSync tarefa
<a name="s3-s3-cross-account-create-start-datasync-task-how-to"></a>

1. Enquanto ainda estiver usando o DataSync console em sua conta de origem, expanda **Transferência de dados** no painel de navegação esquerdo e escolha **Tarefas** e **Criar tarefa**.

1. Se o bucket na sua conta de destino estiver em uma região diferente do bucket na sua conta de origem, escolha a região do bucket de destino no painel de navegação superior.
**Importante**  
Para evitar um erro de conexão de rede, você deve criar sua DataSync tarefa na mesma região do local de destino.

1. Na página **Configurar local de origem**, faça o seguinte:

   1. Selecione **Escolher um local existente**.

   1. (Para transferências entre regiões) No menu suspenso **Região**, escolha a região em que o bucket de origem reside.

   1. Em **Locais existentes**, escolha o local de origem do bucket do S3 do qual você está transferindo dados e, em seguida, escolha **Próximo**.

1. Na página **Configurar local de destino**, faça o seguinte:

   1. Selecione **Escolher um local existente**.

   1. Em **Locais existentes**, escolha o local de destino para o bucket do S3 para o qual você está transferindo dados e, em seguida, escolha **Próximo**.

1. Na página **Definir configurações**, escolha um **Modo de tarefa**.
**dica**  
Recomendamos usar o modo **Avançado**. Para obter mais informações, consulte [Como escolher um modo de tarefa para a transferência de dados](choosing-task-mode.md).

1. Dê um nome à tarefa e defina configurações adicionais, como especificar um grupo de CloudWatch logs da Amazon. Escolha **Próximo**.

1. Na página **Revisão**, revise suas configurações e selecione **Criar tarefa**.

1. Na página de detalhes da tarefa, escolha **Iniciar** e, em seguida, escolha uma das seguintes opções:
   + Para executar a tarefa sem modificação, escolha **Iniciar com padrões**.
   + Para modificar a tarefa antes de executá-la, escolha **Iniciar com opções de substituição**.

Quando sua tarefa terminar, verifique o bucket do S3 na sua conta de destino. Você deve ver os dados que foram movidos do bucket da sua conta de origem.

## Solução de problemas
<a name="s3-s3-cross-account-troubleshooting"></a>

Consulte as informações a seguir se tiver problemas ao tentar realizar a transferência entre contas.

**Erros de conexão**  
Ao transferir entre buckets do S3 em diferentes regiões Contas da AWS e regiões com tarefas do modo Básico, você pode receber um erro de conexão de rede ao iniciar sua tarefa. DataSync Para resolver isso, use uma tarefa do modo Avançado. Como alternativa, crie uma tarefa no modo Básico na mesma região do local de destino e tente executar a tarefa.

## Relacionado: transferências entre contas com buckets S3 usando criptografia no servidor
<a name="s3-s3-cross-account-create-start-datasync-task"></a>

Se você estiver tentando fazer essa transferência com buckets S3 usando criptografia no servidor, consulte o [Blog da AWS sobre armazenamento](https://aws.amazon.com/blogs/storage/transfer-customer-managed-sse-kms-encrypted-objects-across-aws-accounts-and-regions-using-aws-datasync/) para obter instruções.