

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.

# Sécurité dans CloudFormation
<a name="security"></a>

La sécurité du cloud AWS est la priorité absolue. En tant que AWS client, vous bénéficiez de centres de données et d'architectures réseau conçus pour répondre aux exigences des entreprises les plus sensibles en matière de sécurité.

La sécurité est une responsabilité partagée entre vous AWS et vous. Le [modèle de responsabilité partagée](https://aws.amazon.com/compliance/shared-responsibility-model/) décrit ceci comme la sécurité *du* cloud et la sécurité *dans* le cloud :
+ **Sécurité du cloud** : AWS est chargée de protéger l'infrastructure qui exécute les AWS services dans le AWS cloud. AWS vous fournit également des services que vous pouvez utiliser en toute sécurité. Des auditeurs tiers testent et vérifient régulièrement l'efficacité de notre sécurité dans le cadre des programmes de [AWS conformité Programmes](https://aws.amazon.com/compliance/programs/) de de conformité. Pour en savoir plus sur les programmes de conformité qui s'appliquent à CloudFormation, voir [AWS Services concernés par programme de conformitéAWS](https://aws.amazon.com/compliance/services-in-scope/) .
+ **Sécurité dans le cloud** — Votre responsabilité est déterminée par le AWS service que vous utilisez. Vous êtes également responsable d’autres facteurs, y compris de la sensibilité de vos données, des exigences de votre entreprise, ainsi que de la législation et de la réglementation applicables.

Cette documentation vous aide à comprendre comment appliquer le modèle de responsabilité partagée lors de son utilisation CloudFormation. Les rubriques suivantes expliquent comment procéder à la configuration CloudFormation pour atteindre vos objectifs de sécurité et de conformité. Vous apprendrez également à utiliser d'autres AWS services qui vous aident à surveiller et à sécuriser vos CloudFormation ressources.

**Topics**
+ [CloudFormation Empêcher les piles d'être supprimées](using-cfn-protect-stacks.md)
+ [Empêcher les mises à jour des ressources de la pile](protect-stack-resources.md)
+ [Protection des données dans CloudFormation](security-data-protection.md)
+ [Contrôlez CloudFormation l'accès avec Gestion des identités et des accès AWS](control-access-with-iam.md)
+ [Journalisation des appels d' CloudFormation API avec AWS CloudTrail](cfn-api-logging-cloudtrail.md)
+ [Sécurité de l'infrastructure dans CloudFormation](infrastructure-security.md)
+ [Résilience dans CloudFormation](disaster-recovery-resiliency.md)
+ [Validation de conformité pour CloudFormation](cloudformation-compliance.md)
+ [Analyse de configuration et de vulnérabilité dans CloudFormation](vulnerability-analysis-and-management.md)
+ [Bonnes pratiques de sécurité pour CloudFormation](security-best-practices.md)
+ [Accès CloudFormation via un point de terminaison d'interface (AWS PrivateLink)](vpc-interface-endpoints.md)

# CloudFormation Empêcher les piles d'être supprimées
<a name="using-cfn-protect-stacks"></a>

Vous pouvez empêcher la suppression accidentelle d’une pile en activant la protection contre la résiliation sur la pile. Si un utilisateur tente de supprimer une pile pour laquelle la protection contre la résiliation est activée, la suppression échoue et la pile, et son statut, restent inchangés. Vous pouvez activer la protection contre la résiliation sur une pile lorsque vous la créez. Par défaut, la protection contre la résiliation est désactivée sur les piles. Vous pouvez définir la protection contre la résiliation sur une pile ayant n’importe quel status sauf `DELETE_IN_PROGRESS` ou `DELETE_COMPLETE`.

L’activation ou la désactivation de la protection pour résilier sur une pile transmet le même choix à toutes les piles imbriquées appartenant à cette pile. Vous ne pouvez pas activer ou désactiver la protection contre la résiliation directement sur une pile imbriquée. Si un utilisateur tente de supprimer directement une pile imbriquée appartenant à une pile pour laquelle la protection contre la résiliation est activée, l’opération échoue et la pile imbriquée reste inchangée.

Toutefois, si un utilisateur effectue une mise à jour d’une pile entraînant la suppression de la pile imbriquée, CloudFormation supprime la pile imbriquée en conséquence.

La protection contre la résiliation n'est pas synonyme de désactivation de la restauration. La protection contre la résiliation s’applique uniquement aux tentatives de suppression des piles, tandis que la désactivation de la restauration s’applique à la restauration automatique lors de l’échec de la création d’une pile.

**Pour activer la protection contre la résiliation lors de la création d’une pile**  
Sur la page **Specify stack options (Spécifier les options de pile)** de l’assistant **Créer une pile**, sous **Options avancées**, développez la section **Protection de la résiliation** et sélectionnez **Activer**. Pour de plus amples informations, veuillez consulter [Configuration des options de pile](cfn-console-create-stack.md#configure-stack-options).

**Pour activer ou désactiver la protection contre la résiliation sur une pile existante**

1. Connectez-vous à la CloudFormation console AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/cloudformation.](https://console.aws.amazon.com/cloudformation/)

1. Dans la barre de navigation, en haut de l’écran, sélectionnez votre Région AWS.

1. Sélectionnez la pile qui vous intéresse.
**Note**  
Si **NESTED** s’affiche en regard du nom de la pile, cela signifie que la pile est imbriquée. Dans ce cas, vous pouvez seulement modifier la protection contre la résiliation sur la pile racine à laquelle appartient la pile imbriquée.

1. Dans le volet des détails de la pile, sélectionnez **Stack actions (Actions de pile)**, puis **Edit termination protection (Modifier la protection de la résiliation)**.

   CloudFormation affiche la boîte de dialogue **Modifier la protection contre le licenciement**.

1. Choisissez **Activer** ou **Désactiver**, puis sélectionnez **Enregistrer**.

**Pour activer ou désactiver la protection contre la résiliation sur une pile imbriquée**

Si **NESTED** s’affiche en regard du nom de la pile, cela signifie que la pile est imbriquée. Dans ce cas, vous pouvez seulement modifier la protection contre la résiliation sur la pile racine à laquelle appartient la pile imbriquée. Pour modifier la protection contre la résiliation sur la racine de la pile :

1. Connectez-vous à la CloudFormation console AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/cloudformation.](https://console.aws.amazon.com/cloudformation/)

1. Dans la barre de navigation, en haut de l’écran, sélectionnez votre Région AWS.

1. Sélectionnez la pile imbriquée qui vous intéresse.

1. Dans le volet **Stack info (Infos de pile)**, dans la section **Présentation**, sélectionnez le nom de la pile répertoriée comme **Pile racine**.

   CloudFormation affiche les détails de la pile racine.

1. Choisissez **Stack actions (Actions de pile)**, puis choisissez **Edit Termination Protection (Modifier la protection de la résiliation)**.

   CloudFormation affiche la boîte de dialogue **Modifier la protection contre le licenciement**.

1. Choisissez **Activer** ou **Désactiver**, puis sélectionnez **Enregistrer**.

**Pour activer ou désactiver la protection contre la résiliation à l’aide de la ligne de commande.**  
Utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-termination-protection.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-termination-protection.html).

## Contrôle des personnes autorisées à modifier la protection contre la résiliation sur les piles
<a name="protect-stacks-perms"></a>

Pour activer ou désactiver la protection contre la résiliation sur des piles, un utilisateur doit être autorisé à effectuer l’action `cloudformation:UpdateTerminationProtection`. Par exemple, la politique ci-dessous permet aux utilisateurs d’activer ou de désactiver la protection contre la résiliation sur des piles.

Pour plus d'informations sur la spécification des autorisations dans CloudFormation, consultez[Contrôlez CloudFormation l'accès avec Gestion des identités et des accès AWS](control-access-with-iam.md).

**Example Exemple de politique qui octroie des autorisations pour modifier la protection contre la résiliation d’une pile**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[{
        "Effect":"Allow",
        "Action":[
            "cloudformation:UpdateTerminationProtection"
        ],
        "Resource":"*"
    }]
}
```

# Empêcher les mises à jour des ressources de la pile
<a name="protect-stack-resources"></a>

Lorsque vous créez une pile, toutes les actions de mise à jour sont autorisées au niveau de toutes les ressources. Par défaut, toute personne disposant des autorisations de mise à jour de la pile peuvent mettre à jour toutes les ressources correspondantes. Au cours d'une mise à jour, certaines ressources peuvent nécessiter une interruption ou être complètement remplacées, ce qui se traduit par un nouvel espace de stockage physique IDs ou un stockage complètement nouveau. Vous pouvez empêcher les ressources de la pile d’être mises à jour ou supprimées par erreur pendant une mise à jour de la pile. Une politique de pile est un document JSON qui définit les actions de mise à jour qui peuvent être effectuées au niveau des ressources désignées.

Une fois que vous avez défini une politique de pile, toutes les ressources de cette dernière sont protégées par défaut. Pour autoriser les mises à jour de ressources spécifiques, vous spécifiez une instruction `Allow` explicite pour ces ressources dans votre politique de pile. Vous ne pouvez définir qu'une seule politique de pile par pile, mais, vous pouvez protéger plusieurs ressources au sein d'une politique unique. Une politique de pile s'applique à tous les utilisateurs CloudFormation qui tentent de mettre à jour la pile. Vous ne pouvez pas associer des politiques de pile différentes à des utilisateurs distincts.

Une politique de pile s’applique uniquement au cours des mises à jour de la pile. Elle ne fournit pas de contrôles d'accès comme une politique Gestion des identités et des accès AWS (IAM). Utilisez uniquement une politique de pile comme mécanisme de sécurité afin d’empêcher les mises à jour accidentelles de ressources spécifiques de la pile. Pour contrôler l'accès aux AWS ressources ou aux actions, utilisez IAM.

**Topics**
+ [Exemple de politique de pile](#stack-policy-intro-example)
+ [Définition d’une politique de pile](#stack-policy-reference)
+ [Définition d’une politique de pile](#protect-stack-resources-protecting)
+ [Mise à jour des ressources protégées](#protect-stack-resources-updating)
+ [Modification d’une politique de pile](#protect-stack-resources-modifying)
+ [Autres exemples de politiques de pile](#stack-policy-samples)

## Exemple de politique de pile
<a name="stack-policy-intro-example"></a>

L’exemple suivant de politique de pile empêche les mises à jour de la `ProductionDatabase` ressource :

```
{
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*"
    },
    {
      "Effect" : "Deny",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "LogicalResourceId/ProductionDatabase"
    }
  ]
}
```

Lorsque vous définissez une politique de pile, toutes les ressources sont protégées par défaut. Pour autoriser les mises à jour de toutes les ressources, nous ajoutons une instruction `Allow`, qui autorise toutes les actions sur toutes les ressources. Bien que l'instruction `Allow` spécifie toutes les ressources, l'instruction `Deny` explicite prévaut pour la ressource associée à l'ID logique `ProductionDatabase`. Cette instruction `Deny` empêche toutes les actions de mise à jour, telles que le remplacement ou la suppression, u niveau de la ressource `ProductionDatabase`.

L'élément `Principal` est obligatoire, mais accepte uniquement le caractère générique (`*`). Autrement dit, l'instruction s'applique à tous les [mandataires](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html#principal).

**Note**  
Lors d'une mise à jour de la pile, met CloudFormation automatiquement à jour les ressources qui dépendent d'autres ressources mises à jour. Par exemple, CloudFormation met à jour une ressource qui fait référence à une ressource mise à jour. CloudFormation n'apporte aucune modification physique, telle que l'ID de la ressource, aux ressources mises à jour automatiquement, mais si une politique de pile est associée à ces ressources, vous devez être autorisé à les mettre à jour.

## Définition d’une politique de pile
<a name="stack-policy-reference"></a>

Lorsque vous créez une pile, aucune politique de pile n’est définie. Dès lors, toutes les actions de mise à jour sont autorisées sur toutes les ressources. Pour protéger les ressources de la pile contre les actions de mise à jour, spécifiez une politique de pile correspondante. Une politique de pile est un document JSON qui définit les actions de mise à jour de CloudFormation pile que CloudFormation les utilisateurs peuvent effectuer et les ressources auxquelles ces actions s'appliquent. Vous définissez la politique de la pile lorsque vous créez cette dernière, en spécifiant un fichier texte qui contient votre politique de pile ou en saisissant les informations requises. Lorsque vous définissez une politique au niveau de votre pile, toute mise à jour qui n’est pas explicitement autorisée est refusée par défaut.

Vous pouvez spécifier une politique de pile avec cinq éléments : `Effect`, `Action`, `Principal`, `Resource` et `Condition`. Le code fictif suivant illustre la syntaxe de la politique de pile.

```
{
  "Statement" : [
    {
      "Effect" : "Deny_or_Allow",
      "Action" : "update_actions",
      "Principal" : "*",
      "Resource" : "LogicalResourceId/resource_logical_ID",
      "Condition" : {
        "StringEquals_or_StringLike" : {
          "ResourceType" : [resource_type, ...]
        }
      }
    }
  ]
}
```

`Effect`  
Détermine si les actions que vous spécifiez sont refusées ou autorisées au niveau des ressources que vous spécifiez. Vous pouvez spécifier uniquement `Deny` ou `Allow` (, par exemple).  

```
"Effect" : "Deny"
```
Si une politique de pile inclut des déclarations contradictoires (qui autorisent et refusent en même temps les mises à jour d’une ressource), une instruction `Deny` prévaut toujours sur une instruction `Allow`. Pour vous assurer qu'une ressource est protégée, utilisez une instruction `Deny` pour celle-ci.

Action  
Spécifie les actions de mise à jour qui sont refusées ou autorisées :    
Update:Modify  
Spécifie les actions de mise à jour au cours desquelles les ressources peuvent rencontrer quelques interruptions ou aucune lorsque les modifications sont appliquées. Toutes les ressources conservent leur aspect physique IDs.  
Update:Replace  
Spécifie les actions de mise à jour au cours desquelles les ressources sont recréées. CloudFormation crée une autre ressource avec les mises à jour définies, puis supprime l'ancienne ressource. Etant donné que la ressource est recréée, l'ID physique de la nouvelle ressource peut être différent.  
Update:Delete  
Spécifie les actions de mise à jour au cours desquelles les ressources sont supprimées. Les mises à jour qui suppriment totalement les ressources d’un modèle de pile requièrent cette action.  
Mise à jour:\$1  
Spécifie toutes les actions de mise à jour. L'astérisque est un caractère générique qui représente toutes les actions de mise à jour.
L'exemple suivant montre comment définir uniquement les actions de remplacement et de suppression :  

```
"Action" : ["Update:Replace", "Update:Delete"]
```
Pour autoriser toutes les actions de mise à jour à l'exception de l'une d'elles, utilisez `NotAction`. Par exemple, pour autoriser toutes les actions de mise à jour à l'exception de l'action `Update:Delete`, utilisez `NotAction`, comme illustré dans cet exemple :  

```
{
  "Statement" : [
    {
      "Effect" : "Allow",
      "NotAction" : "Update:Delete",
      "Principal": "*",
      "Resource" : "*"
    }
  ]
}
```

Principal  
L'élément `Principal` spécifie l'entité à laquelle la politique s'applique. Cet élément est obligatoire, mais accepte uniquement le caractère générique (`*`). Autrement dit, l'instruction s'applique à tous les [mandataires](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html#principal).

Ressource  
Spécifie la logique IDs des ressources auxquelles la politique s'applique. Pour spécifier les types de ressources, utilisez l’élément `Condition`.  
Pour spécifier une seule ressource, utilisez son ID logique. Par exemple :  

```
"Resource" : ["LogicalResourceId/myEC2instance"]
```
Vous pouvez utiliser un joker avec logique IDs. Par exemple, si vous utilisez un préfixe d'ID logique commun pour toutes les ressources connexes, vous pouvez tous les spécifier avec un caractère générique :  

```
"Resource" : ["LogicalResourceId/CriticalResource*"]
```
Vous pouvez également utiliser un élément `Not` avec les ressources. Par exemple, pour autoriser les mises à jour de toutes les ressources à l'exception d'une seule, utilisez l'élément `NotResource` afin de protéger cette ressource :  

```
{
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : "Update:*",
      "Principal": "*",
      "NotResource" : "LogicalResourceId/ProductionDatabase"
    }
  ]
}
```
Lorsque vous définissez une politique de pile, toute mise à jour qui n’est pas explicitement autorisée est refusée. En autorisant les mises à jour de toutes les ressources à l'exception de la ressource `ProductionDatabase`, vous refusez les mises à jour de `ProductionDatabase`.

Conditions  
Spécifie le type de ressource auquel la politique s'applique. Pour définir la logique IDs de ressources spécifiques, utilisez l'`Resource`élément.  
Vous pouvez spécifier un type de ressource, tel que des instances DB RDS et EC2, comme illustré dans l'exemple suivant :  

```
{
  "Statement" : [
  {
    "Effect" : "Deny",
    "Principal" : "*",
    "Action" : "Update:*",
    "Resource" : "*",
    "Condition" : {
      "StringEquals" : {
        "ResourceType" : ["AWS::EC2::Instance", "AWS::RDS::DBInstance"]
      }
    }
  },
  {
    "Effect" : "Allow",
    "Principal" : "*",
    "Action" : "Update:*",
    "Resource" : "*"
  }
  ]
}
```
L'instruction `Allow` accorde les autorisations de mise à jour à toutes les ressources et l'instruction `Deny` refuse les mises à jour des instances DB RDS et EC2. L'instruction `Deny` prévaut toujours sur les actions autorisées.  
Vous pouvez utiliser un caractère générique avec les types de ressource. Par exemple, vous pouvez refuser les autorisations de mise à jour pour toutes les ressources Amazon EC2, telles que les instances, les groupes de sécurité et les sous-réseaux, en utilisant un caractère générique, comme illustré dans l'exemple suivant :  

```
"Condition" : {
  "StringLike" : {
    "ResourceType" : ["AWS::EC2::*"]
  }
}
```
Vous devez utiliser la condition `StringLike` lorsque vous utilisez des caractères génériques.

## Définition d’une politique de pile
<a name="protect-stack-resources-protecting"></a>

Vous pouvez utiliser la console ou AWS CLI appliquer une politique de pile lorsque vous créez une pile. Vous pouvez également utiliser le AWS CLI pour appliquer une politique de pile à une pile existante. Une fois que vous avez appliqué une politique de pile, vous ne pouvez pas la supprimer de la pile, mais vous pouvez l'utiliser AWS CLI pour la modifier.

Les politiques de pile s'appliquent à tous les CloudFormation utilisateurs qui tentent de mettre à jour la pile. Vous ne pouvez pas associer des politiques de pile différentes à des utilisateurs distincts.

Pour plus d’informations sur la création de politiques de pile, consultez [Définition d’une politique de pile](#stack-policy-reference).

**Pour définir une politique de pile lors de la création de la pile (console)**

1. Ouvrez la CloudFormation console à l'adresse [https://console.aws.amazon.com/cloudformation.](https://console.aws.amazon.com/cloudformation/)

1. Dans la barre de navigation en haut de l'écran, choisissez le Région AWS pour créer le stack in.

1. Sur la page **CloudFormation Stacks**, choisissez **Create stack**.

1. Dans l’assistant Créer une pile, à la page **Configure stack options (Configurer les options de pile)**, développez la section **Avancé**, puis choisissez **Politique de pile**.

1. Spécifiez la politique de pile :
   + Pour écrire une politique directement dans la console, choisissez **Enter stack policy (Entrer la politique de pile)**, puis tapez la politique de pile directement dans le champ de texte.
   + Pour utiliser une politique définie dans un fichier distinct, choisissez **Upload a file (Charger un fichier)** puis **Choose file (Choisir un fichier)** pour sélectionner le fichier contenant la politique de pile.

**Pour définir une politique de pile lors de la création de la pile (AWS CLI)**
+ Utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html) avec l’option `--stack-policy-body` permettant de saisir une stratégie modifiée ou l’option `--stack-policy-url` permettant de spécifier un fichier contenant la stratégie. 

**Pour définir une politique de pile sur une pile existante (AWS CLI uniquement)**
+ Utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-stack-policy.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-stack-policy.html) avec l'option `--stack-policy-body` pour saisir une politique modifiée, ou l'option `--stack-policy-url` pour spécifier un fichier contenant la politique.
**Note**  
Pour ajouter une politique à une pile existante, vous devez être autorisé à effectuer cette CloudFormation [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetStackPolicy.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetStackPolicy.html)action.

## Mise à jour des ressources protégées
<a name="protect-stack-resources-updating"></a>

Pour mettre à jour les ressources protégées, créez une politique temporaire qui remplace la politique de la pile et qui autorise les mises à jour de ces ressources. Spécifiez la politique de remplacement lorsque vous mettez à jour la pile. Cette politique ne modifie pas la politique de pile de manière permanente.

Pour mettre à jour les ressources protégées, vous devez être autorisé à utiliser cette CloudFormation [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetStackPolicy.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetStackPolicy.html)action. Pour obtenir des informations sur la définition des autorisations CloudFormation, consultez [Contrôlez CloudFormation l'accès avec Gestion des identités et des accès AWS](control-access-with-iam.md).

**Note**  
Lors d'une mise à jour de la pile, met CloudFormation automatiquement à jour les ressources qui dépendent d'autres ressources mises à jour. Par exemple, CloudFormation met à jour une ressource qui fait référence à une ressource mise à jour. CloudFormation n'apporte aucune modification physique, telle que l'identifiant des ressources, aux ressources mises à jour automatiquement, mais si une politique de pile est associée à ces ressources, vous devez être autorisé à les mettre à jour.

**Pour mettre à jour une ressource protégée (console)**

1. Ouvrez la CloudFormation console à l'adresse [https://console.aws.amazon.com/cloudformation.](https://console.aws.amazon.com/cloudformation/)

1. Sélectionnez la pile que vous souhaitez mettre à jour, choisissez **Stack actions (Actions de pile)** puis **Mettre à jour la pile**.

1. Si vous *n’avez pas* modifié le modèle de pile, sélectionnez **Utiliser modèle en cours**, puis cliquez sur **Suivant**. Si vous avez modifié le modèle, sélectionnez **Replace current template (Remplacer le modèle en cours)** et spécifiez l'emplacement du modèle mis à jour dans la section **Specify template (Spécifier le modèle)** :
   + Pour un modèle stocké localement sur votre ordinateur, sélectionnez **Upload a template file (Charger un fichier de modèle)**. Choisissez **Choose File (Choisir un fichier)** pour accéder au fichier, sélectionnez-le, puis cliquez sur **Suivant**.
   + Pour un modèle stocké dans un compartiment Amazon S3, sélectionnez **URL Amazon S3**. Saisissez ou collez l'URL du modèle et cliquez sur **Suivant**.

     Si votre modèle se trouve dans un compartiment dans lequel la gestion des versions est activée, vous pouvez spécifier une version particulière du modèle en ajoutant `?versionId=version-id` à l’URL. Pour plus d’informations, consultez [Travail avec des objets dans un compartiment avec gestion des versions activée](https://docs.aws.amazon.com/AmazonS3/latest/userguide/manage-objects-versioned-bucket.html) dans le *Guide de l’utilisateur Amazon Simple Storage Service*.

1. Si votre modèle contient des paramètres, sur la page **Specify stack details (Spécifier les détails de pile)**, entrez ou modifiez les valeurs de paramètre, puis choisissez **Suivant**.

   CloudFormation remplit chaque paramètre avec la valeur actuellement définie dans la pile, à l'exception des paramètres déclarés avec l'`NoEcho`attribut. Pour utiliser les valeurs actuelles de ces paramètres, choisissez **Utiliser valeur existante**.

   Pour plus d’informations sur l’utilisation de `NoEcho` pour masquer les informations sensibles, ainsi que sur l’utilisation de paramètres dynamiques pour gérer les secrets, consultez la bonne pratique [N'incorporez pas d'informations d'identification dans vos modèles](security-best-practices.md#creds).

1. Spécifiez une politique de pile de remplacement.

   1. Sur la page **Configure stack options (Configurer les options de pile)**, dans la section **Options avancées**, sélectionnez **Politique de pile**.

   1. Sélectionnez **Upload a file (Charger un fichier)**.

   1. Cliquez sur **Choose file (Choisir un fichier)** et accédez au fichier contenant la politique de pile de remplacement ou tapez une politique.

   1. Choisissez **Suivant**.

   La politique de remplacement doit spécifier une instruction `Allow` pour les ressources protégées que vous souhaitez mettre à jour. Par exemple, pour mettre à jour toutes les ressources protégées, définissez une politique de remplacement temporaire qui permet toutes les mises à jour :

   ```
   {
     "Statement" : [
       {
         "Effect" : "Allow",
         "Action" : "Update:*",
         "Principal": "*",
         "Resource" : "*"
       }
     ]
   }
   ```
**Note**  
CloudFormation applique la politique de dérogation uniquement lors de cette mise à jour. Cette politique ne modifie pas la politique de pile de manière permanente. Pour modifier une politique de pile, consultez la page [Modification d’une politique de pile](#protect-stack-resources-modifying).

1. Passez en revue les informations de la pile et les modifications que vous avez soumises.

   Vérifiez que vous avez soumis les informations correctes, telles que l'URL du modèle ou les valeurs de paramètres appropriées. Si votre modèle contient des ressources IAM, choisissez **I acknowledge that this template may create IAM resources (Je sais que ce modèle peut créer des ressources IAM)** pour confirmer que vous souhaitez utiliser des ressources IAM dans le modèle. Pour de plus amples informations, veuillez consulter [Reconnaissance des ressources IAM dans les modèles CloudFormation](control-access-with-iam.md#using-iam-capabilities).

   Dans la section **Aperçu de vos modifications**, vérifiez que toutes les modifications attendues CloudFormation seront apportées. Par exemple, vérifiez que CloudFormation les ressources que vous vouliez ajouter, supprimer ou modifier sont ajoutées, supprimées ou modifiées. CloudFormationgénère cet aperçu en créant un ensemble de modifications pour la pile. Pour de plus amples informations, veuillez consulter [Mettre à jour CloudFormation les piles à l'aide d'ensembles de modifications](using-cfn-updating-stacks-changesets.md).

1. Lorsque vous êtes satisfait de vos modifications, cliquez sur **Update (Mettre à jour)**.
**Note**  
À ce stade, vous avez aussi la possibilité d'afficher le jeu de modifications pour vérifier de façon plus complète vos mises à jour proposées. Pour ce faire, cliquez sur **Afficher l'ensemble de modifications** au lieu de **Mettre à jour**. CloudFormation affiche l'ensemble de modifications généré en fonction de vos mises à jour. Lorsque vous êtes prêt à effectuer la mise à jour de la pile, cliquez sur **Exécuter**.

   CloudFormation affiche la page des **détails de la pile** correspondant à votre pile. Votre pile a désormais le statut `UPDATE_IN_PROGRESS`. Une CloudFormation fois la mise à jour de la pile terminée avec succès, l'état de la pile est défini sur`UPDATE_COMPLETE`.

   Si la mise à jour de la pile échoue, CloudFormation ; annule automatiquement les modifications et définit le statut de la pile sur`UPDATE_ROLLBACK_COMPLETE`.

**Pour mettre à jour une ressource protégée (AWS CLI)**
+ Utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack.html) avec l’option `--stack-policy-during-update-body` permettant de saisir une stratégie modifiée ou l’option `--stack-policy-during-update-url` permettant de spécifier un fichier contenant la stratégie.
**Note**  
CloudFormation applique la politique de dérogation uniquement lors de cette mise à jour. Cette politique ne modifie pas la politique de pile de manière permanente. Pour modifier une politique de pile, consultez la page [Modification d’une politique de pile](#protect-stack-resources-modifying).

## Modification d’une politique de pile
<a name="protect-stack-resources-modifying"></a>

Pour protéger des ressources supplémentaires ou pour supprimer la protection de ressources, modifiez la politique de pile. Par exemple, lorsque vous ajoutez à votre pile une base de données que vous souhaitez protéger, appliquez une instruction `Deny` pour cette base de données à la politique de pile. Pour modifier la politique, vous devez avoir l’autorisation d’utiliser l’action [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetStackPolicy.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetStackPolicy.html).

Utilisez le AWS CLI pour modifier les politiques de pile.

**Pour modifier une politique de pile (AWS CLI)**
+ Utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-stack-policy.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-stack-policy.html) avec l’option `--stack-policy-body` permettant de saisir une stratégie modifiée ou l’option `--stack-policy-url` permettant de spécifier un fichier contenant la stratégie.

Vous ne pouvez pas supprimer une politique de pile. Pour supprimer toute la protection de toutes les ressources, vous devez modifier la politique pour autoriser explicitement toutes les actions pour toutes les ressources. La politique suivante autorise toutes les mises à jour au niveau de toutes les ressources :

```
{
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*"
    }
  ]
}
```

## Autres exemples de politiques de pile
<a name="stack-policy-samples"></a>

Les exemples suivants de stratégie de pile montre comment empêcher les mises à jour de toutes les ressources de la pile et de ressources spécifiques, ainsi que comment empêcher certains types de mises à jour.

### Empêcher les mises à jour de toutes les ressources de la pile
<a name="w2aac43c15c21b5"></a>

Pour éviter les mises à jour de toutes les ressources d’une pile, la politique suivante spécifie une instruction `Deny` pour toutes les actions de mise à jour pour toutes les ressources.

```
{
  "Statement" : [
    {
      "Effect" : "Deny",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*"
    }
  ]
}
```

### Empêcher les mises à jour d'une seule ressource
<a name="w2aac43c15c21b7"></a>

La politique suivante refuse toutes les actions de mise à jour de la base de données associée à l'ID logique `MyDatabase`. Elle autorise toutes les actions de mise à jour au niveau de toutes les autres ressources de la pile avec une instruction `Allow`. L'instruction `Allow` ne s'applique pas à la ressource `MyDatabase`, car l'instruction `Deny` prévaut toujours sur les actions autorisées.

```
{
  "Statement" : [
    {
      "Effect" : "Deny",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "LogicalResourceId/MyDatabase"
    },
    {
      "Effect" : "Allow",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*"
    }
  ]
}
```

Vous pouvez obtenir le même résultat que l'exemple précédent en utilisant un refus par défaut. Lorsque vous définissez une politique de stack, elle CloudFormation refuse toute mise à jour qui n'est pas explicitement autorisée. La politique suivante autorise les mises à jour de toutes les ressources, à l'exception de la ressource `ProductionDatabase`, qui est refusée par défaut.

```
{
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : "Update:*",
      "Principal": "*",
      "NotResource" : "LogicalResourceId/ProductionDatabase"
    }
  ]
}
```

**Important**  
L'utilisation d'un refus par défaut présente des risques. Si vous utilisez une instruction `Allow` ailleurs dans la politique (par exemple, une instruction `Allow` qui utilise un caractère générique), vous pouvez sans le savoir accorder l'autorisation de mise à jour à des ressources qui ne devraient pas avoir cette autorisation. Comme un refus explicite prévaut sur toutes les actions autorisées, une ressource est réellement protégée avec une instruction `Deny`.

### Empêcher les mises à jour de toutes les Instances d'un type de ressource
<a name="w2aac43c15c21b9"></a>

La politique suivante refuse que toutes les actions de mise à jour au niveau du type de ressource des instances DB RDS. Elle autorise toutes les actions de mise à jour au niveau de toutes les autres ressources de la pile avec une instruction `Allow`. L'instruction `Allow` ne s'applique pas aux ressources des instances DB RDS, car une instruction `Deny` prévaut toujours sur les actions autorisées.

```
{
  "Statement" : [
    {
      "Effect" : "Deny",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*",
      "Condition" : {
        "StringEquals" : {
          "ResourceType" : ["AWS::RDS::DBInstance"]
        }
      }
    },
    {
      "Effect" : "Allow",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*"
    }
  ]
}
```

### Empêcher les mises à jour de remplacement d'une instance
<a name="w2aac43c15c21c11"></a>

La politique suivante refuse les mises à jour qui entraîneraient un remplacement de l'instance associée à l'ID logique `MyInstance`. Elle autorise toutes les actions de mise à jour au niveau de toutes les autres ressources de la pile avec une instruction `Allow`. L'instruction `Allow` ne s'applique pas à la ressource `MyInstance`, car l'instruction `Deny` prévaut toujours sur les actions autorisées.

```
{
  "Statement" : [
    {
      "Effect" : "Deny",
      "Action" : "Update:Replace",
      "Principal": "*",
      "Resource" : "LogicalResourceId/MyInstance"
    },
    {
      "Effect" : "Allow",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*"
    }
  ]
}
```

### Empêcher les mises à jour des piles imbriquées
<a name="w2aac43c15c21c13"></a>

La politique suivante refuse toutes les actions de mise à jour sur le type de ressource de CloudFormation pile (piles imbriquées). Elle autorise toutes les actions de mise à jour au niveau de toutes les autres ressources de la pile avec une instruction `Allow`. L'instruction `Allow` ne s'applique pas aux ressources des piles CloudFormation , car une instruction `Deny` prévaut toujours sur les actions d'autorisation.

```
{
  "Statement" : [
    {
      "Effect" : "Deny",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*",
      "Condition" : {
        "StringEquals" : {
          "ResourceType" : ["AWS::CloudFormation::Stack"]
        }
      }
    },
    {
      "Effect" : "Allow",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*"
    }
  ]
}
```

# Protection des données dans CloudFormation
<a name="security-data-protection"></a>

Le [modèle de responsabilité AWS partagée](https://aws.amazon.com/compliance/shared-responsibility-model/) de s'applique à la protection des données dans AWS CloudFormation. Comme décrit dans ce modèle, AWS est chargé de protéger l'infrastructure mondiale qui gère tous les AWS Cloud. La gestion du contrôle de votre contenu hébergé sur cette infrastructure relève de votre responsabilité. Vous êtes également responsable des tâches de configuration et de gestion de la sécurité des Services AWS que vous utilisez. Pour plus d’informations sur la confidentialité des données, consultez [Questions fréquentes (FAQ) sur la confidentialité des données](https://aws.amazon.com/compliance/data-privacy-faq/). Pour en savoir plus sur la protection des données en Europe, consultez le billet de blog [Modèle de responsabilité partagée d’AWS et RGPD (Règlement général sur la protection des données)](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) sur le *Blog de sécuritéAWS *.

À des fins de protection des données, nous vous recommandons de protéger les Compte AWS informations d'identification et de configurer les utilisateurs individuels avec AWS IAM Identity Center ou Gestion des identités et des accès AWS (IAM). Ainsi, chaque utilisateur se voit attribuer uniquement les autorisations nécessaires pour exécuter ses tâches. Nous vous recommandons également de sécuriser vos données comme indiqué ci-dessous :
+ Utilisez l’authentification multifactorielle (MFA) avec chaque compte.
+  SSL/TLS À utiliser pour communiquer avec AWS les ressources. Nous exigeons TLS 1.2 et recommandons TLS 1.3.
+ Configurez l'API et la journalisation de l'activité des utilisateurs avec AWS CloudTrail. Pour plus d'informations sur l'utilisation des CloudTrail sentiers pour capturer AWS des activités, consultez la section [Utilisation des CloudTrail sentiers](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html) dans le *guide de AWS CloudTrail l'utilisateur*.
+ Utilisez des solutions de AWS chiffrement, ainsi que tous les contrôles de sécurité par défaut qu'ils contiennent Services AWS.
+ Utilisez des services de sécurité gérés avancés tels qu’Amazon Macie, qui contribuent à la découverte et à la sécurisation des données sensibles stockées dans Amazon S3.
+ Si vous avez besoin de modules cryptographiques validés par la norme FIPS 140-3 pour accéder AWS via une interface de ligne de commande ou une API, utilisez un point de terminaison FIPS. Pour plus d’informations sur les points de terminaison FIPS disponibles, consultez [Norme FIPS (Federal Information Processing Standard) 140-3](https://aws.amazon.com/compliance/fips/).

Nous vous recommandons fortement de ne jamais placer d’informations confidentielles ou sensibles, telles que les adresses e-mail de vos clients, dans des balises ou des champs de texte libre tels que le champ **Nom**. Cela inclut lorsque vous travaillez avec CloudFormation ou d'autres Services AWS utilisateurs de la console, de l'API ou AWS SDKs. AWS CLI Toutes les données que vous entrez dans des balises ou des champs de texte de forme libre utilisés pour les noms peuvent être utilisées à des fins de facturation ou dans les journaux de diagnostic. Si vous fournissez une adresse URL à un serveur externe, nous vous recommandons fortement de ne pas inclure d’informations d’identification dans l’adresse URL permettant de valider votre demande adressée à ce serveur.

## Chiffrement au repos
<a name="security-data-protection-encryption-at-rest"></a>

Selon le modèle de responsabilité AWS partagée, CloudFormation stocke vos données cryptées au repos. Il incombe aux clients de définir des politiques de chiffrement et de stockage pour les données stockées dans leurs comptes. Par exemple, nous vous recommandons d'activer le chiffrement au repos pour les modèles et autres données stockées dans des compartiments S3 ou des rubriques SNS. Les clients définissent également les paramètres de chiffrement pour tous les systèmes de stockage de données alloués par CloudFormation.

## Chiffrement en transit
<a name="security-data-protection-encryption-in-transit"></a>

CloudFormation utilise des canaux cryptés pour les communications de service dans le cadre du modèle de responsabilité partagée.

## Confidentialité du trafic inter-réseau
<a name="security-data-protection-internetwork-traffic-privacy"></a>

CloudFormation les communications de service sont cryptées de manière sécurisée par défaut entre les régions ou les zones de disponibilité.

# Contrôlez CloudFormation l'accès avec Gestion des identités et des accès AWS
<a name="control-access-with-iam"></a>

Avec Gestion des identités et des accès AWS (IAM), vous pouvez créer des utilisateurs IAM et contrôler leur accès à des ressources spécifiques de votre. Compte AWS Lorsque vous utilisez IAM, vous pouvez contrôler ce que les utilisateurs peuvent utiliser CloudFormation, par exemple s'ils peuvent afficher des modèles de pile, créer des piles ou supprimer des piles.

Au-delà CloudFormation des actions spécifiques, vous pouvez gérer les AWS services et les ressources disponibles pour chaque utilisateur. Ainsi, vous pouvez contrôler les ressources auxquelles les utilisateurs peuvent accéder lorsqu'ils les utilisent CloudFormation. Par exemple, vous pouvez spécifier quels utilisateurs peuvent créer des instances Amazon EC2, mettre fin à des instances de base de données ou effectuer des mises à jour. VPCs Ces mêmes autorisations s'appliquent chaque fois qu'ils CloudFormation les utilisent pour effectuer ces actions.

Utilisez les informations des sections suivantes pour contrôler les personnes autorisées à y accéder CloudFormation. Nous verrons également comment autoriser la création de ressources IAM dans des modèles, donner aux applications exécutées sur des instances EC2 les autorisations dont elles ont besoin et utiliser des informations d'identification de sécurité temporaires pour renforcer la sécurité de votre AWS environnement.

## Définition de politiques basées sur l'identité IAM pour CloudFormation
<a name="iam-id-based-policies"></a>

Pour donner accès à CloudFormation, vous devez créer et attribuer des politiques IAM qui donnent à vos identités IAM (telles que les utilisateurs ou les rôles) l'autorisation d'appeler les actions d'API dont elles ont besoin.

Avec les politiques basées sur l'identité IAM, vous pouvez spécifier les actions et les ressources autorisées ou refusées, ainsi que les conditions dans lesquelles les actions sont autorisées ou refusées. CloudFormationprend en charge des actions, des ressources et des clés de condition spécifiques. 

Si vous débutez avec IAM, commencez par vous familiariser avec les éléments d’une politique JSON IAM. Pour plus d’informations, consultez [Références des éléments de politique JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) dans le *Guide de l’utilisateur IAM*. Pour apprendre à créer des politiques IAM, suivez le tutoriel [Créer et associer votre première politique gérée par le client](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_managed-policies.html) dans la documentation IAM.

**Topics**
+ [Actions politiques pour CloudFormation](#using-iam-actions)
+ [Actions spécifiques à la console pour CloudFormation](#console-specific-actions)
+ [Ressources politiques pour CloudFormation](#resource-level-permissions)
+ [Clés de conditions de politique pour CloudFormation](#using-iam-conditions)

### Actions politiques pour CloudFormation
<a name="using-iam-actions"></a>

Dans l'`Action`élément de votre déclaration de politique IAM, vous pouvez spécifier toute action d'API proposée CloudFormation . Vous devez préfixer le nom de l’action par la chaîne en minuscules `cloudformation:`. Par exemple : `cloudformation:CreateStack`, `cloudformation:CreateChangeSet` et `cloudformation:UpdateStack`.

Pour spécifier plusieurs actions dans une seule déclaration, séparez-les par des virgules, comme suit :

```
"Action": [ "cloudformation:action1", "cloudformation:action2" ]
```

Vous pouvez aussi spécifier plusieurs actions à l’aide de caractères génériques. Par exemple, vous pouvez spécifier toutes les actions dont le nom commence par `Get`, comme suit :

```
"Action": "cloudformation:Get*"
```

Pour consulter la liste complète des actions associées au préfixe de service `cloudformation`, consultez [Actions, ressources et clés de condition pour CloudFormation](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudformation.html) et [Actions, ressources et clés de condition pour API de commande du Cloud AWS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudcontrolapi.html) dans la *Référence d’autorisation de service*.

#### Exemples
<a name="using-iam-actions-examples"></a>

Vous trouverez ci-dessous un exemple de politique d'autorisation qui accorde des autorisations pour consulter les CloudFormation piles.

**Example 1 : exemple de politique accordant des autorisations d’affichage des piles**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[{
        "Effect":"Allow",
        "Action":[
            "cloudformation:DescribeStacks",
            "cloudformation:DescribeStackEvents",
            "cloudformation:DescribeStackResource",
            "cloudformation:DescribeStackResources"
        ],
        "Resource":"*"
    }]
}
```

