

# Configuración del acceso a un bucket de Amazon S3
<a name="aurora-export-snapshot.Setup"></a>

Una vez identificado el bucket de Amazon S3, dé a la instantánea permiso para acceder a él.

**Topics**
+ [Identificación del bucket de Amazon S3 para exportación](#aurora-export-snapshot.SetupBucket)
+ [Proporcionar acceso a un bucket de Amazon S3 mediante un rol de IAM](#aurora-export-snapshot.SetupIAMRole)
+ [Uso de un bucket de Amazon S3 en diversas cuentas](#aurora-export-snapshot.Setup.XAcctBucket)
+ [Uso de un AWS KMS key en diversas cuentas](#aurora-export-snapshot.CMK)

## Identificación del bucket de Amazon S3 para exportación
<a name="aurora-export-snapshot.SetupBucket"></a>

Identifique el bucket de Amazon S3 al que se exportará la instantánea de base de datos. Utilice un bucket de S3 ya existente, o bien cree un bucket S3 nuevo.

**nota**  
El bucket de S3 al que se realizará la exportación debe estar en la misma región de AWS que la instantánea.

Para obtener más información acerca de cómo trabajar con buckets de Amazon S3, consulte lo siguiente en *Guía del usuario de Amazon Simple Storage Service*:
+ [ Cómo se consultan las propiedades de un bucket de S?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/view-bucket-properties.html)
+ [ Cómo puedo habilitar el cifrado predeterminado para un bucket de Amazon S?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/default-bucket-encryption.html)
+ [ Cómo se puede crear un bucket de S?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html)

## Proporcionar acceso a un bucket de Amazon S3 mediante un rol de IAM
<a name="aurora-export-snapshot.SetupIAMRole"></a>

Antes de exportar datos de instantáneas de bases de datos a Amazon S3, conceda a las tareas de exportación de instantáneas permiso de acceso de escritura al bucket de Amazon S3. 

Para conceder este permiso, cree una política de IAM que proporcione acceso al bucket y cree un rol de IAM y adjunte la política al rol. Más adelante, puede asignar el rol de IAM a la tarea de exportación de instantáneas.

**importante**  
Si prevé utilizar la Consola de administración de AWS para exportar la instantánea, puede elegir crear la política de IAM y el rol automáticamente al exportar la instantánea. Para obtener instrucciones, consulte [Creación de tareas de exportación de instantáneas](aurora-export-snapshot.Exporting.md).

**Para dar a las tareas de instantáneas de base de datos acceso a Amazon S3**

1. Cree una política de IAM. Esta política proporciona los permisos de bucket y objeto que permiten a la tarea de exportación de instantáneas obtener acceso a Amazon S3.

   En la política, incluya las siguientes acciones obligatorias para permitir transferir archivos desde Amazon Aurora a un bucket de S3:
   + `s3:PutObject*`
   + `s3:GetObject*` 
   + `s3:ListBucket` 
   + `s3:DeleteObject*`
   +  `s3:GetBucketLocation`

   En la política, incluya los siguientes recursos para identificar el bucket de S3 y los objetos incluidos en él. En la siguiente lista de recursos se muestra el formato de nombre de recurso de Amazon (ARN) para obtener acceso a Amazon S3.
   + `arn:aws:s3:::{{amzn-s3-demo-bucket}}`
   + `arn:aws:s3:::{{amzn-s3-demo-bucket}}/*`

   Para obtener más información sobre cómo crear una política de IAM para Amazon Aurora, consulte [Creación y uso de una política de IAM para el acceso a bases de datos de IAM](UsingWithRDS.IAMDBAuth.IAMPolicy.md). Consulte también el [Tutorial: Crear y asociar su primera política administrada por el cliente](https://docs.aws.amazon.com//IAM/latest/UserGuide/tutorial_managed-policies.html) en la *Guía del usuario de IAM*.

   El siguiente comando de la AWS CLI crea una política de IAM denominada `ExportPolicy` con estas opciones. Otorga acceso a un bucket denominado {{amzn-s3-demo-bucket}}. 
**nota**  
Después de crear la política, apunte el ARN de esta. Cuando asocia la política a un rol de IAM, necesita el ARN para realizar un paso posterior. 

   ```
   aws iam create-policy  --policy-name ExportPolicy --policy-document '{
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "ExportPolicy",
               "Effect": "Allow",
               "Action": [
                   "s3:PutObject*",
                   "s3:ListBucket",
                   "s3:GetObject*",
                   "s3:DeleteObject*",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::{{amzn-s3-demo-bucket}}",
                   "arn:aws:s3:::{{amzn-s3-demo-bucket}}/*"
               ]
           }
       ]
   }'
   ```

1. Cree un rol de IAM que Aurora pueda asumir en su nombre para acceder a sus buckets de Amazon S3. Para obtener más información, vea [Crear un rol para delegar permisos a un IAM usuario ](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) en *Guía del usuario de IAM. *

   En el siguiente ejemplo se muestra cómo se usa el comando de la AWS CLI para crear un rol denominado `rds-s3-export-role`.

   ```
   aws iam create-role  --role-name rds-s3-export-role  --assume-role-policy-document '{
        "Version": "2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
               "Service": "export.rds.amazonaws.com"
             },
            "Action": "sts:AssumeRole"
          }
        ] 
      }'
   ```

1. Asocie la política de IAM que creó al rol de IAM creado.

   El siguiente comando de la AWS CLI asocia la política creada anteriormente al rol denominado `rds-s3-export-role`. Sustituya `{{your-policy-arn}}` por el ARN de la política que ha apuntado en el paso anterior.

   ```
   aws iam attach-role-policy  --policy-arn {{your-policy-arn}}  --role-name rds-s3-export-role
   ```

## Uso de un bucket de Amazon S3 en diversas cuentas
<a name="aurora-export-snapshot.Setup.XAcctBucket"></a>

Puede utilizar buckets de Amazon S3 en cuentas de AWS. Para utilizar un bucket en diversas cuentas, agregue una política de bucket para permitir el acceso al rol de IAM que está utilizando para las exportaciones de S3. Para obtener más información, consulte el [Ejemplo 2: Propietario del bucket que concede permisos de bucket en diversas cuentas](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access-example2.html).Para agregar una política de bucket
+ Adjunte una política de bucket a su bucket, como se muestra en el siguiente ejemplo.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Principal": {
                  "AWS": "arn:aws:iam::{{123456789012}}:role/Admin"
              },
              "Action": [
                  "s3:PutObject*",
                  "s3:ListBucket",
                  "s3:GetObject*",
                  "s3:DeleteObject*",
                  "s3:GetBucketLocation"
              ],
              "Resource": [
                  "arn:aws:s3:::{{amzn-s3-demo-destination-bucket}}",
                  "arn:aws:s3:::{{amzn-s3-demo-destination-bucket}}/*"
              ]
          }
      ]
  }
  ```

------

## Uso de un AWS KMS key en diversas cuentas
<a name="aurora-export-snapshot.CMK"></a>

Puede utilizar una AWS KMS key en diversas cuentas para cifrar las exportaciones de Amazon S3. En primer lugar, agregue una política de claves a la cuenta local y, a continuación, agregue las políticas de IAM en la cuenta externa. Para obtener más información, consulte [Allowing users in other accounts to use a KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html) (Permitir que los usuarios de otras cuentas utilicen una clave KMS).

**Para utilizar una clave KMS en diversas cuentas**

1. Agregue una política de claves a la cuenta local.

   El siguiente ejemplo proporciona `ExampleRole` y `ExampleUser` en la cuenta externa 444455556666 permisos en la cuenta local 123456789012.

   ```
   {
       "Sid": "Allow an external account to use this KMS key",
       "Effect": "Allow",
       "Principal": {
           "AWS": [
               "arn:aws:iam::444455556666:role/ExampleRole",
               "arn:aws:iam::444455556666:user/ExampleUser"
           ]
       },
       "Action": [
           "kms:Encrypt",
           "kms:Decrypt",
           "kms:ReEncrypt*",
           "kms:GenerateDataKey*",
           "kms:CreateGrant",
           "kms:DescribeKey",
           "kms:RetireGrant"
       ],
       "Resource": "*"
   }
   ```

1. Agregar políticas de IAM a la cuenta externa.

   La siguiente política de IAM de ejemplo permite a la entidad principal utilizar la clave KMS en la cuenta 123456789012 para operaciones criptográficas. Para conceder este permiso a `ExampleRole` y `ExampleUser` de la cuenta 444455556666, [adjunte la política](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-using.html#attach-managed-policy-console) en esa cuenta.

   ```
   {
       "Sid": "Allow use of KMS key in account 123456789012",
       "Effect": "Allow",
       "Action": [
           "kms:Encrypt",
           "kms:Decrypt",
           "kms:ReEncrypt*",
           "kms:GenerateDataKey*",
           "kms:CreateGrant",
           "kms:DescribeKey",
           "kms:RetireGrant"
       ],
       "Resource": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
   }
   ```