

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Tutorial: Transferencia de datos entre depósitos de Amazon S3 Cuentas de AWS
<a name="tutorial_s3-s3-cross-account-transfer"></a>

Con AWS DataSync, puede transferir datos entre depósitos de Amazon S3 que pertenecen a diferentes Cuentas de AWS.

**importante**  
La transferencia de datos Cuentas de AWS mediante los métodos de este tutorial solo funciona con Amazon S3. Además, este tutorial puede ayudarlo a transferir datos entre buckets de S3 que también se encuentran en diferentes Regiones de AWS.

## Descripción general de
<a name="s3-s3-cross-account-overview"></a>

No es raro transferir datos de un lugar a otro Cuentas de AWS, especialmente si tiene equipos independientes que administran los recursos de su organización. Así es como DataSync puede ser una transferencia entre cuentas mediante:
+ **Cuenta de origen**: la que se utiliza Cuenta de AWS para gestionar el depósito de S3 desde el que se deben transferir los datos.
+ **Cuenta de destino**: la que se utiliza Cuenta de AWS para administrar el depósito de S3 al que necesita transferir los datos.

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

El siguiente diagrama muestra un escenario en el que se transfieren datos de un bucket de S3 a otro bucket de S3 que se encuentra en una Cuenta de AWS diferente.

![Un ejemplo de DataSync escenario en el que los datos se mueven de un depósito de S3 a uno Cuenta de AWS (su cuenta de origen) antes de pasar a un depósito de S3 de otro Cuenta de AWS (su cuenta de destino).](http://docs.aws.amazon.com/es_es/datasync/latest/userguide/images/s3-s3-cross-account-same-region-diagram.png)


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

El siguiente diagrama ilustra un escenario en el que se transfieren datos de un depósito de S3 a otro depósito de S3 que se encuentra en una región Cuenta de AWS AND diferente.

![Un ejemplo de DataSync escenario en el que los datos se mueven de un depósito de S3 a una región Cuenta de AWS (su cuenta de origen) y luego a un depósito de S3 de otra región Cuenta de AWS (su cuenta de destino).](http://docs.aws.amazon.com/es_es/datasync/latest/userguide/images/s3-s3-cross-account-diff-region-diagram.png)


------

## Requisito previo: permisos de cuenta de origen necesarios
<a name="s3-s3-cross-account-required-permissions-source-account"></a>

Para tu fuente Cuenta de AWS, hay dos conjuntos de permisos que debes tener en cuenta a la hora de realizar este tipo de transferencia entre cuentas:
+ *Permisos de usuario* que permiten a un usuario trabajar con ellos DataSync (puede ser usted o su administrador de almacenamiento). Estos permisos le permiten crear DataSync ubicaciones y tareas.
+ *DataSync permisos de servicio* que permiten DataSync transferir datos al depósito de cuentas de destino.

### Permisos de usuario para su cuenta de origen
<a name="s3-s3-cross-account-required-permissions-source-account-user"></a>

En su cuenta de origen, añada al menos los siguientes permisos a un rol de IAM para crear sus DataSync ubicaciones y tareas. Para obtener información sobre cómo añadir permisos a un rol, consulte [creación](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html) o [modificación](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html) de un rol de 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"
                    ]
                }
            }
        }
    ]
}
```

------

**sugerencia**  
Para configurar los *permisos de usuario*, considere [AWSDataSyncFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-awsdatasyncfullaccess)utilizarlos. Se trata de una política AWS gestionada que proporciona al usuario un acceso total DataSync y mínimo a sus dependencias.

### DataSync permisos de servicio para su cuenta de origen
<a name="s3-s3-cross-account-required-permissions-source-account-service"></a>

El DataSync servicio necesita los siguientes permisos en tu cuenta de origen para transferir datos al depósito de cuentas de destino.

Más adelante en este tutorial, añadirá estos permisos al [crear un rol de IAM](#s3-s3-cross-account-create-iam-role-source-account) para DataSync. También debe especificar este rol (`{{source-datasync-role}}`) en su [política de segmentos de destino](#s3-s3-cross-account-update-s3-policy-destination-account) y al [crear su ubicación 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}}/*"
    }
  ]
}
```

------

## Requisito previo: permisos de cuenta de destino obligatorios
<a name="s3-s3-cross-account-required-permissions-dest-account"></a>