Les utilisateurs qui créent ou suppriment des piles ont besoin d’autorisations supplémentaires en fonction de leurs modèles de pile. Par exemple, si votre modèle décrit une file d'attente Amazon SQS, les utilisateurs doivent être autorisés à la fois pour les actions Amazon SQS CloudFormation et pour les actions Amazon SQS, comme indiqué dans l'exemple de politique suivant.

**Example 2 : exemple de politique accordant les actions de création et d’affichage des piles, ainsi que toutes les actions Amazon SQS**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[{
        "Effect":"Allow",
        "Action":[
            "sqs:*",
            "cloudformation:CreateStack",
            "cloudformation:DescribeStacks",
            "cloudformation:DescribeStackEvents",
            "cloudformation:DescribeStackResources",
            "cloudformation:GetTemplate",
            "cloudformation:ValidateTemplate"  
        ],
        "Resource":"*"
    }]
}
```

### Actions spécifiques à la console pour CloudFormation
<a name="console-specific-actions"></a>

Les utilisateurs de la CloudFormation console ont besoin d'autorisations supplémentaires en plus de celles requises pour le AWS Command Line Interface ou CloudFormation APIs. Ces autorisations supplémentaires prennent en charge les fonctionnalités spécifiques à la console, telles que le téléchargement de modèles vers des compartiments Amazon S3 et les listes déroulantes pour AWS les types de paramètres spécifiques.

Pour toutes les actions répertoriées ci-dessous, accordez les autorisations sur toutes les ressources ; ne les limitez pas à des piles ou compartiments spécifiques.

L'action suivante est utilisée uniquement par la CloudFormation console et n'est pas documentée dans la référence de l'API. Cette action permet aux utilisateurs d'importer des modèles dans des compartiments Amazon S3.
+ `cloudformation:CreateUploadBucket`

Lorsque les utilisateurs chargent des modèles, les utilisateurs ont également besoin des autorisations Amazon S3 suivantes :
+ `s3:PutObject`
+ `s3:ListBucket`
+ `s3:GetObject`
+ `s3:CreateBucket`

Pour voir les valeurs dans les listes déroulantes de paramètres pour les modèles avec des types de paramètres AWS spécifiques, les utilisateurs doivent être autorisés à effectuer les appels d'API de description correspondants. Par exemple, les autorisations suivantes sont requises lorsque ces types de paramètres sont utilisés dans le modèle :
+  `ec2:DescribeKeyPairs` : obligatoire pour le type de paramètre `AWS::EC2::KeyPair::KeyName`.
+ `ec2:DescribeSecurityGroups` : obligatoire pour le type de paramètre `AWS::EC2::SecurityGroup::Id`.
+ `ec2:DescribeSubnets` : obligatoire pour le type de paramètre `AWS::EC2::Subnet::Id`.
+ `ec2:DescribeVpcs` : obligatoire pour le type de paramètre `AWS::EC2::VPC::Id`.

Pour plus d'informations sur les types de paramètres AWS spécifiques, consultez[Spécifiez les ressources existantes au moment de l'exécution avec les CloudFormation types de paramètres fournis](cloudformation-supplied-parameter-types.md).

### Ressources politiques pour CloudFormation
<a name="resource-level-permissions"></a>

Dans une instruction de politiqe IAM, l'élément `Resource` spécifie l'objet ou les objets couverts par l'instruction. En effet CloudFormation, chaque déclaration de politique IAM s'applique aux ressources que vous spécifiez à l'aide de leur Amazon Resource Names (ARNs). Le format ARN spécifique dépend de la ressource. 

Pour une liste complète des types de CloudFormation ressources et de leurs caractéristiques ARNs, voir [Types de ressources définis par CloudFormation](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudformation.html#awscloudformation-resources-for-iam-policies) dans la *référence d'autorisation de service*. Pour savoir quelles actions peuvent être associées à l’ARN de chaque ressource, consultez [Actions définies par CloudFormation](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudformation.html#awscloudformation-actions-as-permissions).

Vous pouvez spécifier des actions pour une pile particulière, comme dans l’exemple de politique suivant. Lorsque vous fournissez un ARN, remplacez le champ `placeholder text` par les informations propres à votre ressource. 

**Example 1 : exemple de politique refusant les actions de suppression et de mise à jour pour la pile spécifiée**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "cloudformation:DeleteStack",
                "cloudformation:UpdateStack"
            ],
            "Resource": "arn:aws:cloudformation:us-east-1:111122223333:stack/MyProductionStack/*"
        }
    ]
}
```

