

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.

# Stockage S3 \| Créer
<a name="deployment-advanced-s3-storage-create"></a>

Créez un compartiment Amazon S3 pour le stockage dans le cloud.

**Classification complète :** Déploiement \| Composants de pile avancés \| Stockage S3 \| Création

## Détails du type de modification
<a name="ct-1a68ck03fn98r-DASc-table"></a>


****  

|  |  | 
| --- |--- |
| Modifier l'identifiant du type | ct-1a68ck03fn98r | 
| Version actuelle | 5.0 | 
| Durée d'exécution prévue | 60 minutes | 
| Approbation AWS | Obligatoire | 
| Approbation du client | Facultatif | 
| Mode d'exécution | Automatisé | 

## Informations supplémentaires
<a name="deployment-advanced-s3-storage-create-info"></a>

### Création d'un espace de stockage S3
<a name="ex-s3-create-col"></a>

#### Création d'un compartiment S3 avec la console
<a name="s3-create-con"></a>

Capture d'écran de ce type de modification dans la console AMS :

![](http://docs.aws.amazon.com/fr_fr/managedservices/latest/ctref/images/guiS3CreateCT.png)


Fonctionnement :

1. Accédez à la page **Créer une RFC** : Dans le volet de navigation de gauche de la console AMS, cliquez **RFCs**pour ouvrir la page de RFCs liste, puis cliquez sur **Créer une RFC**.

1. Choisissez un type de modification (CT) populaire dans la vue **Parcourir les types de modification** par défaut, ou sélectionnez un CT dans la vue **Choisir par catégorie**.
   + **Parcourir par type de modification** : vous pouvez cliquer sur un CT populaire dans la zone de **création rapide** pour ouvrir immédiatement la page **Run RFC**. Notez que vous ne pouvez pas choisir une ancienne version CT avec création rapide.

     Pour trier CTs, utilisez la zone **Tous les types de modifications** dans l'affichage **Carte** ou **Tableau**. Dans l'une ou l'autre vue, sélectionnez un CT, puis cliquez sur **Créer une RFC** pour ouvrir la page **Exécuter une RFC**. Le cas échéant, une option **Créer avec une ancienne version** apparaît à côté du bouton **Créer une RFC**.
   + **Choisissez par catégorie** : sélectionnez une catégorie, une sous-catégorie, un article et une opération et la zone de détails du CT s'ouvre avec une option permettant de **créer avec une ancienne version**, le cas échéant. Cliquez sur **Créer une RFC** pour ouvrir la page **Exécuter une RFC**.

1. Sur la page **Run RFC**, ouvrez la zone de nom du CT pour voir la boîte de détails du CT. Un **sujet** est requis (il est renseigné pour vous si vous choisissez votre CT dans la vue **Parcourir les types de modification**). Ouvrez la zone **de configuration supplémentaire** pour ajouter des informations sur le RFC.

   Dans la zone **Configuration de l'exécution**, utilisez les listes déroulantes disponibles ou entrez des valeurs pour les paramètres requis. Pour configurer les paramètres d'exécution facultatifs, ouvrez la zone **de configuration supplémentaire**.

1. Lorsque vous avez terminé, cliquez sur **Exécuter**. S'il n'y a aucune erreur, la page **RFC créée avec succès** s'affiche avec les détails de la RFC soumise et le résultat d'**exécution** initial. 

1. Ouvrez la zone **Paramètres d'exécution** pour voir les configurations que vous avez soumises. Actualisez la page pour mettre à jour l'état d'exécution de la RFC. Vous pouvez éventuellement annuler la RFC ou en créer une copie à l'aide des options en haut de la page.

#### Création d'un compartiment S3 à l'aide de la CLI
<a name="s3-create-cli"></a>

Fonctionnement :

1. Utilisez soit le Inline Create (vous émettez une `create-rfc` commande avec tous les paramètres RFC et d'exécution inclus), soit le Template Create (vous créez deux fichiers JSON, un pour les paramètres RFC et un pour les paramètres d'exécution) et émettez la `create-rfc` commande avec les deux fichiers en entrée. Les deux méthodes sont décrites ici.

1. Soumettez la `aws amscm submit-rfc --rfc-id {{ID}}` commande RFC : avec l'ID RFC renvoyé.

   Surveillez la `aws amscm get-rfc --rfc-id {{ID}}` commande RFC :.

Pour vérifier la version du type de modification, utilisez cette commande :

```
aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value={{CT_ID}}
```

*CRÉATION EN LIGNE* :

Émettez la commande create RFC avec les paramètres d'exécution fournis en ligne (évitez les guillemets lorsque vous fournissez des paramètres d'exécution en ligne), puis soumettez l'ID RFC renvoyé. Par exemple, vous pouvez remplacer le contenu par quelque chose comme ceci :