En tu cuenta de destino, tus *permisos de usuario* deben permitirte actualizar la política del depósito de destino e inhabilitar sus listas de control de acceso (ACLs). Para obtener más información sobre estos permisos específicos, consulte la [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/).

## Paso 1: En tu cuenta de origen, crea un rol de DataSync IAM para el acceso al bucket de destino
<a name="s3-s3-cross-account-create-iam-role-source-account"></a>

En tu fuente Cuenta de AWS, necesitas un rol de IAM que te dé DataSync los permisos para transferir datos al depósito de tu cuenta de destino.

Como vas a realizar transferencias entre cuentas, debes crear la función manualmente. (DataSyncpuede crearte este rol en la consola al transferirlo a la misma cuenta).

### Cree el rol DataSync de IAM
<a name="s3-s3-cross-account-create-iam-role"></a>

Cree un rol de IAM DataSync como entidad de confianza.

1. Inicie sesión en el Consola de administración de AWS con su cuenta de origen.

1. Abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación situado a la izquierda, en **Administración de acceso**, elija **Roles** y luego **Crear rol**.

1. En la página **Seleccionar entidad de confianza**, en **Tipo de entidad de confianza**, elija **Servicio de AWS**.

1. **En Caso de uso**, elige una opción **DataSync**en la lista desplegable y selecciona **DataSync**. Elija **Siguiente**.

1. En la página **Agregar permisos**, elija **Siguiente**.

1. Introduzca un nombre de rol y elija **Crear rol**.