La politique ci-dessus utilise un caractère générique à la fin du nom de la pile, de manière à refuser les actions de suppression et de mise à jour à la fois sur l’ID complet de la pile (comme `arn:aws:cloudformation:region:account-id:stack/MyProductionStack/abc9dbf0-43c2-11e3-a6e8-50fa526be49c`) et sur le nom de la pile (comme `MyProductionStack`).

Pour autoriser des transformations `AWS::Serverless` à créer un jeu de modifications, incluez l’autorisation de ressource `arn:aws:cloudformation:region:aws:transform/Serverless-2016-10-31`, comme montré dans l’exemple suivant.

**Example 2 : exemple de politique autorisant l’action de création d’un jeu de modifications pour la transformation spécifiée**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudformation:CreateChangeSet"
            ],
            "Resource": "arn:aws:cloudformation:us-east-1:aws:transform/Serverless-2016-10-31"
        }
    ]
}
```

### Clés de conditions de politique pour CloudFormation
<a name="using-iam-conditions"></a>

Dans une instruction de politique IAM, vous pouvez définir des conditions facultatives permettant de contrôler quand une politique s’applique. Par exemple, vous pouvez définir une stratégie qui permet aux utilisateurs de créer une pile uniquement lorsqu’ils spécifient une URL de modèle spécifique. Vous pouvez définir CloudFormation des conditions spécifiques et des conditions AWS générales`DateLessThan`, telles que celles qui indiquent à quel moment une politique cesse de prendre effet. Pour plus d'informations et une liste des AWS conditions générales, voir la [référence relative à la condition dans les éléments de stratégie IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Condition) dans le guide de *l'utilisateur IAM*.

**Note**  
N'utilisez pas la condition `aws:SourceIp` AWS« wide ». CloudFormationapprovisionne les ressources en utilisant sa propre adresse IP, et non l'adresse IP de la demande d'origine. Par exemple, lorsque vous créez une pile, vous envoyez CloudFormation des demandes à partir de son adresse IP pour lancer une instance Amazon EC2 ou pour créer un compartiment Amazon S3, et non à partir de l'adresse IP de l'`CreateStack`appel ou de la commande. **create-stack**

La liste suivante décrit les conditions CloudFormation spécifiques. Ces conditions sont appliquées uniquement lorsque les utilisateurs créent ou mettent à jour les piles :

`cloudformation:ChangeSetName`  
Nom du groupe de CloudFormation modifications que vous souhaitez associer à une politique. Utilisez cette condition pour contrôler les jeux de modifications que les utilisateurs peuvent exécuter ou supprimer.

`cloudformation:ImportResourceTypes`  
Types de ressource du modèle que vous souhaitez associer à une politique, comme `AWS::EC2::Instance`. Utilisez cette condition pour contrôler les types de ressources que les utilisateurs peuvent utiliser lorsqu’ils importent des ressources dans une pile. Cette condition est vérifiée par rapport aux types de ressources déclarés par les utilisateurs dans le `ResourcesToImport` paramètre, qui n'est actuellement pris en charge que pour AWS CLI les demandes d'API. Lorsque vous utilisez ce paramètre, vous devez spécifier tous les types de ressources que les utilisateurs doivent contrôler pendant les opérations d'importation. Pour plus d’informations sur le paramètre `ResourcesToImport`, consultez l’action [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateChangeSet.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateChangeSet.html) dans la *Référence API AWS CloudFormation *.  
Pour une liste des valeurs possibles de `ResourcesToImport`, consultez [Prise en charge des types de ressources](resource-import-supported-resources.md).  
Utilisez la convention de dénomination des ressources en trois parties pour spécifier les types de ressources que les utilisateurs peuvent utiliser, depuis toutes les ressources d'une organisation jusqu'à un type de ressource individuel.    
`organization::*`  
Spécifiez tous les types de ressources pour une organisation donnée.  
`organization::service_name::*`  
Spécifiez tous les types de ressources pour le service spécifié au sein d'une organisation donnée.  
`organization::service_name::resource_type`  
Spécifiez un type de ressource spécifique.
Par exemple :    
`AWS::*`  
Spécifiez tous les types de AWS ressources pris en charge.  
`AWS::service_name::*`  
Spécifiez toutes les ressources prises en charge pour un service AWS spécifique.  
`AWS::service_name::resource_type`  
Spécifiez un type de AWS ressource spécifique, tel que `AWS::EC2::Instance` (toutes les instances EC2).

`cloudformation:ResourceTypes`  
Types de ressource du modèle, comme `AWS::EC2::Instance`, que vous voulez associer à une politique. Utilisez cette condition pour contrôler les types de ressource dont les utilisateurs peuvent se servir lorsqu’ils créent ou mettent à jour d’une pile. Cette condition est comparée avec les types de ressource que les utilisateurs déclarent dans le paramètre `ResourceTypes`, qui est actuellement pris en charge uniquement pour les requêtes d' AWS CLI et d'API. Avec ce paramètre, les utilisateurs doivent spécifier tous les types de ressource qui se trouvent dans leur modèle. Pour plus d’informations sur le paramètre `ResourceTypes`, consultez l’action [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html) dans la *Référence API AWS CloudFormation *.  
Pour une liste des types de ressources, consultez le [Guide de référence des modèles CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/introduction.html).  
Utilisez la convention de dénomination des ressources en trois parties pour spécifier les types de ressources que les utilisateurs peuvent utiliser, depuis toutes les ressources d'une organisation jusqu'à un type de ressource individuel.    
`organization::*`  
Spécifiez tous les types de ressources pour une organisation donnée.  
`organization::service_name::*`  
Spécifiez tous les types de ressources pour le service spécifié au sein d'une organisation donnée.  
`organization::service_name::resource_type`  
Spécifiez un type de ressource spécifique.
Par exemple :    
`AWS::*`  
Spécifiez tous les types de AWS ressources pris en charge.  
`AWS::service_name::*`  
Spécifiez toutes les ressources prises en charge pour un service AWS spécifique.  
`AWS::service_name::resource_type`  
Spécifiez un type de AWS ressource spécifique, tel que `AWS::EC2::Instance` (toutes les instances EC2).  
`Alexa::ASK::*`  
Spécifiez tous les types de ressources dans le kit de compétences Alexa.  
`Alexa::ASK::Skill`  
Spécifiez individuellement le type de ressource [Alexa::ASK::Skill](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/alexa-resource-ask-skill.html).  
`Custom::*`  
Spécifiez toutes les ressources personnalisées.  
Pour de plus amples informations, veuillez consulter [Créer une logique de provisionnement personnalisée avec des ressources personnalisées](template-custom-resources.md).  
`Custom::resource_type`  
Spécifiez un type de ressource personnalisé spécifique.  
Pour de plus amples informations, veuillez consulter [Créer une logique de provisionnement personnalisée avec des ressources personnalisées](template-custom-resources.md).

`cloudformation:RoleARN`  
Amazon Resource Name (ARN) du rôle de service IAM que vous voulez associer à une politique. Utilisez cette condition pour contrôler le rôle de service que les utilisateurs peuvent utiliser lorsqu’ils utilisent des piles ou des jeux de modifications.

`cloudformation:StackPolicyUrl`  
URL de la politique de pile Amazon S3 que vous souhaitez associer à une politique. Utilisez cette condition pour contrôler les stratégies de pile que les utilisateurs utilisateurs peuvent associer à une pile pendant la création ou la mise à jour de cette dernière. Pour plus d’informations sur les politiques de pile, consultez [Empêcher les mises à jour des ressources de la pile](protect-stack-resources.md).  
Pour vous assurer que les utilisateurs ne peuvent créer ou mettre à jour des piles qu’avec les politiques de pile que vous avez chargées, définissez le compartiment S3 en lecture seule pour ces utilisateurs.

`cloudformation:TemplateUrl`  
URL d'un modèle Amazon S3 que vous voulez associer à une politique. Utilisez cette condition pour contrôler les modèles auxquels les utilisateurs peuvent se reporter lorsqu’ils créent ou mettent à jour des piles.  
Pour vous assurer que les utilisateurs ne peuvent créer ou mettre à jour des piles qu’avec les modèles que vous avez chargés, définissez également le compartiment S3 en lecture seule pour ces utilisateurs.
Les conditions CloudFormation spécifiques suivantes s'appliquent aux paramètres d'API du même nom :  
+ `cloudformation:ChangeSetName`
+ `cloudformation:RoleARN`
+ `cloudformation:StackPolicyUrl`
+ `cloudformation:TemplateUrl`
Par exemple, s'applique `cloudformation:TemplateUrl` uniquement au `TemplateUrl` paramètre pour `CreateStack``UpdateStack`, et `CreateChangeSet` APIs.

Pour des exemples de politiques IAM utilisant des clés de condition afin de contrôler l’accès, consultez [Exemples de politiques basées sur l'identité IAM pour CloudFormation](security_iam_id-based-policy-examples.md).

## Reconnaissance des ressources IAM dans les modèles CloudFormation
<a name="using-iam-capabilities"></a>

Avant de créer une pile, CloudFormation validez votre modèle. Lors de la validation, CloudFormation vérifie dans votre modèle les ressources IAM qu'il est susceptible de créer. Les ressources IAM, telles qu'un utilisateur disposant d'un accès complet, peuvent consulter et modifier n'importe quelle ressource de votre Compte AWS. Par conséquent, nous vous suggérons de passer en revue les autorisations associées à chaque ressource IAM avant de poursuivre. Vous éviterez ainsi de créer par erreur des ressources disposant d'autorisations que vous ne souhaitez pas accorder. Pour vous assurer que vous l'avez fait, vous devez reconnaître que le modèle contient ces ressources, en fournissant CloudFormation les fonctionnalités spécifiées avant de créer la pile.

Vous pouvez reconnaître les fonctionnalités des CloudFormation modèles à l'aide de la CloudFormation console, AWS Command Line Interface (AWS CLI) ou de l'API :
+ Dans la CloudFormation console, sur la page **Configurer les options de pile** des assistants Create Stack ou Update Stack, sélectionnez **Je reconnais que ce modèle peut créer des ressources IAM**.
+ Dans le AWS CLI, lorsque vous utilisez les [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack.html)commandes [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html)et, spécifiez la `CAPABILITY_NAMED_IAM` valeur `CAPABILITY_IAM` ou pour l'`--capabilities`option. Si votre modèle comprend des ressources IAM, vous pouvez spécifier l'une ou l'autre de ces fonctionnalités. S'il comprend des noms personnalisés pour les ressources IAM, vous devez spécifier `CAPABILITY_NAMED_IAM`.
+ Dans l’API, lorsque vous utilisez les actions [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html) et [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStack.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStack.html), spécifiez `Capabilities.member.1=CAPABILITY_IAM` ou `Capabilities.member.1=CAPABILITY_NAMED_IAM`. Si votre modèle comprend des ressources IAM, vous pouvez spécifier l'une ou l'autre de ces fonctionnalités. S'il comprend des noms personnalisés pour les ressources IAM, vous devez spécifier `CAPABILITY_NAMED_IAM`.

**Important**  
Si votre modèle contient des ressources IAM dont le nom est personnalisé, ne créez pas plusieurs piles avec le même modèle. De manière générale, les ressources IAM doivent être uniques au sein de votre compte. Si vous utilisez le même modèle pour créer plusieurs piles dans différentes régions, vos piles risquent de partager les mêmes ressources IAM au lieu d’avoir chacune une ressource unique. Les ressources partagées entre les piles peuvent avoir des conséquences imprévues et irréversibles. Par exemple, si vous supprimez ou mettez à jour des ressources IAM partagées dans une pile, vous modifierez les ressources des autres piles sans le vouloir.

## Gestion des informations d’identification pour les applications exécutées dans des instances Amazon EC2
<a name="using-iam-manage-creds"></a>

Si une application s'exécute sur une instance Amazon EC2 et doit effectuer des demandes pour obtenir des ressources AWS comme des compartiments Amazon S3 ou une table DynamoDB, l'application doit disposer d'informations d'identification de sécurité AWS . Toutefois, la distribution et intégration d'informations d'identification de sécurité à long terme dans toutes les instances que vous lancez peuvent s'avérer compliquées et présentent un risque de sécurité potentiel. Au lieu d'avoir recours à des informations d'identification à long terme, telles que les informations d'identification des utilisateurs IAM, nous vous recommandons de créer un rôle IAM associé à une instance Amazon EC2 lorsque l'instance sera lancée. L'application pourra ensuite obtenir des informations d'identification de sécurité temporaires à partir de cette instance Amazon EC2. Vous n'avez pas à intégrer d'informations d'identification à long terme dans l'instance. En outre, pour faciliter la gestion des informations d'identification, vous pouvez spécifier un rôle unique pour plusieurs instances Amazon EC2. Autrement dit; vous n'avez pas besoin de créer des identifiants uniques pour chacune d'elles.

Pour voir un extrait de modèle qui montre comment lancer une instance avec un rôle, consultez la page [Exemples de modèle pour les rôles IAM](quickref-iam.md#scenarios-iamroles).

**Note**  
Les applications associées à des instances qui utilisent des informations d'identification de sécurité temporaires peuvent appeler n'importe quelle action CloudFormation . Toutefois, étant donné qu'il CloudFormation interagit avec de nombreux autres AWS services, vous devez vérifier que tous les services que vous souhaitez utiliser prennent en charge les informations d'identification de sécurité temporaires. Pour une liste des services prenant en charge les informations d’identification de sécurité temporaires, consultez [Services AWS qui fonctionnent avec IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) dans le *Guide de l’utilisateur IAM*.

## Autorisation d’un accès temporaire (accès fédéré)
<a name="using-iam-grant-access"></a>

Dans certains cas, vous souhaiterez peut-être accorder aux utilisateurs sans AWS informations d'identification un accès temporaire à votre Compte AWS. Plutôt que de créer et de supprimer des informations d'identification à long terme chaque fois que vous souhaitez accorder un accès temporaire, utilisez AWS Security Token Service (AWS STS). Par exemple, vous pouvez utiliser des rôles IAM. A partir d'un rôle IAM, vous pouvez créer, puis distribuer de nombreuses informations d'identification de sécurité temporaires par programmation (notamment une clé d'accès, une clé d'accès secrète et un jeton de sécurité). Ces informations d'identification ont une durée de vie limitée, elles ne peuvent donc pas être utilisées pour accéder à vos informations d'identification Compte AWS après leur expiration. Vous pouvez également créer plusieurs rôles IAM afin d'accorder à différents utilisateurs des niveaux d'autorisations distincts. Les rôles IAM sont utiles pour des scénarios comme les identités fédérées et l'authentification unique.

Une identité fédérée est une identité distincte que vous pouvez utiliser sur plusieurs systèmes. Les utilisateurs en entreprise disposant d'un système d'identité sur site (par exemple, LDAP ou Active Directory) peuvent s'en servir pour gérer toutes les authentifications. Une fois qu'un utilisateur a été authentifié, vous fournissez des informations d'identification de sécurité temporaires à partir de l'utilisateur ou du rôle IAM approprié. Par exemple, vous pouvez créer un rôle d'administrateur et un rôle de développeur, dans lesquels les administrateurs ont un accès complet au AWS compte et les développeurs sont autorisés à travailler uniquement avec des CloudFormation piles. Après authentification, un administrateur est autorisé à obtenir des informations d’identification de sécurité temporaires à partir du rôle administrateurs. Les développeurs, quant à eux, peuvent obtenir des informations d’identification de sécurité temporaires uniquement depuis le rôle développeurs.

Vous pouvez également accorder aux utilisateurs fédérés l'accès au AWS Management Console. Une fois que les utilisateurs s'authentifient via votre système d'identité sur site, vous pouvez créer une URL temporaire par programmation afin de leur permettre d'accéder directement à AWS Management Console. Lorsque les utilisateurs utilisent l'URL temporaire, ils n'ont pas besoin de se connecter AWS car ils ont déjà été authentifiés (authentification unique). En outre, comme l'URL repose sur les informations d'identification de sécurité temporaires des utilisateurs, les autorisations associées déterminent les actions qu'ils peuvent effectuer dans AWS Management Console.

Vous pouvez en utiliser plusieurs AWS STS APIs pour générer des informations d'identification de sécurité temporaires. Pour plus d’informations sur l’API à utiliser, consultez [Comparaison des informations d’identification  AWS STS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_sts-comparison.html) dans le *Guide de l’utilisateur IAM*.

**Important**  
Vous ne pouvez pas utiliser IAM avec les informations d'identification de sécurité temporaires qui ont été générées à partir de l'API `GetFederationToken`. Si vous avez besoin de travailler avec IAM, utilisez plutôt les informations d'identification de sécurité temporaires d'un rôle.

CloudFormation interagit avec de nombreux autres AWS services. Lorsque vous utilisez des informations d'identification de sécurité temporaires avec CloudFormation, vérifiez que tous les services que vous souhaitez utiliser prennent en charge les informations d'identification de sécurité temporaires. Pour une liste des services prenant en charge les informations d’identification de sécurité temporaires, consultez [Services AWS qui fonctionnent avec IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) dans le *Guide de l’utilisateur IAM*.

Pour plus d’informations, consultez les ressources associées dans le *Guide de l’utilisateur IAM* :
+ [Scénarios courants pour les informations d'identification temporaires](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html#sts-introduction)
+ [Permettre à un courtier d'identité personnalisé d'accéder à la AWS console](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html)

# Exemples de politiques basées sur l'identité IAM pour CloudFormation
<a name="security_iam_id-based-policy-examples"></a>

Par défaut, les utilisateurs et les rôles ne sont pas autorisés à créer ou modifier les ressources CloudFormation. Ils ne peuvent pas non plus effectuer de tâches à l'aide de l'API AWS Management Console, AWS Command Line Interface (AWS CLI) ou de AWS l'API. Pour octroyer aux utilisateurs des autorisations d’effectuer des actions sur les ressources dont ils ont besoin, un administrateur IAM peut créer des politiques IAM. L’administrateur peut ensuite ajouter les politiques IAM aux rôles et les utilisateurs peuvent assumer les rôles. Pour de plus amples informations, veuillez consulter [Définition de politiques basées sur l'identité IAM pour CloudFormation](control-access-with-iam.md#iam-id-based-policies).

Les exemples suivants présentent des déclarations de politique que vous pouvez utiliser pour autoriser ou refuser l'autorisation d'utiliser une ou plusieurs CloudFormation actions. 

**Topics**
+ [Exiger une URL de modèle spécifique](#w2aac43c23c17b9)
+ [Refuser toutes les opérations CloudFormation d'importation](#w2aac43c23c17c11)
+ [Autoriser les opérations d’importation pour des types de ressources spécifiques](#w2aac43c23c17c13)
+ [Refuser les ressources IAM dans les modèles de pile](#w2aac43c23c17c15)
+ [Autoriser la création de piles avec des types de ressources spécifiques](#w2aac43c23c17c17)
+ [Contrôler l’accès en fonction des actions API modifiant les ressources](#w2aac43c23c17c19)
+ [Restriction des opérations sur les ensembles de piles en fonction de la région et des types de ressources](#resource-level-permissions-service-managed-stack-set)
+ [Autoriser toutes les opérations du générateur IaC](#iam-policy-example-for-iac-generator)

## Exiger une URL de modèle spécifique
<a name="w2aac43c23c17b9"></a>

La politique suivante accorde les autorisations d’utiliser uniquement l’URL de modèle `https://s3.amazonaws.com/amzn-s3-demo-bucket/test.template` pour créer ou mettre à jour une pile.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudformation:CreateStack",
                "cloudformation:UpdateStack"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "cloudformation:TemplateUrl": [
                        "https://s3.amazonaws.com/amzn-s3-demo-bucket/test.template"
                    ]
                }
            }
        }
    ]
}
```

------

## Refuser toutes les opérations CloudFormation d'importation
<a name="w2aac43c23c17c11"></a>

La politique suivante accorde les autorisations nécessaires pour effectuer toutes les CloudFormation opérations, à l'exception des opérations d'importation.

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

****  

```
{ 
  "Version":"2012-10-17",		 	 	  
  "Statement": [ 
    { 
      "Sid": "AllowAllStackOperations",
      "Effect": "Allow", 
      "Action": "cloudformation:*", 
      "Resource": "*" 
    }, 
    { 
      "Sid": "DenyImport", 
      "Effect": "Deny", 
      "Action": "cloudformation:*", 
      "Resource": "*",
      "Condition": { 
        "ForAnyValue:StringLike": {
          "cloudformation:ImportResourceTypes": [ 
            "*" 
          ] 
        } 
      } 
    } 
  ] 
}
```

------

## Autoriser les opérations d’importation pour des types de ressources spécifiques
<a name="w2aac43c23c17c13"></a>

La politique suivante accorde les autorisations nécessaires pour toutes les opérations de pile, en plus des opérations d’importation uniquement sur les ressources spécifiées (dans cet exemple, `AWS::S3::Bucket`.

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

****  

```
{ 
  "Version":"2012-10-17",		 	 	  
  "Statement": [ 
    { 
      "Sid": "AllowImport",
      "Effect": "Allow", 
      "Action": "cloudformation:*", 
      "Resource": "*",
      "Condition": { 
        "ForAllValues:StringEqualsIgnoreCase": {
          "cloudformation:ImportResourceTypes": [ 
            "AWS::S3::Bucket" 
          ] 
        } 
      } 
    } 
  ] 
}
```

------

## Refuser les ressources IAM dans les modèles de pile
<a name="w2aac43c23c17c15"></a>

La politique suivante accorde les autorisations nécessaires pour créer des piles, mais refuse les demandes si le modèle de la pile inclut une ressource du service IAM. Cette politique oblige également les utilisateurs à spécifier le paramètre `ResourceTypes`, qui est uniquement disponible pour les requêtes d' AWS CLI et d'API. Cette politique utilise des instructions de refus explicites de sorte qu'elle reste en vigueur si une autre politique accorde des autorisations supplémentaires (une instruction de refus explicite prévaut toujours sur une instruction d'autorisation explicite).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Effect" : "Allow",
      "Action" : [ "cloudformation:CreateStack" ],
      "Resource" : "*"
    },
    {
      "Effect" : "Deny",
      "Action" : [ "cloudformation:CreateStack" ],
      "Resource" : "*",
      "Condition" : {
        "ForAnyValue:StringLikeIfExists" : {
          "cloudformation:ResourceTypes" : [ "AWS::IAM::*" ]
        }
      }
    },
    {
      "Effect": "Deny",
      "Action" : [ "cloudformation:CreateStack" ],
      "Resource": "*",
      "Condition": {
        "Null": {
          "cloudformation:ResourceTypes": "true"
        }
      }
    }
  ]
}
```