**Exemple avec uniquement les paramètres obligatoires, version 5.0 :**

```
aws amscm create-rfc --title "my-s3-bucket" --change-type-id "ct-1a68ck03fn98r" --change-type-version "5.0" --execution-parameters "{\"DocumentName\":\"{{AWSManagedServices-CreateBucket}}\",\"Region\":\"{{us-east-1}}\",\"Parameters\":{\"BucketName\":\"{{amzn-s3-demo-bucket}}\"}}"
```

**Exemple avec tous les paramètres, version 5.0 :**

```
aws amscm create-rfc --title "My S3 Bucket" --change-type-id "ct-1a68ck03fn98r" --change-type-version "5.0" --execution-parameters "{\"DocumentName\":\"AWSManagedServices-CreateBucket\",\"Region\":\"{{us-east-1}}\",\"Parameters\":{\"BucketName\":\"{{amzn-s3-demo-bucket}}\",\"ServerSideEncryption\":\"KmsManagedKeys\",\"KMSKeyId\":\"{{arn:aws:kms:ap-southeast-2:123456789012:key/9d5948f1-2082-4c07-a183-eb829b8d81c4}}\",\"Versioning\":\"{{Enabled}}\",\"IAMPrincipalsRequiringReadObjectAccess\":[\"{{arn:aws:iam::123456789012:user/myuser}}\",\"{{arn:aws:iam::123456789012:role/myrole}}\"],\"IAMPrincipalsRequiringWriteObjectAccess\":[\"{{arn:aws:iam::123456789012:user/myuser}}\",\"{{arn:aws:iam::123456789012:role/myrole}}\"],\"ServicesRequiringReadObjectAccess\":[\"{{rds.amazonaws.com}}\",\"{{ec2.amazonaws.com}}\",\"{{logs.ap-southeast-2.amazonaws.com}}\"],\"{{ServicesRequiringWriteObjectAccess}}\":[\"{{rds.amazonaws.com}}\",\"{{ec2.amazonaws.com}}\",\"{{logs.ap-southeast-2.amazonaws.com}}\"],\"EnforceSecureTransport\"{{:true,}}\"AccessAllowedIpRanges\":[\"{{1.0.0.0/24\}}",\"{{2.0.0.0/24\}}"]}}"
```

*CRÉATION D'UN MODÈLE* :

1. Afficher le schéma JSON des paramètres d'exécution pour ce type de modification dans un fichier ; cet exemple le nomme CreateBucketParams .json.

   ```
   aws amscm get-change-type-version --change-type-id "ct-1a68ck03fn98r" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateBucketParams.json
   ```

