

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Importation réussie d'un compartiment S3 en tant que CloudFormation stack AWS
<a name="successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack"></a>

*Ram Kandaswamy, Amazon Web Services*

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

Si vous utilisez des ressources Amazon Web Services (AWS), telles que les compartiments Amazon Simple Storage Service (Amazon S3), et que vous souhaitez utiliser une approche d'infrastructure en tant que code (IaC), vous pouvez importer vos ressources dans CloudFormation AWS et les gérer sous forme de pile.

Ce modèle fournit les étapes à suivre pour importer avec succès un compartiment S3 en tant que CloudFormation pile AWS. En utilisant l'approche de ce modèle, vous pouvez éviter d'éventuelles erreurs susceptibles de se produire si vous importez votre compartiment S3 en une seule action.

## Conditions préalables et limitations
<a name="successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif.
+ Un compartiment S3 existant et une politique de compartiment S3. Pour plus d'informations à ce sujet, consultez la section [Quelle politique de compartiment S3 dois-je utiliser pour me conformer à la règle AWS Config s3- bucket-ssl-requests-only](https://aws.amazon.com/premiumsupport/knowledge-center/s3-bucket-policy-for-config-rule/) dans le centre de connaissances AWS.
+ Une clé AWS Key Management Service (AWS KMS) existante et son alias. Pour plus d'informations à ce sujet, consultez la section [Utilisation d'alias](https://docs.aws.amazon.com/kms/latest/developerguide/programming-aliases.html) dans la documentation AWS KMS.
+ Exemple de CloudFormation modèle `CloudFormation-template-S3-bucket` AWS (ci-joint), téléchargé sur votre ordinateur local.

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

![\[Flux de travail permettant d'utiliser un CloudFormation modèle pour créer une CloudFormation pile afin d'importer un compartiment S3.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/aea7f6fe-8e67-46c4-8b90-1ab06b879111/images/ee143374-a0a4-42d9-b7ca-16593a597a84.png)


 

Le schéma suivant illustre le flux de travail suivant :

1. L'utilisateur crée un modèle AWS CloudFormation au format JSON ou YAML.

1. Le modèle crée une CloudFormation pile AWS pour importer le compartiment S3.

1. La CloudFormation pile AWS gère le compartiment S3 que vous avez spécifié dans le modèle.

**Pile technologique**
+ AWS CloudFormation
+ AWS Identity and Access Management (IAM)
+ AWS KMS
+ Amazon S3

 

**Outils**
+ [AWS CloudFormation — AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) vous CloudFormation aide à créer et à provisionner des déploiements d'infrastructure AWS de manière prévisible et répétée.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) — IAM est un service Web permettant de contrôler en toute sécurité l'accès aux services AWS.
+ [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) — AWS Key Management Service (AWS KMS) est un service de chiffrement et de gestion des clés adapté au cloud.
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) — Amazon Simple Storage Service (Amazon S3) est un service de stockage pour Internet.

## Épopées
<a name="successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack-epics"></a>

### Importez un compartiment S3 avec chiffrement AWS KMS key basé en tant que CloudFormation stack AWS
<a name="import-an-s3-bucket-with-kms-key-long--based-encryption-as-an-aws-cloudformation-stack"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un modèle pour importer le compartiment S3 et la clé KMS. | Sur votre ordinateur local, créez un modèle pour importer votre compartiment S3 et votre clé KMS à l'aide de l'exemple de modèle suivant :<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 | 
| Créez la pile. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack.html) | AWS DevOps | 
| Créez l'alias de clé KMS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/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>Pour plus d'informations à ce sujet, consultez les [mises à jour du CloudFormation stack AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html) dans la CloudFormation documentation AWS.  | AWS DevOps | 
| Mettez à jour la pile pour inclure la politique du compartiment S3. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/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>Cette politique de compartiment S3 comporte une déclaration de refus qui restreint les appels d'API non sécurisés.  | AWS DevOps | 
| Mettez à jour la politique clé. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack.html)Pour plus d'informations, consultez [la section Politiques clés AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) de la documentation AWS KMS. | Administrateur AWS | 
| Ajoutez des balises au niveau des ressources. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/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 | 

## Ressources connexes
<a name="successfully-import-an-s3-bucket-as-an-aws-cloudformation-stack-resources"></a>
+ [Intégrer les ressources existantes à la CloudFormation gestion d'AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-import.html)
+ [AWS re:Invent 2017 : présentation approfondie d'AWS CloudFormation (vidéo](https://www.youtube.com/watch?v=01hy48R9Kr8))

## Pièces jointes
<a name="attachments-aea7f6fe-8e67-46c4-8b90-1ab06b879111"></a>

[Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip](samples/p-attach/aea7f6fe-8e67-46c4-8b90-1ab06b879111/attachments/attachment.zip)