------

## Autoriser la création de piles avec des types de ressources spécifiques
<a name="w2aac43c23c17c17"></a>

La politique suivante est similaire à l’exemple précédent. La politique accorde les autorisations nécessaires pour créer une pile, sauf si le modèle de la pile inclut une ressource du service IAM. Les utilisateurs doivent également spécifier le `ResourceTypes` paramètre, qui n'est disponible que pour AWS CLI les demandes d'API. Cette politique est plus simple, mais n'utilise pas d'instructions de refus explicites. Elle pourrait donc être supplantée par d'autres politiques, qui accorderaient des autorisations supplémentaires.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Effect" : "Allow",
      "Action" : [ "cloudformation:CreateStack" ],
      "Resource" : "*",
      "Condition" : {
        "ForAllValues:StringNotLikeIfExists" : {
          "cloudformation:ResourceTypes" : [ "AWS::IAM::*" ]
        },
        "Null":{
          "cloudformation:ResourceTypes": "false"
        }
      }
    }
  ]
}
```

------

## Contrôler l’accès en fonction des actions API modifiant les ressources
<a name="w2aac43c23c17c19"></a>

La politique suivante accorde les autorisations nécessaires pour filtrer l’accès en fonction du nom d’une action API modifiant les ressources. Ceci est utilisé pour contrôler les utilisateurs APIs IAM qui peuvent ajouter ou supprimer des balises sur une pile ou un ensemble de piles. L’opération utilisée pour ajouter ou supprimer des balises doit être ajoutée comme valeur pour la clé de condition. La politique suivante accorde les autorisations `TagResource` et `UntagResource` à l’opération de modification `CreateStack`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Sid": "CreateActionConditionPolicyForTagUntagResources",
        "Effect": "Allow",
        "Action": [
            "cloudformation:TagResource",
            "cloudformation:UntagResource"
        ],
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "cloudformation:CreateAction": [
                    "CreateStack"
                ]
            }
        }
    }]
}
```