Para obtener más información, consulte [Crear un rol para una Servicio de AWS (consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html#roles-creatingrole-service-console) en la Guía del *usuario de IAM*.

### Añada permisos al rol de DataSync IAM
<a name="s3-s3-cross-account-attach-custom-policy"></a>

El rol de IAM que acaba de crear necesita los permisos que permiten transferir datos DataSync al bucket de S3 de su cuenta de destino.

1. En la página **Roles** de la consola de IAM, busque el rol que acaba de crear y seleccione el nombre.

1. En la página de detalles del rol, elija la pestaña **Permisos**. Elija **Agregar permisos** y luego **Crear política insertada**.

1. Elija la pestaña **JSON** y haga lo siguiente:

   1. Pegue el siguiente JSON en el editor de políticas:
**nota**  
El valor de `aws:ResourceAccount` debe ser el ID de la cuenta propietaria del bucket de Amazon S3 especificado en la 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. Reemplace cada instancia de `{{amzn-s3-demo-destination-bucket}}` por el nombre del bucket de S3 de su cuenta de destino.

1. Elija **Siguiente**. Escriba un nombre para la política y elija **Crear política**.

## Paso 2: en su cuenta de destino, actualice su política de buckets de S3
<a name="s3-s3-cross-account-update-s3-policy-destination-account"></a>

En su cuenta de destino, modifique la política del bucket de S3 de destino para incluir el [rol de DataSync IAM](#s3-s3-cross-account-create-iam-role-source-account) que creó en su cuenta de origen.

**Antes de empezar**: asegúrese de tener los [permisos necesarios para su cuenta de destino](#s3-s3-cross-account-required-permissions-dest-account).

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

1. En el Consola de administración de AWS, cambia a tu cuenta de destino.

1. Abra la consola de Amazon S3 en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. En el panel de navegación situado a la izquierda, elija **Buckets**. 

1. En la lista **Buckets**, elija el bucket de S3 al que va a transferir los datos.

1. En la página de detalles del bucket, elija la pestaña **Permisos**.

1. En **Política de buckets**, seleccione **Editar** y haga lo siguiente para modificar su política de bucket de S3:

   1. Actualice lo que hay en el editor para incluir las siguientes declaraciones 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. Sustituya cada instancia `{{source-account}}` de por el Cuenta de AWS ID de su cuenta de origen.

   1. `{{source-datasync-role}}`Sustitúyala por la [función de IAM para la que creaste DataSync en tu cuenta de origen](#s3-s3-cross-account-create-iam-role-source-account).

   1. Reemplace cada instancia de `{{amzn-s3-demo-destination-bucket}}` por el nombre del bucket de S3 de su cuenta de destino.

1. Seleccione **Save changes (Guardar cambios)**.

## Paso 3: En tu cuenta de destino, inhabilita tu bucket ACLs de S3
<a name="s3-s3-cross-account-disable-acls-destination-account"></a>

Es importante que todos los datos que transfiera al bucket de S3 pertenezcan a su cuenta de destino. Para asegurarte de que esta cuenta es la propietaria de los datos, desactiva las listas de control de acceso del bucket (ACLs). Para obtener más información, consulte [Controlar la propiedad de los objetos y deshabilitar ACLs su bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) en la *Guía del usuario de Amazon S3*.

**Antes de empezar**: asegúrese de tener los [permisos necesarios para su cuenta de destino](#s3-s3-cross-account-required-permissions-dest-account).

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

1. Mientras esté conectado en la consola de S3 con su cuenta de destino, elija el bucket de S3 al que va a transferir los datos.

1. En la página de detalles del bucket, elija la pestaña **Permisos**.

1. En **Propiedad de objeto**, elija **Editar**.

1. Si aún no está seleccionada, elige la opción **ACLs deshabilitada (recomendada)**.

1. Seleccione **Save changes (Guardar cambios)**.

## Paso 4: En tu cuenta de origen, crea tus DataSync ubicaciones
<a name="s3-s3-cross-account-create-locations"></a>

En su cuenta de origen, cree las DataSync ubicaciones para los buckets S3 de origen y destino.

**Antes de empezar**: asegúrese de tener los [permisos necesarios para su cuenta de origen](#s3-s3-cross-account-required-permissions-source-account).

### Cree su ubicación DataSync de origen
<a name="s3-s3-cross-account-create-source-location"></a>
+ En su cuenta de origen, cree una [ubicación](create-s3-location.md#create-s3-location-how-to) para el bucket de S3 desde el que transfiere los datos.

### Crea tu ubicación de DataSync destino
<a name="s3-s3-cross-account-create-datasync-destination"></a>

Aún en su cuenta de origen, cree una ubicación para el bucket de S3 al que transfiere los datos.

Como no puede crear ubicaciones entre cuentas mediante la interfaz de la DataSync consola, estas instrucciones requieren que ejecute un `create-location-s3` comando para crear la ubicación de destino. Recomendamos ejecutar el comando mediante AWS CloudShell un shell preautenticado y basado en un navegador que se inicie directamente desde la consola. CloudShellpermite ejecutar AWS CLI comandos `create-location-s3` sin necesidad de descargar ni instalar herramientas de línea de comandos.

**nota**  
Para completar los siguientes pasos con una herramienta de línea de comandos que no sea CloudShell, asegúrese de que su [AWS CLI perfil](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html) utilice la misma función de IAM que incluye los [permisos de usuario necesarios](#s3-s3-cross-account-required-permissions-source-account) para utilizarla DataSync en su cuenta de origen.

**Para crear una ubicación de DataSync destino mediante CloudShell**

1. Mientras estés en tu cuenta de origen, realiza una de las siguientes acciones para CloudShell iniciarla desde la consola:
   + Selecciona el CloudShell icono de la barra de navegación de la consola. Se encuentra a la derecha del cuadro de búsqueda.
   + Utilice el cuadro de búsqueda de la barra de navegación de la consola para buscar **CloudShell**y, a continuación, seleccionar la **CloudShell**opción.

1. Copie el siguiente 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. Sustituya `{{amzn-s3-demo-destination-bucket}}` por el nombre del bucket de S3 en su cuenta de destino.

1. Si el bucket de destino se encuentra en una región diferente a la del bucket de origen, reemplace `{{amzn-s3-demo-destination-bucket-region}}` por la región en la que reside el bucket de destino (por ejemplo, `{{us-east-2}}`). Elimine esta opción si los buckets están en la misma región.

1. `{{source-account-id}}`Sustitúyala por la Cuenta de AWS ID de origen.

1. `{{source-datasync-role}}`Sustitúyalo por el [rol de DataSync IAM](#s3-s3-cross-account-create-iam-role-source-account) que creaste en tu cuenta de origen.

1. Ejecute el comando en CloudShell.

   Si el comando devuelve un ARN de DataSync ubicación similar a este, la ubicación se ha creado correctamente:

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

1. En el panel de navegación situado a la izquierda, expanda **Transferencia de datos** y, a continuación, seleccione **Ubicaciones**.

1. Si creó la ubicación en una región diferente, elija esa región en el panel de navegación.

En su cuenta de origen, puede ver la ubicación de S3 que acaba de crear para el bucket de la cuenta de destino.

## Paso 5: En su cuenta de origen, cree e inicie DataSync la tarea
<a name="s3-s3-cross-account-create-start-datasync-task"></a>

Antes de iniciar una DataSync tarea para transferir tus datos, recapitulemos lo que has hecho hasta ahora:
+ En su cuenta de origen, creó un rol de IAM que permite transferir datos DataSync al bucket de S3 de su cuenta de destino.
+ En su cuenta de destino, configuró su bucket de S3 para DataSync poder transferirle datos.
+ En su cuenta de origen, creó las ubicaciones de DataSync origen y destino de la transferencia.

### Crea e inicia tu DataSync tarea
<a name="s3-s3-cross-account-create-start-datasync-task-how-to"></a>

1. Mientras sigues usando la DataSync consola de tu cuenta de origen, expande **Transferencia de datos** en el panel de navegación izquierdo y, a continuación, selecciona **Tareas** y **Crear tarea**.

1. Si el bucket de su cuenta de destino se encuentra en una región diferente a la del bucket de su cuenta de origen, seleccione la región del bucket de destino en el panel de navegación superior.
**importante**  
Para evitar un error de conexión a la red, debes crear la DataSync tarea en la misma región que la ubicación de destino.

1. En la página **Configurar ubicación de origen**, haga lo siguiente:

   1. Seleccione **Elegir una ubicación existente**.

   1. (Para transferencias entre regiones) En el menú desplegable **Región**, seleccione la región en la que reside el bucket de origen.

   1. En **Ubicaciones existentes**, elija la ubicación de origen del bucket de S3 desde el que está transfiriendo los datos y, a continuación, seleccione **Siguiente**.

1. En la página **Configurar ubicación de destino**, haga lo siguiente:

   1. Seleccione **Elegir una ubicación existente**.

   1. En **Ubicaciones existentes**, elija la ubicación de destino del bucket de S3 al que está transfiriendo los datos y, a continuación, seleccione **Siguiente**.

1. En la página **Configurar ajustes**, seleccione **Modo de tarea**.
**sugerencia**  
Recomendamos usar el modo **mejorado**. Para obtener más información, consulte [Selección del modo de tarea para la transferencia de datos](choosing-task-mode.md).

1. Asigne un nombre a la tarea y configure ajustes adicionales, como especificar un grupo de CloudWatch registros de Amazon. Elija **Siguiente**.

1. En la página **Revisar**, revise los ajustes y seleccione **Crear tarea**.

1. En la página de detalles de la tarea, elija **Iniciar** y, a continuación, elija una de las siguientes acciones:
   + Para ejecutar la tarea sin modificarla, seleccione **Comenzar con los valores predeterminados**.
   + Para modificar la tarea antes de ejecutarla, elija **Comenzar con las opciones principales**.

Cuando finalice la tarea, compruebe el bucket de S3 en su cuenta de destino. Debería ver los datos que se movieron desde el bucket de su cuenta de origen.

## Resolución de problemas
<a name="s3-s3-cross-account-troubleshooting"></a>

Consulta la siguiente información si tienes problemas al intentar completar la transferencia entre cuentas.

**Errores de conexión**  
Al realizar transferencias entre depósitos de S3 en tareas distintas Cuentas de AWS o de regiones con el modo Básico, es posible que se produzca un error de conexión de red al iniciar la DataSync tarea. Para resolver este problema, utilice una tarea en modo mejorado. Como alternativa, cree una tarea en modo básico en la misma región que la ubicación de destino e intente ejecutar esa tarea.

## Relacionado: Transferencias entre cuentas con buckets de S3 mediante el cifrado del servidor
<a name="s3-s3-cross-account-create-start-datasync-task"></a>

Si intenta realizar esta transferencia con buckets de S3 mediante el cifrado del lado del servidor, consulta el [blog sobre almacenamiento de AWS](https://aws.amazon.com/blogs/storage/transfer-customer-managed-sse-kms-encrypted-objects-across-aws-accounts-and-regions-using-aws-datasync/) para obtener instrucciones.