Si es la primera vez que usas Amazon S3, consulta nuestro tutorial sobre [cómo usar tu propio bucket de S3](/es/docs/faq/how-to-set-up-an-amazon-s3-bucket.md).

La URL del archivo resultante en tu bucket de S3 se devolverá en el Assembly Status JSON.

###### Advertencia

**Usa nombres de bucket compatibles con DNS**. El nombre de tu bucket [debe ser compatible con DNS⁠](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html) y no debe contener letras mayúsculas. Los caracteres no alfanuméricos de los nombres de archivo se reemplazarán por un guion bajo y los espacios se reemplazarán por guiones. Si tu bucket de S3 existente contiene letras mayúsculas o no es compatible con DNS por algún otro motivo, reescribe las URL de los resultados mediante el parámetro `url_prefix` del Robot.

## Limitar el acceso

También tendrás que agregar permisos a tu bucket para que Transloadit pueda acceder a él correctamente. A continuación, se muestra un ejemplo de una política de IAM que puedes usar. De acuerdo con el [principio de privilegio mínimo⁠](https://en.wikipedia.org/wiki/Principle%5Fof%5Fleast%5Fprivilege), contiene los **permisos mínimos necesarios** para importar un archivo desde tu bucket de S3 mediante Transloadit. Es posible que necesites más permisos (especialmente permisos de visualización), según tu aplicación.

Cambia `{BUCKET_NAME}` según corresponda en los valores de `Sid` y `Resource`. Además, esta política concederá los permisos mínimos requeridos a todos tus usuarios. Te recomendamos crear un usuario de Amazon IAM independiente y usar su ARN de usuario, que puedes encontrar en la pestaña «Resumen» de un usuario [aquí⁠](https://console.aws.amazon.com/iam/home#users), como valor de `Principal`. Puedes encontrar más información al respecto [aquí⁠](https://docs.aws.amazon.com/AmazonS3/latest/dev/AccessPolicyLanguage%5FUseCases%5Fs3%5Fa.html).

```json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowTransloaditToImportFilesIn{BUCKET_NAME}Bucket",
      "Effect": "Allow",
      "Action": ["s3:GetBucketLocation", "s3:ListBucket"],
      "Resource": ["arn:aws:s3:::{BUCKET_NAME}", "arn:aws:s3:::{BUCKET_NAME}/*"]
    }
  ]
}

```

El valor `Sid` es simplemente un identificador que te permite reconocer la regla más adelante. Puedes asignarle el nombre que prefieras.

La política debe dividirse en dos partes porque la acción `ListBucket` requiere permisos sobre el bucket, mientras que las demás acciones requieren permisos sobre los objetos del bucket. Cuando se especifican los objetos, el parámetro `Resource` incluye una barra diagonal y un asterisco al final; cuando la política especifica el bucket, se omiten la barra diagonal y el asterisco.

Para crear URL de resultados correctas, necesitamos saber en qué región se encuentra tu bucket de S3. Para ello, necesitamos el permiso `GetBucketLocation`. Determinar de esta manera la región de tu bucket también ralentizará tus Assemblies. Para acelerar considerablemente el proceso y evitar que sea necesario el permiso `GetBucketLocation`, agregamos el parámetro `bucket_region` a los Robots /s3/store y /s3/import. Recomendamos usarlo siempre.

Ten en cuenta que, si usas cifrado de bucket, es posible que también debas agregar `"sts:*"` y `"kms:*"` a la política del bucket. Si tienes problemas con nuestra política de bucket de ejemplo, consulta la información disponible [aquí⁠](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html) y [aquí⁠](https://aws.amazon.com/blogs/security/how-to-restrict-amazon-s3-bucket-access-to-a-specific-iam-role/).