------

## Restriction des opérations sur les ensembles de piles en fonction de la région et des types de ressources
<a name="resource-level-permissions-service-managed-stack-set"></a>

La politique suivante accorde des autorisations pour les ensembles de piles gérés par le service. Un utilisateur disposant de cette politique peut uniquement effectuer des opérations sur des ensembles de piles avec des modèles contenant des types de ressources Amazon S3 (`AWS::S3::*`) ou le type de ressource `AWS::SES::ConfigurationSet`. S'il est connecté au compte de gestion de l'organisation avec un identifiant`123456789012`, l'utilisateur peut également effectuer des opérations uniquement sur des ensembles de piles qui ciblent l'unité d'organisation dotée d'un identifiant`ou-1fsfsrsdsfrewr`, et ne peut effectuer des opérations que sur le jeu de piles doté d'un identifiant `stack-set-id` qui cible l'identifiant Compte AWS avec`987654321012`.

Les opérations de stack set échouent si le modèle de stack set contient des types de ressources autres que ceux spécifiés dans la stratégie, ou si les cibles de déploiement sont des unités d'organisation ou des comptes IDs autres que ceux spécifiés dans la stratégie pour les comptes de gestion et les ensembles de piles correspondants.

Ces restrictions de politique s’appliquent uniquement lorsque les opérations d’ensembles de piles ciblent les `us-east-1`, `us-west-2`, ou `eu-west-2` Régions AWS.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudformation:*"
            ],
            "Resource": [
                "arn:aws:cloudformation:*:*:stackset/*",
                "arn:aws:cloudformation:*:*:type/resource/AWS-S3-*",
                "arn:aws:cloudformation:us-west-2:111122223333:type/resource/AWS-SES-ConfigurationSet",
                "arn:aws:cloudformation:*:111122223333:stackset-target/*/ou-1fsfsrsdsfrewr",
                "arn:aws:cloudformation:*:111122223333:stackset-target/stack-set-id/444455556666"
            ],
            "Condition": {
                "ForAllValues:StringEqualsIgnoreCase": {
                    "cloudformation:TargetRegion": [
                        "us-east-1",
                        "us-west-2",
                        "eu-west-1"
                    ]
                }
            }
        }
    ]
}
```

------

## Autoriser toutes les opérations du générateur IaC
<a name="iam-policy-example-for-iac-generator"></a>

La politique suivante autorise l'accès aux CloudFormation actions liées à l'analyse des ressources du générateur iAC et à la gestion des modèles. La première instruction accorde les autorisations nécessaires pour décrire, répertorier et lancer des analyses de ressources. Elle permet également d’accéder à des autorisations supplémentaires requises (`cloudformation:GetResource`, `cloudformation:ListResources` et `cloudformation:ListTypes`) qui permettent au générateur IaC de récupérer des informations sur les ressources et les types de ressources disponibles. La deuxième instruction accorde toutes les autorisations nécessaires pour créer, supprimer, décrire, répertorier et mettre à jour les modèles générés.

Vous devez également accorder des autorisations de lecture pour les AWS services cibles à toute personne qui analysera les ressources avec le générateur IaC. Pour de plus amples informations, veuillez consulter [Autorisations IAM requises pour l’analyse des ressources](generate-IaC.md#iac-generator-permissions).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[
        {
            "Sid":"ResourceScanningOperations",
            "Effect":"Allow",
            "Action":[
                "cloudformation:DescribeResourceScan",
                "cloudformation:GetResource",
                "cloudformation:ListResources",
                "cloudformation:ListResourceScanRelatedResources",
                "cloudformation:ListResourceScanResources",
                "cloudformation:ListResourceScans",
                "cloudformation:ListTypes",
                "cloudformation:StartResourceScan"
            ],
            "Resource":"*"
        },
        {
            "Sid":"TemplateGeneration",
            "Effect":"Allow",
            "Action":[
                "cloudformation:CreateGeneratedTemplate",
                "cloudformation:DeleteGeneratedTemplate",
                "cloudformation:DescribeGeneratedTemplate",
                "cloudformation:GetResource",
                "cloudformation:GetGeneratedTemplate",
                "cloudformation:ListGeneratedTemplates",
                "cloudformation:UpdateGeneratedTemplate"
            ],
            "Resource":"*"
        }
    ]
}
```

