

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.

# Importación correcta de un bucket de S3 como CloudFormation pila de AWS
<a name="successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack"></a>

*Ram Kandaswamy, Amazon Web Services*

## Resumen
<a name="successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack-summary"></a>

Si utiliza los recursos de Amazon Web Services (AWS), como los buckets de Amazon Simple Storage Service (Amazon S3), y desea utilizar un enfoque de infraestructura como código (IaC), puede importar sus recursos a CloudFormation AWS y gestionarlos como una pila.

Este patrón proporciona los pasos para importar correctamente un bucket de S3 como una CloudFormation pila de AWS. Al utilizar este enfoque de patrón, puede evitar los posibles errores que podrían producirse si importa su bucket de S3 en una sola acción.

## Requisitos previos y limitaciones
<a name="successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack-prereqs"></a>

**Requisitos previos**
+ Una cuenta de AWS activa.
+ Un bucket de S3 y una política de bucket de S3 existentes. Para obtener más información al respecto, consulte [Qué política de bucket de S3 debo usar para cumplir con la regla s3- de AWS Config bucket-ssl-requests-only](https://aws.amazon.com/premiumsupport/knowledge-center/s3-bucket-policy-for-config-rule/) en el Centro de conocimiento de AWS.
+ Una clave de AWS Key Management Service (AWS KMS) existente y su alias. Para obtener más información, consulte [Trabajar con alias](https://docs.aws.amazon.com/kms/latest/developerguide/programming-aliases.html) en la documentación de AWS KMS.
+ La CloudFormation plantilla de `CloudFormation-template-S3-bucket` AWS de muestra (adjunta), descargada en su ordenador local.

## Arquitectura
<a name="successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack-architecture"></a>

![\[Flujo de trabajo para usar la CloudFormation plantilla a fin de crear una CloudFormation pila para importar un bucket de S3.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/aea7f6fe-8e67-46c4-8b90-1ab06b879111/images/ee143374-a0a4-42d9-b7ca-16593a597a84.png)


 

En el diagrama, se muestra el siguiente flujo de trabajo:

1. El usuario crea una plantilla de AWS CloudFormation con formato JSON o YAML.

1. La plantilla crea una CloudFormation pila de AWS para importar el bucket de S3.

1. La CloudFormation pila de AWS administra el depósito de S3 que especificó en la plantilla.

**Pila de tecnología**
+ AWS CloudFormation
+ AWS Identity y Access Management (IAM)
+ AWS KMS
+ Amazon S3

 

**Herramientas**
+ [AWS CloudFormation: AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) le CloudFormation ayuda a crear y aprovisionar despliegues de infraestructura de AWS de forma predecible y repetitiva.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html): IAM es un servicio web que le ayuda a controlar el acceso seguro a los servicios de AWS.
+ [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html): AWS Key Management Service (AWS KMS) es un servicio de cifrado y administración de claves adaptado a la nube.
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html): Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento para Internet.

## Epics
<a name="successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack-epics"></a>

### Importe un bucket de S3 con cifrado AWS KMS key basado en una CloudFormation pila de AWS
<a name="import-an-s3-bucket-with-kms-key-long--based-encryption-as-an-aws-cloudformation-stack"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una plantilla para importar el bucket de S3 y la clave de KMS. | En su equipo local, cree una plantilla para importar el bucket de S3 y la clave de KMS con la plantilla de muestra siguiente:<pre>AWSTemplateFormatVersion: 2010-09-09<br /><br />Parameters:<br /><br />  bucketName:<br /><br />    Type: String<br /><br />Resources:<br /><br />  S3Bucket:<br /><br />    Type: 'AWS::S3::Bucket'<br /><br />    DeletionPolicy: Retain<br /><br />    Properties:<br /><br />      BucketName: !Ref bucketName<br /><br />      BucketEncryption:<br /><br />        ServerSideEncryptionConfiguration:<br /><br />          - ServerSideEncryptionByDefault:<br /><br />              SSEAlgorithm: 'aws:kms'<br /><br />              KMSMasterKeyID: !GetAtt <br /><br />                - KMSS3Encryption<br /><br />                - Arn<br /><br />  KMSS3Encryption:<br /><br />    Type: 'AWS::KMS::Key'<br /><br />    DeletionPolicy: Retain<br /><br />    Properties:<br /><br />      Enabled: true<br /><br />      KeyPolicy: !Sub |-<br /><br />        {<br /><br />            "Id": "key-consolepolicy-3",<br /><br />            "Version": "2012-10-17",		 	 	 <br /><br />            "Statement": [<br /><br />                {<br /><br />                    "Sid": "Enable IAM User Permissions",<br /><br />                    "Effect": "Allow",<br /><br />                    "Principal": {<br /><br />                        "AWS": ["arn:aws:iam::${AWS::AccountId}:root"]<br /><br />                    },<br /><br />                    "Action": "kms:*",<br /><br />                    "Resource": "*"<br /><br />                }<br /><br />                }<br /><br />            ]<br /><br />        }<br /><br />      EnableKeyRotation: true</pre> | AWS DevOps | 
| Cree la pila. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack.html) | AWS DevOps | 
| Cree el alias de la clave KMS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack.html)<pre>KMSS3EncryptionAlias:<br /><br />    Type: 'AWS::KMS::Alias'<br /><br />    DeletionPolicy: Retain<br /><br />    Properties: <br /><br />    AliasName: alias/S3BucketKey<br /><br />    TargetKeyId: !Ref KMSS3Encryption</pre>Para obtener más información al respecto, consulte [las actualizaciones de la CloudFormation pila](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html) de AWS en la CloudFormation documentación de AWS.  | AWS DevOps | 
| Actualice la pila para incluir la política de bucket de S3. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack.html)<pre>S3BucketPolicy:<br /><br />  Type: 'AWS::S3::BucketPolicy'<br /><br />  Properties:<br /><br />    Bucket: !Ref S3Bucket<br /><br />    PolicyDocument: !Sub |-<br /><br />      {<br /><br />                  "Version": "2008-10-17",		 	 	 <br /><br />                  "Id": "restricthttp",<br /><br />                  "Statement": [<br /><br />                      {<br /><br />                          "Sid": "denyhttp",<br /><br />                          "Effect": "Deny",<br /><br />                          "Principal": {<br /><br />                              "AWS": "*"<br /><br />                          },<br /><br />                          "Action": "s3:*",<br /><br />                          "Resource": ["arn:aws:s3:::${S3Bucket}","arn:aws:s3:::${S3Bucket}/*"],<br /><br />                          "Condition": {<br /><br />                              "Bool": {<br /><br />                                  "aws:SecureTransport": "false"<br /><br />                              }<br /><br />                          }<br /><br />                      }<br /><br />                  ]<br /><br />              }</pre>Esta política de bucket de S3 tiene una declaración de denegación que restringe las llamadas a la API que no son seguras.  | AWS DevOps | 
| Actualice la política de claves. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack.html)Para más información, consulte [Políticas de claves en AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) en la documentación de AWS KMS. | Administrador de AWS | 
| Adición de etiquetas de nivel de recursos. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack.html)<pre>Tags:<br /><br />  - Key: createdBy<br /><br />    Value: Cloudformation</pre> | AWS DevOps | 

## Recursos relacionados
<a name="successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack-resources"></a>
+ [Incorporar los recursos existentes a la CloudFormation administración de AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-import.html)
+ [AWS re:Invent 2017: información detallada sobre AWS CloudFormation (vídeo](https://www.youtube.com/watch?v=01hy48R9Kr8))

## Conexiones
<a name="attachments-aea7f6fe-8e67-46c4-8b90-1ab06b879111"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/aea7f6fe-8e67-46c4-8b90-1ab06b879111/attachments/attachment.zip)