1. Modifiez et enregistrez le CreateBucketParams fichier. Notez que vous n'avez pas besoin d'utiliser votre identifiant de compte dans le`BucketName`, mais cela peut faciliter la recherche du compartiment (n'oubliez pas que les noms des compartiments doivent être uniques dans le compte dans toutes les régions et ne peuvent pas comporter de majuscules). Si vous l'utilisez pour créer un tier-and-tie WordPress site, vous souhaiterez peut-être indiquer cet objectif lors de la configuration du`BucketName`.

   **Exemple avec accès en lecture :**

   ```
   {
     "DocumentName": "AWSManagedServices-CreateBucket",
     "Region": "{{us-east-1}}",
     "Parameters": {
       "BucketName": "{{amzn-s3-demo-bucket}}",
       "IAMPrincipalsWithReadObjectAccess": [
         "{{arn:aws:iam::123456789123:role/roleA}}",
         "{{arn:aws:iam::987654321987:role/roleB}}"
       ]  
     }
   }
   ```

   **Exemple avec accès en écriture :**

   ```
   {
       "DocumentName": "AWSManagedServices-CreateBucket",
       "Region": "{{us-east-1}}",
       "Parameters": {
         "BucketName": "{{amzn-s3-demo-bucket",
         "IAMPrincipalsRequiringWriteObjectAccess}}": [
           "{{arn:aws:iam::123456789123:role/roleA}}",
           "{{arn:aws:iam::987654321987:role/roleB}}"
         ]  
       }
   }
   ```

   Pour la politique qui en résulte, voir[Accorde l'accès READ à un utilisateur ou à un rôle IAM](#s3-create-read-for-user-or-role).

   **Exemple avec accès en lecture au service :**

   ```
   {
       "DocumentName": "AWSManagedServices-CreateBucket",
       "Region": "{{us-east-1}}",
       "Parameters": {
         "BucketName": "{{amzn-s3-demo-bucket}}",
         "ServicesRequiringWriteObjectAccess": [
           "{{rds.amazonaws.com}}",
           "{{logs.ap-southeast-2.amazonaws.com}}",
           "{{ec2.amazonaws.com}}"
         ]  
       }
   }
   ```

   Pour la politique qui en résulte, voir[Accorde l'accès WRITE à un utilisateur ou à un rôle IAM](#s3-create-write-for-user-or-role).

   **Exemple avec accès en écriture au service :**

   ```
   {
       "DocumentName": "AWSManagedServices-CreateBucket",
       "Region": "{{us-east-1}}",
       "Parameters": {
         "BucketName": "{{amzn-s3-demo-bucket}}",
         "ServicesRequiringWriteObjectAccess": [
           "{{rds.amazonaws.com}}",
           "{{logs.ap-southeast-2.amazonaws.com}}",
           "{{ec2.amazonaws.com}}"
         ]  
       }
   }
   ```

   **Exemple d'application d'un transport sécurisé :**

   ```
   {
       "DocumentName": "AWSManagedServices-CreateBucket",
       "Region": "{{us-east-1}}",
       "Parameters": {
         "BucketName": "{{amzn-s3-demo-bucket}}",
         "EnforceSecureTransport": "{{true}}"
       }
   }
   ```

   Pour la politique qui en résulte, voir[Utilisations EnforceSecureTransport](#s3-create-enforce-secure-transport).

   **Exemple de limite d'accès au bucket à partir d'un ensemble de plages d'adresses IP :**

   ```
    {
       "DocumentName": "AWSManagedServices-CreateBucket",
       "Region": "{{us-east-1}}",
       "Parameters": {
         "BucketName": "{{amzn-s3-demo-bucket}}",
         "AccessAllowedIpRanges": [
           "{{1.2.3.0/24}}",
           "{{2.3.4.0/24}}"
         ]
       }
     }
   ```

   Pour la politique qui en résulte, voir[Limite l'accès à la plage d'adresses IP](#s3-create-limits-access-to-ips).

1. Exportez le fichier JSON du modèle RFC dans un fichier nommé CreateBucketRfc .json :

   ```
   aws amscm create-rfc --generate-cli-skeleton > CreateBucketRfc.json
   ```

1. Modifiez et enregistrez le fichier CreateBucketRfc .json. Par exemple, vous pouvez remplacer le contenu par quelque chose comme ceci :

   ```
   {
   "ChangeTypeVersion":    "{{5.0}}",
   "ChangeTypeId":         "ct-1a68ck03fn98r",
   "Title":                "{{S3-Bucket-Create-RFC}}",
   "RequestedStartTime":   "{{2016-12-05T14:20:00Z}}",
   "RequestedEndTime":     "{{2016-12-05T16:20:00Z}}"
   }
   ```

1. Créez la RFC en spécifiant le CreateBucketRfc fichier et le CreateBucketParams fichier :

   ```
   aws amscm create-rfc --cli-input-json file://CreateBucketRfc.json  --execution-parameters file://CreateBucketParams.json
   ```

   Vous recevez l'identifiant de la nouvelle RFC dans la réponse et vous pouvez l'utiliser pour soumettre et surveiller la RFC. Tant que vous ne l'avez pas soumise, la RFC reste en cours d'édition et ne démarre pas.

1. Pour afficher le compartiment S3 ou y charger des objets, consultez le résultat de l'exécution : utilisez le `stack_id` pour afficher le compartiment dans la console Cloud Formation, utilisez le nom du compartiment S3 pour afficher le compartiment dans la console S3.
**Note**  
Lorsque vous téléchargez des objets depuis un compte non propriétaire, il est obligatoire de spécifier l'`bucket-owner-full-control`ACL, qui accorde au compte propriétaire du compartiment le contrôle total sur tous les objets du compartiment. Exemple :  

   ```
   aws s3api put-object --acl {{bucket-owner-full-control}} --bucket {{amzn-s3-demo-bucket}} --key {{data.txt}} --body {{/tmp/data.txt}}
   ```

#### Conseils
<a name="ex-s3-create-tip"></a>

**Note**  
Cette procédure pas à pas décrit et fournit des exemples de commandes pour la création d'un compartiment de stockage Amazon S3 à l'aide de la version 5.0 du type de modification (ct-1a68ck03fn98r). Cette version ne vous permet pas de créer un compartiment S3 public, seul le compartiment privé est autorisé. Pour créer un compartiment de stockage S3 public, utilisez une version précédente du type de modification et spécifiez **PublicRead**le **AccessControl**paramètre.  
De plus, cette procédure pas à pas n'accorde pas les autorisations nécessaires pour supprimer des objets versionnés.

Pour en savoir plus sur Amazon S3, consultez la [documentation Amazon Simple Storage Service](https://aws.amazon.com/documentation/s3/).

#### Le compartiment de stockage S3 crée un exemple de politiques résultantes
<a name="ex-s3-create-policies"></a>

En fonction de la façon dont vous avez créé votre compartiment de stockage Amazon S3, vous avez créé des politiques. Ces exemples de politiques correspondent aux différents scénarios de création Amazon S3 fournis dans[Création d'un compartiment S3 à l'aide de la CLI](#s3-create-cli).

##### Accorde l'accès READ à un utilisateur ou à un rôle IAM
<a name="s3-create-read-for-user-or-role"></a>

L'exemple de politique qui en résulte accorde un accès READ aux objets du compartiment pour un utilisateur ou un rôle IAM :

```
{
          "Sid": "AllowBucketReadActionsForArns",
          "Effect": "Allow",
          "Principal": {
              "AWS": [
                  "arn:aws:iam::123456789123:role/roleA”,
                  "arn:aws:iam::987654321987:role/roleB”
              ]
          },
          "Action": [
              "s3:GetBucketAcl",
              "s3:GetBucketLocation",
              "s3:ListBucket"
          ],
          "Resource": "arn:aws:s3:::{{ACCOUNT-ID}}.{{BUCKET_NAME}}"
      },
      {
          "Sid": "AllowObjectReadActionsForArns",
          "Effect": "Allow",
          "Principal": {
              "AWS": [
                  "arn:aws:iam::123456789123:role/roleA”,
                  "arn:aws:iam::987654321987:role/roleB”
              ]
          },
          "Action": [
              "s3:GetObject",
              "s3:ListMultipartUploadParts"
          ],
          "Resource": "arn:aws:s3:::{{ACCOUNT-ID}}.{{amzn-s3-demo-bucket}}/*"
}
```

Pour les paramètres d'exécution permettant de créer cette politique avec le type de création de modification du compartiment de stockage S3, voir [Création d'un compartiment S3 à l'aide de la CLI](#s3-create-cli)

##### Accorde l'accès WRITE à un utilisateur ou à un rôle IAM
<a name="s3-create-write-for-user-or-role"></a>

L'exemple de politique qui en résulte accorde un accès WRITE aux objets du compartiment pour un utilisateur ou un rôle IAM. Cette politique n'accorde pas les autorisations nécessaires pour supprimer des objets versionnés.

```
{
          "Sid": "AllowObjectWriteActionsForArns",
          "Effect": "Allow",
          "Principal": {
              "AWS": [
                  "arn:aws:iam::123456789123:role/roleA”,
                  "arn:aws:iam::987654321987:role/roleB”
              ]
          },
          "Action": [
              "s3:PutObject",
              "s3:DeleteObject",
              "s3:AbortMultipartUpload"
          ],
          "Resource": "arn:aws:s3:::{{ACCOUNT-ID}}.{{amzn-s3-demo-bucket}}/*"
}
```

Pour les paramètres d'exécution permettant de créer cette politique avec le type de création de modification du compartiment de stockage S3, voir [Création d'un compartiment S3 à l'aide de la CLI](#s3-create-cli)

##### Accorde l'accès READ à un service AWS
<a name="s3-create-read-for-service"></a>

L'exemple de politique qui en résulte accorde un accès READ aux objets du compartiment pour un service AWS :

```
{
          "Sid": "AllowBucketReadActionsForServcices",
          "Effect": "Allow",
          "Principal": {
              "Service": [
                  "rds.amazonaws.com",
                  "logs.ap-southeast-2.amazonaws.com",
                  "ec2.amazonaws.com"
              ]
          },
          "Action": [
              "s3:GetBucketAcl",
              "s3:GetBucketLocation",
              "s3:ListBucket"
          ],
          "Resource": "arn:aws:s3:::{{ACCOUNT-ID}}.{{amzn-s3-demo-bucket}}/*"
      },
      {
          "Sid": "AllowObjectReadActionsForServcices",
          "Effect": "Allow",
          "Principal": {
              "Service": [
                  "rds.amazonaws.com",
                  "logs.ap-southeast-2.amazonaws.com",
                  "ec2.amazonaws.com"
              ]
          },
          "Action": [
              "s3:GetObject",
              "s3:ListMultipartUploadParts"
          ],
          "Resource": "arn:aws:s3:::{{ACCOUNT-ID}}.{{amzn-s3-demo-bucket}}/*"
}
```

Pour les paramètres d'exécution permettant de créer cette politique avec le type de création de modification du compartiment de stockage S3, voir [Création d'un compartiment S3 à l'aide de la CLI](#s3-create-cli)

##### Accorde l'accès WRITE à un service AWS
<a name="s3-create-write-for-service"></a>

L'exemple de politique qui en résulte accorde l'accès WRITE aux objets du compartiment pour un service AWS. Cette politique n'accorde pas les autorisations nécessaires pour supprimer des objets versionnés.

```
{
      "Sid": "AllowObjectWriteActionsForServcices",
      "Effect": "Allow",
      "Principal": {
        "Service": [
            "rds.amazonaws.com",
            "logs.ap-southeast-2.amazonaws.com",
            "ec2.amazonaws.com"
        ]
    },
    "Action": [
          "s3:PutObject",
          "s3:DeleteObject",
          "s3:AbortMultipartUpload"
      ],
      "Resource": "arn:aws:s3:::{{ACCOUNT-ID}}.{{amzn-s3-demo-bucket}}/*"
}
```

Pour les paramètres d'exécution permettant de créer cette politique avec le type de création de modification du compartiment de stockage S3, voir [Création d'un compartiment S3 à l'aide de la CLI](#s3-create-cli)

##### Utilisations EnforceSecureTransport
<a name="s3-create-enforce-secure-transport"></a>

Exemple de politique garantissant le transport sécurisé qui en résulte :

```
{
          "Sid": "EnforceSecureTransport",
          "Effect": "Deny",
          "Principal": "*",
          "Action": "*",
          "Resource": "arn:aws:s3:::{{ACCOUNT-ID}}.{{amzn-s3-demo-bucket}}/*",
          "Condition": {
              "Bool": {
                  "aws:SecureTransport": "false"
              }
          }
}
```

Pour les paramètres d'exécution permettant de créer cette politique avec le type de création de modification du compartiment de stockage S3, voir [Création d'un compartiment S3 à l'aide de la CLI](#s3-create-cli)

##### Limite l'accès à la plage d'adresses IP
<a name="s3-create-limits-access-to-ips"></a>

Exemple de politique limitant l'accès au bucket à partir d'un ensemble de plages d'adresses IP :

```
{
          "Sid": "RestrictBasedOnIPRanges",
          "Effect": "Deny",
          "Principal": "*",
          "Action": "s3:*",
          "Resource": "arn:aws:s3:::{{ACCOUNT-ID}}.{{amzn-s3-demo-bucket}}/*",
          "Condition": {
              "NotIpAddress": {
                  "aws:SourceIp": [
                      “1.2.3.0/24",
                      “2.3.4.0/24"
                  ]
              }
          }
      }
```

Pour les paramètres d'exécution permettant de créer cette politique avec le type de création de modification du compartiment de stockage S3, voir [Création d'un compartiment S3 à l'aide de la CLI](#s3-create-cli)

## Paramètres d'entrée d'exécution
<a name="deployment-advanced-s3-storage-create-input"></a>

Pour des informations détaillées sur les paramètres d'entrée d'exécution, consultez[Schéma pour le type de modification ct-1a68ck03fn98r](schemas.md#ct-1a68ck03fn98r-schema-section).

## Exemple : paramètres obligatoires
<a name="deployment-advanced-s3-storage-create-ex-min"></a>

```
{
  "DocumentName" : "AWSManagedServices-CreateBucket",
  "Region": "us-east-1",
  "Parameters": {
    "BucketName": "mybucket"
  }
}
```

## Exemple : tous les paramètres
<a name="deployment-advanced-s3-storage-create-ex-max"></a>

```
{
  "DocumentName" : "AWSManagedServices-CreateBucket",
  "Region": "us-east-1",
  "Parameters": {
    "BucketName": "mybucket",
    "ServerSideEncryption": "KmsManagedKeys",
    "KMSKeyId": "arn:aws:kms:ap-southeast-2:123456789012:key/9d5948f1-2082-4c07-a183-eb829b8d81c4",
    "Versioning": "Enabled",
    "IAMPrincipalsRequiringReadObjectAccess": [
      "arn:aws:iam::123456789012:user/myuser",
      "arn:aws:iam::123456789012:role/myrole"
    ],
    "IAMPrincipalsRequiringWriteObjectAccess": [
      "arn:aws:iam::123456789012:user/myuser",
      "arn:aws:iam::123456789012:role/myrole"
    ],
    "ServicesRequiringReadObjectAccess": [
      "rds.amazonaws.com",
      "ec2.amazonaws.com",
      "logs.ap-southeast-2.amazonaws.com"
    ],
    "ServicesRequiringWriteObjectAccess": [
      "rds.amazonaws.com",
      "ec2.amazonaws.com",
      "logs.ap-southeast-2.amazonaws.com"
    ],
    "EnforceSecureTransport": true,
    "AccessAllowedIpRanges": [
      "1.0.0.0/24",
      "2.0.0.0/24"
    ],
    "Tags": [
      "{\"Key\": \"foo\", \"Value\": \"bar\"}",
      "{ \"Key\": \"testkey\",\"Value\": \"testvalue\" }"
    ]
  }
}
```