------

# AWS politiques gérées pour AWS CloudFormation
<a name="security-iam-awsmanpol"></a>

Une politique AWS gérée est une politique autonome créée et administrée par AWS. AWS les politiques gérées sont conçues pour fournir des autorisations pour de nombreux cas d'utilisation courants afin que vous puissiez commencer à attribuer des autorisations aux utilisateurs, aux groupes et aux rôles.

N'oubliez pas que les politiques AWS gérées peuvent ne pas accorder d'autorisations de moindre privilège pour vos cas d'utilisation spécifiques, car elles sont accessibles à tous les AWS clients. Nous vous recommandons de réduire encore les autorisations en définissant des [politiques gérées par le client](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies) qui sont propres à vos cas d’utilisation.

Vous ne pouvez pas modifier les autorisations définies dans les politiques AWS gérées. Si les autorisations définies dans une politique AWS gérée sont AWS mises à jour, la mise à jour affecte toutes les identités principales (utilisateurs, groupes et rôles) auxquelles la politique est attachée. AWS est le plus susceptible de mettre à jour une politique AWS gérée lorsqu'un nouveau AWS service est lancé ou lorsque de nouvelles opérations d'API sont disponibles pour les services existants.

Pour plus d’informations, consultez [Politiques gérées par AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) dans le *Guide de l’utilisateur IAM*.

## AWS politique gérée : AWSCloud FormationFullAccess
<a name="security-iam-awsmanpol-AWSCloudFormationFullAccess"></a>

Vous pouvez associer `AWSCloudFormationFullAccess` à vos utilisateurs, groupes et rôles.

Cette politique accorde des autorisations qui permettent un accès complet aux CloudFormation actions et aux ressources.

**Détails de l’autorisation**

Cette politique inclut les autorisations suivantes.
+ `cloudformation`— Permet aux principaux d'effectuer toutes les CloudFormation actions sur toutes les ressources.

Pour consulter les autorisations associées à cette politique, consultez [AWSCloudFormationFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCloudFormationFullAccess.html)le *Guide de référence des politiques AWS gérées*.

## AWS politique gérée : AWSCloud FormationReadOnlyAccess
<a name="security-iam-awsmanpol-AWSCloudFormationReadOnlyAccess"></a>

Vous pouvez associer `AWSCloudFormationReadOnlyAccess` à vos utilisateurs, groupes et rôles.

Cette politique accorde des autorisations permettant un accès en lecture seule aux CloudFormation ressources et aux actions.

**Détails de l’autorisation**

Cette politique inclut les autorisations suivantes.
+ `cloudformation`— Permet aux principaux d'effectuer des CloudFormation actions en lecture seule, telles que la description des piles, la liste des ressources et l'affichage des modèles, mais n'autorise pas la création, la mise à jour ou la suppression de piles.

Pour consulter les autorisations associées à cette politique, consultez [AWSCloudFormationReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCloudFormationReadOnlyAccess.html)le *Guide de référence des politiques AWS gérées*.

## CloudFormation mises à jour des politiques AWS gérées
<a name="security-iam-awsmanpol-updates"></a>

Consultez les détails des mises à jour des politiques AWS gérées CloudFormation depuis que ce service a commencé à suivre ces modifications. Pour recevoir des alertes automatiques concernant les modifications apportées à cette page, abonnez-vous au flux RSS sur la page Historique du CloudFormation document.


| Modifier | Description | Date | 
| --- | --- | --- | 
|  [AWSCloudFormationReadOnlyAccess](#security-iam-awsmanpol-AWSCloudFormationReadOnlyAccess) – Mise à jour d’une stratégie existante  |  CloudFormation a ajouté de nouvelles autorisations pour autoriser `cloudformation:BatchDescribe*` les actions pour les opérations de description par lots.  | 30 janvier 2026 | 
|  [AWSCloudFormationReadOnlyAccess](#security-iam-awsmanpol-AWSCloudFormationReadOnlyAccess) : mise à jour d’une politique existante  |  CloudFormation a ajouté de nouvelles autorisations pour autoriser les `cloudformation:Detect*` actions relatives aux capacités de détection de la dérive des piles.  | 13 novembre 2019 | 
|  [AWSCloudFormationReadOnlyAccess](#security-iam-awsmanpol-AWSCloudFormationReadOnlyAccess) : mise à jour d’une politique existante  |  CloudFormation a ajouté de nouvelles autorisations pour autoriser `cloudformation:EstimateTemplateCost``cloudformation:Get*`, et `cloudformation:ValidateTemplate` des actions.  | 2 novembre 2017 | 
|  [AWSCloudFormationFullAccess](#security-iam-awsmanpol-AWSCloudFormationFullAccess) : nouvelle politique  |  CloudFormation a ajouté une nouvelle politique AWS gérée qui fournit un accès complet aux CloudFormation actions et aux ressources.  | 26 juillet 2019 | 
|  [AWSCloudFormationReadOnlyAccess](#security-iam-awsmanpol-AWSCloudFormationReadOnlyAccess) : mise à jour d’une politique existante  |  CloudFormation ajout de nouvelles autorisations `cloudformation:DetectStackDrift` et d'`cloudformation:DetectStackResourceDrift`actions pour la détection de la dérive des piles.  | 6 février 2019 | 
|  [AWSCloudFormationReadOnlyAccess](#security-iam-awsmanpol-AWSCloudFormationReadOnlyAccess) : nouvelle politique  |  CloudFormation a ajouté une nouvelle politique AWS gérée qui fournit un accès en lecture seule aux CloudFormation actions et aux ressources.  | 6 février 2015 | 
|  CloudFormation a commencé à suivre les modifications  |  CloudFormation a commencé à suivre les modifications apportées AWS à ses politiques gérées.  | 6 février 2015 | 

# CloudFormation rôle de service
<a name="using-iam-servicerole"></a>

Un *rôle de service* est un rôle Gestion des identités et des accès AWS (IAM) qui permet CloudFormation d'appeler les ressources d'une pile en votre nom. Vous pouvez spécifier un rôle IAM qui permet à CloudFormation de créer, de mettre à jour ou de supprimer les ressources d'une pile. Par défaut, CloudFormation utilise une session temporaire générée à partir de vos informations d'identification utilisateur pour les opérations de stack. Si vous spécifiez un rôle de service, utilisez CloudFormation les informations d'identification de ce rôle.

Utilisez un rôle de service pour spécifier explicitement les actions qui CloudFormation peuvent être effectuées, qui ne sont pas toujours les mêmes que celles que vous ou les autres utilisateurs pouvez effectuer. Par exemple, vous pouvez avoir des privilèges administratifs, mais vous pouvez limiter CloudFormation l'accès aux seules EC2 actions Amazon.

Le rôle de service et sa politique d'autorisation sont créés à partir du service IAM. Pour plus d'informations sur la création d'un rôle de service, voir [Créer un rôle pour déléguer des autorisations à un AWS service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) dans le *Guide de l'utilisateur IAM*. Spécifiez CloudFormation (`cloudformation.amazonaws.com`) en tant que service habilité à assumer le rôle.

Pour associer un rôle de service à une pile, spécifiez le rôle au moment où vous créez la pile. Pour en savoir plus, consultez [Configuration des options de pile](cfn-console-create-stack.md#configure-stack-options). Vous pouvez également modifier le rôle de service lorsque vous mettez à jour la pile dans la console ou [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeleteStack.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeleteStack.html) la pile via l’API. Avant de spécifier un rôle de service, vérifiez que vous êtes autorisé à le transmettre (`iam:PassRole`). L'autorisation `iam:PassRole` indique les rôles que vous pouvez utiliser. Pour plus d'informations, consultez la section [Accorder à un utilisateur l'autorisation de transmettre un rôle à un AWS service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) dans le *Guide de l'utilisateur IAM*.

**Important**  
Lorsque vous spécifiez un rôle de service, utilisez CloudFormation toujours ce rôle pour toutes les opérations effectuées sur cette pile. Un rôle de service attaché à une pile ne peut pas être supprimé après la création de la pile. Les autres utilisateurs disposant des autorisations nécessaires pour effectuer des opérations sur cette pile peuvent utiliser ce rôle, qu’ils disposent ou non de l’autorisation `iam:PassRole`. Si le rôle comprend des autorisations que l'utilisateur ne devrait pas avoir, vous avez peut-être remonté accidentellement ses autorisations. Vérifiez que le rôle accorde le privilège le plus faible. Pour en savoir plus, consultez [Appliquer les autorisations de moindre privilège](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) dans le *Guide de l’utilisateur IAM*.

# Prévention du problème de l’adjoint confus entre services
<a name="cross-service-confused-deputy-prevention"></a>

Le problème de député confus est un problème de sécurité dans lequel une entité qui n’est pas autorisée à effectuer une action peut contraindre une entité plus privilégiée à le faire. En AWS, l'usurpation d'identité interservices peut entraîner un problème de confusion chez les adjoints. L’usurpation d’identité entre services peut se produire lorsqu’un service (le *service appelant*) appelle un autre service (le *service appelé*). Le service appelant peut être manipulé pour utiliser ses autorisations afin d'agir sur les ressources d'un autre client de sorte qu'il n'y aurait pas accès autrement. Pour éviter cela, AWS fournit des outils qui vous aident à protéger vos données pour tous les services auprès des principaux fournisseurs de services qui ont obtenu l'accès aux ressources de votre compte.

Nous recommandons d'utiliser les clés de contexte de condition [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)globale [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)et les clés contextuelles dans les politiques de ressources afin de limiter les autorisations qui CloudFormation accordent un autre service à une ressource spécifique, telle qu'une CloudFormation extension. Utilisez `aws:SourceArn` si vous souhaitez qu’une seule ressource soit associée à l’accès entre services. Utilisez `aws:SourceAccount` si vous souhaitez autoriser l’association d’une ressource de ce compte à l’utilisation interservices.

Assurez-vous que la valeur de `aws:SourceArn` est un ARN de la ressource qui CloudFormation stocke.

Le moyen le plus efficace de se protéger contre le problème de député confus consiste à utiliser la clé de contexte de condition globale `aws:SourceArn` avec l’ARN complet de la ressource. Si vous ne connaissez pas l’ARN complet de la ressource ou si vous spécifiez plusieurs ressources, utilisez la clé de contexte de condition globale `aws:SourceArn` avec des caractères génériques (`*`) pour les parties inconnues de l’ARN. Par exemple, `arn:aws:cloudformation:*:123456789012:*`.

Si la valeur `aws:SourceArn` ne contient pas l’ID de compte, vous devez utiliser les deux clés de contexte globales pour limiter les autorisations.

L'exemple suivant montre comment vous pouvez utiliser les touches de contexte de condition `aws:SourceAccount` globale `aws:SourceArn` et globale CloudFormation pour éviter le problème de confusion des adjoints.

## Exemple de politique d’approbation utilisant les clés de condition `aws:SourceArn` et `aws:SourceAccount`
<a name="cross-service-confused-deputy-prevention-example"></a>

Pour les services de CloudFormation registre, appelle AWS Security Token Service (AWS STS) pour assumer un rôle de service dans votre compte. Ce rôle est configuré pour `ExecutionRoleArn` dans l’opération [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html) et `LogRoleArn` est défini dans l’opération [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_LoggingConfig.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_LoggingConfig.html). Pour de plus amples informations, veuillez consulter [Configurer un rôle d’exécution avec des autorisations IAM et une politique de confiance pour l’accès public aux extensions](registry-public.md#registry-public-enable-execution-role).

Cet exemple de politique de confiance dans les rôles utilise des instructions de condition pour limiter la `AssumeRole` capacité du rôle de service aux seules actions portant sur l' CloudFormation extension spécifiée dans le compte spécifié. Les conditions `aws:SourceArn` et `aws:SourceAccount` sont évaluées indépendamment. Toute demande d'utilisation de la fonction du service doit répondre aux deux conditions.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "resources.cloudformation.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "123456789012"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:cloudformation:us-east-1:123456789012:type/resource/Organization-Service-Resource"
        }
      }
    }
  ]
}
```

------

## Informations supplémentaires
<a name="cross-service-confused-deputy-prevention-additional-information"></a>

Par exemple, les politiques qui utilisent les clés de contexte de condition `aws:SourceAccount` globale `aws:SourceArn` et les clés de contexte pour un rôle de service utilisé par StackSets, voir[Configurez des clés globales pour atténuer les problèmes de député confus](stacksets-prereqs-self-managed.md#confused-deputy-mitigation).

Pour plus d’informations, consultez [Modification d’une politique d’approbation de rôle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-trust-policy.html) dans le *Guide de l’utilisateur IAM*.

# Transfert des demandes de sessions d’accès (FAS) et évaluation des autorisations
<a name="fas-requests-and-permission-evaluation"></a>

Lors de la création, de la mise à jour et de la suppression de CloudFormation piles, les utilisateurs peuvent éventuellement spécifier un ARN de rôle IAM. Si aucun rôle n'est fourni, CloudFormation utilise son mécanisme de service par défaut pour interagir avec d'autres AWS services. Dans ce scénario, l’appelant doit disposer des autorisations nécessaires pour les ressources gérées. Par ailleurs, lorsqu'un utilisateur fournit son propre rôle IAM, il CloudFormation assume ce rôle pour effectuer des interactions de service en son nom.

Que l'utilisateur fournisse ou non un rôle IAM, il CloudFormation génère un nouveau jeton FAS délimité pour chaque opération sur les ressources. Par conséquent, les [clés de condition liées au FAS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html#access_fas_policy_conditions), y compris `aws:ViaAWSService`, sont renseignées dans les deux scénarios.

L'utilisation du FAS influe sur la manière dont les politiques IAM sont évaluées pendant CloudFormation les opérations. Lors de la création d’une pile à l’aide d’un modèle qui inclut des ressources affectées par des clés de condition liées au FAS, des refus d’autorisation peuvent se produire.

**Exemple de politique IAM**  
Tenez compte de la politique IAM suivante. `Statement2`empêchera systématiquement la création d'une `AWS::KMS::Key` ressource dans CloudFormation. La restriction sera appliquée de manière cohérente, qu’un rôle IAM soit fourni ou non pendant l’opération de pile. Cela est dû au fait que la clé de condition `aws:ViaAWSService` est toujours définie sur `true` en raison de l’utilisation du FAS. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Statement1",
            "Effect": "Allow",
            "Action": [
                "kms:CreateKey"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Sid": "Statement2",
            "Effect": "Deny",
            "Action": [
                "kms:CreateKey"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "Bool": {
                    "aws:ViaAWSService": "true"
                }
            }
        }
    ]
}
```

------

**Exemple de modèle de pile**  
Par exemple, lorsqu’un utilisateur crée une pile à l’aide du modèle suivant, `aws:ViaAWSService` est défini sur `true`, et les autorisations de rôle seront remplacées par la politique FAS. La création de la pile sera affectée par `Statement2` de la politique IAM, qui refuse l’action `CreateKey`. Cela entraîne une erreur de refus d’autorisation. 

```
Resources:
  myPrimaryKey:
    Type: AWS::KMS::Key
    Properties:
      Description: An example multi-Region primary key
      KeyPolicy:
        Version: '2012-10-17'
        Id: key-default-1
        Statement:
          - Sid: Enable IAM User Permissions
            Effect: Allow
            Principal:
              AWS: !Join
                - ''
                - - 'arn:aws:iam::'
                  - !Ref AWS::AccountId
                  - ':root'
            Action: kms:*
            Resource: '*'
```

Pour plus d’informations sur le FAS, consultez la section [Transférer les sessions d’accès](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html) dans le *Guide de l’utilisateur IAM*.

**Note**  
La plupart des ressources adoptent ce comportement. Toutefois, si vous rencontrez un succès ou un échec inattendu lors de la création, de la mise à jour ou de la suppression d’une ressource, et que votre politique IAM inclut des clés de condition liées à FAS, il est probable que la ressource en question appartienne à un petit sous-ensemble de ressources qui ne suivent pas ce modèle standard.

# Journalisation des appels d' CloudFormation API avec AWS CloudTrail
<a name="cfn-api-logging-cloudtrail"></a>

CloudFormation est intégré à AWS CloudTrail un service qui fournit un enregistrement des actions entreprises par un utilisateur, un rôle ou un AWS service dans CloudFormation. CloudTrail capture tous les appels d'API CloudFormation sous forme d'événements, y compris les appels depuis la CloudFormation console et les appels de code vers le CloudFormation APIs. Si vous créez un suivi, vous pouvez activer la diffusion continue d' CloudTrail événements vers un compartiment Amazon S3, y compris les événements pour CloudFormation. Si vous ne configurez pas de suivi, vous pouvez toujours consulter les événements les plus récents dans la CloudTrail console dans **Historique des événements**. À l'aide des informations collectées par CloudTrail, vous pouvez déterminer la demande qui a été faite CloudFormation, l'adresse IP à partir de laquelle la demande a été faite, qui a fait la demande, quand elle a été faite et des détails supplémentaires.

Pour en savoir plus CloudTrail, consultez le [guide de AWS CloudTrail l'utilisateur](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).

**Topics**
+ [CloudFormation informations dans CloudTrail](#cloudformation_info_in_cloudtrail)
+ [Comprendre les entrées du fichier CloudFormation journal](#understanding_cloudformation_entries)

## CloudFormation informations dans CloudTrail
<a name="cloudformation_info_in_cloudtrail"></a>

CloudTrail est activé sur votre AWS compte lorsque vous le créez. Lorsqu'une activité se produit dans CloudFormation, cette activité est enregistrée dans un CloudTrail événement avec d'autres événements de AWS service dans **l'historique des événements**. Vous pouvez afficher, rechercher et télécharger les événements récents dans votre compte AWS . Pour plus d'informations, consultez la section [Affichage des événements avec l'historique des CloudTrail événements](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html).

Pour un enregistrement continu des événements de votre AWS compte, y compris des événements pour CloudFormation, créez un parcours. Un suivi permet CloudTrail de fournir des fichiers journaux à un compartiment Amazon S3. Par défaut, lorsque vous créez un journal de suivi dans la console, il s’applique à toutes les régions . Le journal enregistre les événements de toutes les régions de la AWS partition et transmet les fichiers journaux au compartiment Amazon S3 que vous spécifiez. En outre, vous pouvez configurer d'autres AWS services pour analyser plus en détail les données d'événements collectées dans les CloudTrail journaux et agir en conséquence. Pour en savoir plus, consultez :
+ [Présentation de la création d’un journal d’activité](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail services et intégrations pris en charge](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [Configuration des notifications Amazon SNS pour CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [Réception de fichiers CloudTrail journaux de plusieurs régions](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) et [réception de fichiers CloudTrail journaux de plusieurs comptes](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

Toutes les CloudFormation actions sont enregistrées CloudTrail et documentées dans la [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Operations.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Operations.html). Par exemple, les appels aux `ListStacks` sections `CreateStack``DeleteStack`, et génèrent des entrées dans les fichiers CloudTrail journaux.

Chaque événement ou entrée de journal contient des informations sur la personne ayant initié la demande. Les informations relatives à l’identité permettent de déterminer les éléments suivants :
+ Si la demande a été effectuée avec des informations d’identification d’utilisateur root ou IAM.
+ Si la demande a été effectuée avec des informations d’identification de sécurité temporaires pour un rôle ou un utilisateur fédéré.
+ Si la demande a été faite par un autre AWS service.

Pour de plus amples informations, veuillez consulter l'[élément userIdentity CloudTrail ](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

## Comprendre les entrées du fichier CloudFormation journal
<a name="understanding_cloudformation_entries"></a>

Un suivi est une configuration qui permet de transmettre des événements sous forme de fichiers journaux à un compartiment Amazon S3 que vous spécifiez. CloudTrail les fichiers journaux contiennent une ou plusieurs entrées de journal. Un événement représente une demande unique provenant de n'importe quelle source et inclut des informations sur l'opération demandée, la date et l'heure de l'opération, les paramètres de la demande, etc. CloudTrail les fichiers journaux ne constituent pas une trace ordonnée des appels d'API publics, ils n'apparaissent donc pas dans un ordre spécifique.

L'exemple suivant montre une entrée de CloudTrail journal illustrant l'`CreateStack`opération. Cette opération a été effectuée par un utilisateur IAM prénommé Alice.

**Note**  
Seuls les noms de clé des paramètre d'entrée sont consignés. Les valeurs des paramètres ne sont pas consignées.

```
{
  "eventVersion": "1.01",
  "userIdentity": {
    "type": "IAMUser",
    "principalId": "AIDAABCDEFGHIJKLNMOPQ",
    "arn": "arn:aws:iam::012345678910:user/Alice",
    "accountId": "012345678910",
    "accessKeyId": "AKIDEXAMPLE",
    "userName": "Alice"
  },
  "eventTime": "2014-03-24T21:02:43Z",
  "eventSource": "cloudformation.amazonaws.com",
  "eventName": "CreateStack",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "127.0.0.1",
  "userAgent": "aws-cli/1.2.11 Python/2.7.4 Linux/2.6.18-164.el5",
  "requestParameters": {
    "templateURL": "templateURL",
    "tags": [
      {
        "key": "test",
        "value": "tag"
      }
    ],
    "stackName": "my-test-stack",
    "disableRollback": true,
    "parameters": [
      {
        "parameterKey": "password"
      },
      {
        "parameterKey": "securitygroup"
      }
    ]
  },
  "responseElements": {
    "stackId": "arn:aws:cloudformation:us-east-1:012345678910:stack/my-test-stack/a38e6a60-b397-11e3-b0fc-08002755629e"
  },
  "requestID": "9f960720-b397-11e3-bb75-a5b75389b02d",
  "eventID": "9bf6cfb8-83e1-4589-9a70-b971e727099b"
}
```

L’exemple suivant montre qu’Alice a appelé l’opération `UpdateStack` au niveau de la pile `my-test-stack` :

```
{
  "eventVersion": "1.01",
  "userIdentity": {
    "type": "IAMUser",
    "principalId": "AIDAABCDEFGHIJKLNMOPQ",
    "arn": "arn:aws:iam::012345678910:user/Alice",
    "accountId": "012345678910",
    "accessKeyId": "AKIDEXAMPLE",
    "userName": "Alice"
  },
  "eventTime": "2014-03-24T21:04:29Z",
  "eventSource": "cloudformation.amazonaws.com",
  "eventName": "UpdateStack",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "127.0.0.1",
  "userAgent": "aws-cli/1.2.11 Python/2.7.4 Linux/2.6.18-164.el5",
  "requestParameters": {
    "templateURL": "templateURL",
    "parameters": [
      {
        "parameterKey": "password"
      },
      {
        "parameterKey": "securitygroup"
      }
    ],
    "stackName": "my-test-stack"
  },
  "responseElements": {
    "stackId": "arn:aws:cloudformation:us-east-1:012345678910:stack/my-test-stack/a38e6a60-b397-11e3-b0fc-08002755629e"
  },
  "requestID": "def0bf5a-b397-11e3-bb75-a5b75389b02d",
  "eventID": "637707ce-e4a3-4af1-8edc-16e37e851b17"
}
```

L'exemple suivant montre qu'Alice a appelé l'opération `ListStacks`.

```
{
  "eventVersion": "1.01",
  "userIdentity": {
    "type": "IAMUser",
    "principalId": "AIDAABCDEFGHIJKLNMOPQ",
    "arn": "arn:aws:iam::012345678910:user/Alice",
    "accountId": "012345678910",
    "accessKeyId": "AKIDEXAMPLE",
    "userName": "Alice"
  },
  "eventTime": "2014-03-24T21:03:16Z",
  "eventSource": "cloudformation.amazonaws.com",
  "eventName": "ListStacks",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "127.0.0.1",
  "userAgent": "aws-cli/1.2.11 Python/2.7.4 Linux/2.6.18-164.el5",
  "requestParameters": null,
  "responseElements": null,
  "requestID": "b7d351d7-b397-11e3-bb75-a5b75389b02d",
  "eventID": "918206d0-7281-4629-b778-b91eb0d83ce5"
}
```

L’exemple suivant montre qu’Alice a appelé l’opération `DescribeStacks` au niveau de la pile `my-test-stack`.

```
{
  "eventVersion": "1.01",
  "userIdentity": {
    "type": "IAMUser",
    "principalId": "AIDAABCDEFGHIJKLNMOPQ",
    "arn": "arn:aws:iam::012345678910:user/Alice",
    "accountId": "012345678910",
    "accessKeyId": "AKIDEXAMPLE",
    "userName": "Alice"
  },
  "eventTime": "2014-03-24T21:06:15Z",
  "eventSource": "cloudformation.amazonaws.com",
  "eventName": "DescribeStacks",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "127.0.0.1",
  "userAgent": "aws-cli/1.2.11 Python/2.7.4 Linux/2.6.18-164.el5",
  "requestParameters": {
    "stackName": "my-test-stack"
  },
  "responseElements": null,
  "requestID": "224f2586-b398-11e3-bb75-a5b75389b02d",
  "eventID": "9e5b2fc9-1ba8-409b-9c13-587c2ea940e2"
}
```

L’exemple suivant montre qu’Alice a appelé l’opération `DeleteStack` au niveau de la pile `my-test-stack`.

```
{
  "eventVersion": "1.01",
  "userIdentity": {
    "type": "IAMUser",
    "principalId": "AIDAABCDEFGHIJKLNMOPQ",
    "arn": "arn:aws:iam::012345678910:user/Alice",
    "accountId": "012345678910",
    "accessKeyId": "AKIDEXAMPLE",
    "userName": "Alice"
  },
  "eventTime": "2014-03-24T21:07:15Z",
  "eventSource": "cloudformation.amazonaws.com",
  "eventName": "DeleteStack",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "127.0.0.1",
  "userAgent": "aws-cli/1.2.11 Python/2.7.4 Linux/2.6.18-164.el5",
  "requestParameters": {
    "stackName": "my-test-stack"
  },
  "responseElements": null,
  "requestID": "42dae739-b398-11e3-bb75-a5b75389b02d",
  "eventID": "4965eb38-5705-4942-bb7f-20ebe79aa9aa"
}
```

# Sécurité de l'infrastructure dans CloudFormation
<a name="infrastructure-security"></a>

En tant que service géré, AWS CloudFormation il est protégé par la sécurité du réseau AWS mondial. Pour plus d'informations sur les services AWS de sécurité et sur la manière dont AWS l'infrastructure est protégée, consultez la section [Sécurité du AWS cloud](https://aws.amazon.com/security/). Pour concevoir votre AWS environnement en utilisant les meilleures pratiques en matière de sécurité de l'infrastructure, consultez la section [Protection de l'infrastructure](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html) dans le cadre * AWS bien architecturé du pilier de sécurité*.

Vous utilisez des appels d'API AWS publiés pour accéder CloudFormation via le réseau. Les clients doivent prendre en charge les éléments suivants :
+ Protocole TLS (Transport Layer Security). Nous exigeons TLS 1.2 et recommandons TLS 1.3.
+ Ses suites de chiffrement PFS (Perfect Forward Secrecy) comme DHE (Ephemeral Diffie-Hellman) ou ECDHE (Elliptic Curve Ephemeral Diffie-Hellman). La plupart des systèmes modernes tels que Java 7 et les versions ultérieures prennent en charge ces modes.

Vous pouvez appeler ces opérations d'API depuis n'importe quel emplacement réseau, mais CloudFormation elles prennent en charge les politiques d'accès basées sur les ressources, qui peuvent inclure des restrictions basées sur l'adresse IP source. Vous pouvez également utiliser des CloudFormation politiques pour contrôler l'accès depuis des points de terminaison Amazon Virtual Private Cloud (Amazon VPC) spécifiques ou spécifiques. VPCs En fait, cela isole l'accès réseau à une CloudFormation ressource donnée uniquement du VPC spécifique au sein AWS du réseau.

# Résilience dans CloudFormation
<a name="disaster-recovery-resiliency"></a>

L'infrastructure AWS mondiale est construite autour des AWS régions et des zones de disponibilité. AWS Les régions fournissent plusieurs zones de disponibilité physiquement séparées et isolées, connectées par un réseau à faible latence, à haut débit et hautement redondant. Avec les zones de disponibilité, vous pouvez concevoir et exploiter des applications et des bases de données qui basculent automatiquement d’une zone à l’autre sans interruption. Les zones de disponibilité sont davantage disponibles, tolérantes aux pannes et ont une plus grande capacité de mise à l’échelle que les infrastructures traditionnelles à un ou plusieurs centres de données. 

Pour plus d'informations sur AWS les régions et les zones de disponibilité, consultez la section [Infrastructure AWS mondiale](https://aws.amazon.com/about-aws/global-infrastructure/).

# Validation de conformité pour CloudFormation
<a name="cloudformation-compliance"></a>

Pour savoir si un [programme Services AWS de conformité Service AWS s'inscrit dans le champ d'application de programmes de conformité](https://aws.amazon.com/compliance/services-in-scope/) spécifiques, consultez Services AWS la section de conformité et sélectionnez le programme de conformité qui vous intéresse. Pour des informations générales, voir Programmes de [AWS conformité Programmes AWS](https://aws.amazon.com/compliance/programs/) de .

Vous pouvez télécharger des rapports d'audit tiers à l'aide de AWS Artifact. Pour plus d'informations, voir [Téléchargement de rapports dans AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html) .

Votre responsabilité en matière de conformité lors de l'utilisation Services AWS est déterminée par la sensibilité de vos données, les objectifs de conformité de votre entreprise et les lois et réglementations applicables. Pour plus d'informations sur votre responsabilité en matière de conformité lors de l'utilisation Services AWS, consultez [AWS la documentation de sécurité](https://docs.aws.amazon.com/security/).

# Analyse de configuration et de vulnérabilité dans CloudFormation
<a name="vulnerability-analysis-and-management"></a>

La configuration et les contrôles informatiques sont une responsabilité partagée entre vous AWS et vous, notre client. Pour plus d'informations, consultez le [modèle de responsabilité AWS partagée](https://aws.amazon.com/compliance/shared-responsibility-model/).

# Bonnes pratiques de sécurité pour CloudFormation
<a name="security-best-practices"></a>

CloudFormation fournit un certain nombre de fonctionnalités de sécurité à prendre en compte lors de l'élaboration et de la mise en œuvre de vos propres politiques de sécurité. Les bonnes pratiques suivantes doivent être considérées comme des instructions générales et ne représentent pas une solution de sécurité complète. Étant donné que ces bonnes pratiques peuvent ne pas être appropriées ou suffisantes pour votre environnement, considérez-les comme des remarques utiles plutôt que comme des recommandations.

**Topics**
+ [Utilisation du contrôle d'accès IAM](#use-iam-to-control-access)
+ [N'incorporez pas d'informations d'identification dans vos modèles](#creds)
+ [AWS CloudTrail À utiliser pour enregistrer CloudFormation les appels](#cloudtrail)

## Utilisation du contrôle d'accès IAM
<a name="use-iam-to-control-access"></a>

IAM est un AWS service que vous pouvez utiliser pour gérer les utilisateurs et leurs autorisations. AWS Vous pouvez utiliser IAM with CloudFormation pour spécifier les CloudFormation actions que les utilisateurs peuvent effectuer, telles que l'affichage des modèles de piles, la création de piles ou la suppression de piles. En outre, toute personne gérant des CloudFormation piles aura besoin d'autorisations pour accéder aux ressources contenues dans ces piles. Par exemple, si les utilisateurs souhaitent lancer CloudFormation , mettre à jour ou résilier des EC2 instances Amazon, ils doivent être autorisés à lancer les EC2 actions Amazon pertinentes.

Dans la plupart des cas, les utilisateurs ont besoin d'un accès complet pour gérer toutes les ressources dans un modèle. CloudFormation effectue des appels pour créer, modifier et supprimer ces ressources en leur nom. Pour séparer les autorisations entre un utilisateur et le CloudFormation service, utilisez un rôle de service. CloudFormation utilise la politique du rôle de service pour effectuer des appels au lieu de la politique de l'utilisateur. Pour de plus amples informations, veuillez consulter [CloudFormation rôle de service](using-iam-servicerole.md).

## N'incorporez pas d'informations d'identification dans vos modèles
<a name="creds"></a>

Plutôt que d'intégrer des informations sensibles dans vos CloudFormation modèles, nous vous recommandons d'utiliser des *références dynamiques* dans votre modèle de pile.

Les références dynamiques constituent un moyen compact et puissant de référencer des valeurs externes stockées et gérées dans d'autres services, tels que le magasin de paramètres de AWS Systems Manager ou le gestionnaire de AWS secrets. Lorsque vous utilisez une référence dynamique, CloudFormation récupère la valeur de la référence spécifiée lorsque cela est nécessaire lors des opérations de pile et de modification des ensembles de modifications, et transmet la valeur à la ressource appropriée. Cependant, CloudFormation ne stocke jamais la valeur de référence réelle. Pour de plus amples informations, veuillez consulter [Obtenir les valeurs stockées dans d’autres services à l’aide de références dynamiques](dynamic-references.md).

[AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) vous aider à chiffrer, stocker et récupérer en toute sécurité des informations d'identification pour vos bases de données et d'autres services. [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) offre un stockage sécurisé et hiérarchique de la gestion des données de configuration. 

Pour plus d'informations sur la définition des paramètres de modèle, consultez [CloudFormation Parameterssyntaxe du modèle](parameters-section-structure.md).

## AWS CloudTrail À utiliser pour enregistrer CloudFormation les appels
<a name="cloudtrail"></a>

AWS CloudTrail suit toute personne effectuant des appels d' CloudFormation API dans votre Compte AWS. Les appels d'API sont enregistrés chaque fois que quelqu'un utilise l' CloudFormation API, la CloudFormation console, une console principale ou des CloudFormation AWS CLI commandes. Activez la journalisation et spécifiez un compartiment Amazon S3 pour y stocker les journaux. De cette façon, le cas échéant, vous pourrez déterminer qui a effectué quel appel CloudFormation dans votre compte. Pour de plus amples informations, veuillez consulter [Journalisation des appels d' CloudFormation API avec AWS CloudTrail](cfn-api-logging-cloudtrail.md).

# Accès CloudFormation via un point de terminaison d'interface (AWS PrivateLink)
<a name="vpc-interface-endpoints"></a>

Vous pouvez l'utiliser AWS PrivateLink pour créer une connexion privée entre votre VPC et. CloudFormation Vous pouvez y accéder CloudFormation comme s'il se trouvait dans votre VPC, sans utiliser de passerelle Internet, de périphérique NAT, de connexion VPN ou Direct Connect de connexion. Les instances de votre VPC n'ont pas besoin d'adresses IP publiques pour y accéder. CloudFormation

Vous établissez cette connexion privée en créant un *point de terminaison d’interface* optimisé par AWS PrivateLink. Nous créons une interface réseau de point de terminaison dans chaque sous-réseau que vous activez pour le point de terminaison d’interface. Il s'agit d'interfaces réseau gérées par le demandeur qui servent de point d'entrée pour le trafic destiné à CloudFormation. 

CloudFormation prend en charge les appels à toutes ses actions d'API via le point de terminaison de l'interface.

## Considérations relatives aux points de CloudFormation terminaison VPC
<a name="vpc-endpoint-considerations"></a>

*Avant de configurer un point de terminaison d'interface, assurez-vous d'abord de remplir les conditions requises dans la rubrique [Accès à un AWS service à l'aide d'un point de terminaison VPC d'interface](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html) du Guide.AWS PrivateLink *

Les conditions préalables et considérations supplémentaires suivantes s'appliquent lors de la configuration d'un point de terminaison d'interface pour CloudFormation :
+ Si des ressources au sein de votre VPC doivent répondre à une demande de ressources personnalisée ou à une condition d'attente, assurez-vous qu'elles ont accès aux compartiments Amazon CloudFormation S3 spécifiques requis. CloudFormation dispose de compartiments S3 dans chaque région pour surveiller les réponses à une demande de [ressource personnalisée](template-custom-resources.md) ou à une [condition d'attente](using-cfn-waitcondition.md). Si un modèle inclut des ressources personnalisées ou des conditions d'attente dans un VPC, la politique de point de terminaison du VPC doit permettre aux utilisateurs d'envoyer des réponses aux compartiments suivants :
  + Pour les ressources personnalisées, autorisez le trafic vers le compartiment `cloudformation-custom-resource-response-region`. Lorsque vous utilisez des ressources personnalisées, Région AWS les noms ne contiennent pas de tirets. Par exemple, `uswest2`.
  + Pour les conditions d'attente, autorisez le trafic vers le compartiment `cloudformation-waitcondition-region`. Lorsque des conditions d'attente sont utilisées, Région AWS les noms contiennent des tirets. Par exemple, `us-west-2`.

  Si la politique du point de terminaison bloque le trafic vers ces compartiments, CloudFormation ne reçoit pas de réponses et que l'opération de stack échoue. Par exemple, si une ressource d'un VPC situé dans la région `us-west-2` doit répondre à une condition d'attente, celle-ci doit être en mesure d'envoyer une réponse au compartiment `cloudformation-waitcondition-us-west-2`.

  Pour une liste des Régions AWS endroits CloudFormation actuellement disponibles, consultez la page des [CloudFormation points de terminaison et des quotas](https://docs.aws.amazon.com/general/latest/gr/cfn.html) dans le *Référence générale d'Amazon Web Services*.
+ Les points de terminaison VPC ne prennent actuellement pas en charge les demandes interrégionales. Assurez-vous de créer votre point de terminaison dans la même région que celle à laquelle vous prévoyez d'envoyer vos appels d'API. CloudFormation
+ Les points de terminaison d'un VPC prennent uniquement en charge le DNS fourni par Amazon via Route 53. Si vous souhaitez utiliser votre propre DNS, vous pouvez utiliser le transfert DNS conditionnel. Pour plus d’informations, consultez [Ensembles d’options DHCP dans Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html) du Guide de l’utilisateur Amazon VPC.
+ Le groupe de sécurité attaché au point de terminaison d'un VPC doit autoriser les connexions entrantes sur le port 443 à partir du sous-réseau privé du VPC.

## Création d'un point de terminaison VPC d'interface pour CloudFormation
<a name="vpc-endpoint-create"></a>

Vous pouvez créer un point de terminaison VPC pour CloudFormation utiliser la console Amazon VPC ou le (). AWS Command Line Interface AWS CLI Pour plus d’informations, consultez [Créer un point de terminaison d’un VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#create-interface-endpoint-aws) dans le *Guide AWS PrivateLink *.

Créez un point de terminaison d'interface pour CloudFormation utiliser le nom de service suivant :
+ **com.amazonaws. *region*.cloudformation** — Crée un point de terminaison pour les opérations d' CloudFormation API.

Si vous activez le DNS privé pour le point de terminaison de l'interface, vous pouvez envoyer des demandes d'API à CloudFormation l'aide de son nom DNS régional par défaut. Par exemple, `cloudformation.us-east-1.amazonaws.com`.

 Régions AWS Lorsque les points de terminaison spécifiques à FIPS sont pris en charge, vous pouvez également créer un point de terminaison d'interface CloudFormation utilisant le nom de service suivant :
+ **com.amazonaws. *region*.cloudformation-fips** — Crée un point de terminaison pour l' CloudFormation API conforme à la [norme fédérale de traitement de l'information](https://aws.amazon.com/compliance/fips/) (FIPS) 140-2.

Pour une liste complète des points de CloudFormation terminaison, consultez la section Points de [CloudFormation terminaison et quotas](https://docs.aws.amazon.com/general/latest/gr/cfn.html) dans le. *Référence générale d'Amazon Web Services*

## Création d'une politique de point de terminaison VPC pour CloudFormation
<a name="vpc-endpoint-policy"></a>

Une politique de point de terminaison est une ressource IAM que vous pouvez attacher à votre point de terminaison d’interface. La politique de point de terminaison par défaut autorise un accès complet CloudFormation via le point de terminaison de l'interface. Pour contrôler l'accès autorisé CloudFormation depuis votre VPC, associez une politique de point de terminaison personnalisée au point de terminaison de l'interface.

Une politique de point de terminaison spécifie les informations suivantes :
+ Les principaux qui peuvent effectuer des actions (Comptes AWS, utilisateurs IAM et rôles IAM).
+ Les actions qui peuvent être effectuées.
+ La ressource sur laquelle les actions peuvent être effectuées.

Pour plus d’informations, consultez [Contrôle de l’accès aux points de terminaison d’un VPC à l’aide de politiques de point de terminaison](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html) dans le *AWS PrivateLink *.

**Exemple : politique de point de terminaison VPC pour les actions CloudFormation**  
Voici un exemple de politique de point de terminaison pour CloudFormation. Lorsqu'elle est attachée à un point de terminaison, cette politique accorde l'accès aux CloudFormation actions répertoriées pour tous les principaux sur toutes les ressources. L'exemple suivant refuse à tous les utilisateurs l'autorisation de créer des piles via le point de terminaison VPC et autorise un accès complet à toutes les autres actions du service. CloudFormation 

```
{
  "Statement": [
    {
      "Action": "cloudformation:*", 
      "Effect": "Allow", 
      "Principal": "*", 
      "Resource": "*"
    },
    {
      "Action": "cloudformation:CreateStack", 
      "Effect": "Deny", 
      "Principal": "*", 
      "Resource": "*"
    }
  ]
}
```