

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.

# Exemples de politiques basées sur l'identité pour Amazon CloudFront
<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 CloudFront. 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.

Pour apprendre à créer une politique basée sur l’identité IAM à l’aide de ces exemples de documents de politique JSON, consultez [Création de politiques IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) dans le *Guide de l’utilisateur IAM*.

Pour plus de détails sur les actions et les types de ressources définis par CloudFront, y compris le format de ARNs pour chacun des types de ressources, consultez la section [Actions, ressources et clés de condition pour Amazon CloudFront](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudfront.html) dans le *Service Authorization Reference*.

**Topics**
+ [Bonnes pratiques en matière de politiques](#security_iam_service-with-iam-policy-best-practices)
+ [Autorisation accordée aux utilisateurs pour afficher leurs propres autorisations](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Autorisations d'accès CloudFront par programmation](#security_iam_id-based-policy-examples-programmatic-access-all)
+ [Autorisations requises pour utiliser la CloudFront console](#security_iam_id-based-policy-examples-console-required-permissions)
+ [Exemples de politiques gérées par le client](#security_iam_id-based-policy-examples-sdk-cli)

## Bonnes pratiques en matière de politiques
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Les politiques basées sur l'identité déterminent si quelqu'un peut créer, accéder ou supprimer CloudFront des ressources dans votre compte. Ces actions peuvent entraîner des frais pour votre Compte AWS. Lorsque vous créez ou modifiez des politiques basées sur l’identité, suivez ces instructions et recommandations :
+ **Commencez AWS par les politiques gérées et passez aux autorisations du moindre privilège : pour commencer à accorder des autorisations** à vos utilisateurs et à vos charges de travail, utilisez les *politiques AWS gérées* qui accordent des autorisations pour de nombreux cas d'utilisation courants. Ils sont disponibles dans votre Compte AWS. Nous vous recommandons de réduire davantage les autorisations en définissant des politiques gérées par les AWS clients spécifiques à vos cas d'utilisation. 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) ou [politiques gérées par AWS pour les activités professionnelles](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) dans le *Guide de l’utilisateur IAM*.
+ **Accordez les autorisations de moindre privilège** : lorsque vous définissez des autorisations avec des politiques IAM, accordez uniquement les autorisations nécessaires à l’exécution d’une seule tâche. Pour ce faire, vous définissez les actions qui peuvent être entreprises sur des ressources spécifiques dans des conditions spécifiques, également appelées *autorisations de moindre privilège*. Pour plus d’informations sur l’utilisation d’IAM pour appliquer des autorisations, consultez [politiques et autorisations dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) dans le *Guide de l’utilisateur IAM*.
+ **Utilisez des conditions dans les politiques IAM pour restreindre davantage l’accès** : vous pouvez ajouter une condition à vos politiques afin de limiter l’accès aux actions et aux ressources. Par exemple, vous pouvez écrire une condition de politique pour spécifier que toutes les demandes doivent être envoyées via SSL. Vous pouvez également utiliser des conditions pour accorder l'accès aux actions de service si elles sont utilisées par le biais d'un service spécifique Service AWS, tel que CloudFormation. Pour plus d’informations, consultez [Conditions pour éléments de politique JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dans le *Guide de l’utilisateur IAM*.
+ **Utilisez l’Analyseur d’accès IAM pour valider vos politiques IAM afin de garantir des autorisations sécurisées et fonctionnelles** : l’Analyseur d’accès IAM valide les politiques nouvelles et existantes de manière à ce que les politiques IAM respectent le langage de politique IAM (JSON) et les bonnes pratiques IAM. IAM Access Analyzer fournit plus de 100 vérifications de politiques et des recommandations exploitables pour vous aider à créer des politiques sécurisées et fonctionnelles. Pour plus d’informations, consultez [Validation de politiques avec IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) dans le *Guide de l’utilisateur IAM*.
+ **Exiger l'authentification multifactorielle (MFA**) : si vous avez un scénario qui nécessite des utilisateurs IAM ou un utilisateur root, activez l'authentification MFA pour une sécurité accrue. Compte AWS Pour exiger la MFA lorsque des opérations d’API sont appelées, ajoutez des conditions MFA à vos politiques. Pour plus d’informations, consultez [Sécurisation de l’accès aux API avec MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) dans le *Guide de l’utilisateur IAM*.

Pour plus d’informations sur les bonnes pratiques dans IAM, consultez [Bonnes pratiques de sécurité dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dans le *Guide de l’utilisateur IAM*.

## Autorisation accordée aux utilisateurs pour afficher leurs propres autorisations
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

Cet exemple montre comment créer une politique qui permet aux utilisateurs IAM d’afficher les politiques en ligne et gérées attachées à leur identité d’utilisateur. Cette politique inclut les autorisations permettant d'effectuer cette action sur la console ou par programmation à l'aide de l'API AWS CLI or AWS .

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## Autorisations d'accès CloudFront par programmation
<a name="security_iam_id-based-policy-examples-programmatic-access-all"></a>

Voici une politique d'autorisations. Le `Sid`, ou ID de l'instruction, est facultatif.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "AllowAllCloudFrontPermissions",
         "Effect": "Allow",
         "Action": ["cloudfront:*"],
         "Resource": "*"
      }
   ]
}
```

------

La politique accorde des autorisations pour effectuer toutes les CloudFront opérations, ce qui est suffisant pour y accéder CloudFront par programmation. Si vous utilisez la console pour y accéder CloudFront, consultez[Autorisations requises pour utiliser la CloudFront console](#security_iam_id-based-policy-examples-console-required-permissions). 

Pour obtenir la liste des actions et l'ARN que vous spécifiez pour accorder ou refuser l'autorisation d'utiliser chaque action, consultez la section [Actions, ressources et clés de condition pour Amazon CloudFront](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudfront.html) dans le *Service Authorization Reference*.

## Autorisations requises pour utiliser la CloudFront console
<a name="security_iam_id-based-policy-examples-console-required-permissions"></a>

Pour accorder un accès complet à la CloudFront console, vous devez accorder les autorisations conformément à la politique d'autorisation suivante : 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "acm:ListCertificates", 
            "cloudfront:*", 
            "cloudwatch:DescribeAlarms",
            "cloudwatch:PutMetricAlarm",
            "cloudwatch:GetMetricStatistics",
            "elasticloadbalancing:DescribeLoadBalancers",
            "iam:ListServerCertificates",
            "sns:ListSubscriptionsByTopic",
            "sns:ListTopics",
            "waf:GetWebACL",
            "waf:ListWebACLs"
         ],
         "Resource":"*"
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:ListAllMyBuckets",
            "s3:PutBucketPolicy"
         ],
         "Resource":"arn:aws:s3:::*"
      }
   ]
}
```

------

Voici pourquoi les autorisations sont obligatoires :

**`acm:ListCertificates`**  
Lorsque vous créez et mettez à jour des distributions à l'aide de la CloudFront console et que vous CloudFront souhaitez configurer pour exiger le protocole HTTPS entre le lecteur CloudFront et CloudFront l'origine, cela vous permet de consulter la liste des certificats ACM.  
Cette autorisation n'est pas requise si vous n'utilisez pas la CloudFront console.

**`cloudfront:*`**  
Permet d'effectuer toutes les CloudFront actions.

**`cloudwatch:DescribeAlarms` et `cloudwatch:PutMetricAlarm`**  
Permet de créer et de visualiser des CloudWatch alarmes dans la CloudFront console. Voir aussi `sns:ListSubscriptionsByTopic` et `sns:ListTopics`.  
Ces autorisations ne sont pas nécessaires si vous n'utilisez pas la console CloudFront.

**`cloudwatch:GetMetricStatistics`**  
 CloudFront Rendons CloudWatch les métriques dans la CloudFront console.  
Cette autorisation n'est pas requise si vous n'utilisez pas la CloudFront console.

**`elasticloadbalancing:DescribeLoadBalancers`**  
Lorsque vous créez et mettez à jour des distributions, vous permet d'afficher la liste des équilibreurs de charge Elastic Load Balancing dans la liste des origines disponibles.  
Cette autorisation n'est pas requise si vous n'utilisez pas la CloudFront console.

**`iam:ListServerCertificates`**  
Lorsque vous créez et mettez à jour des distributions à l'aide de la CloudFront console et que vous souhaitez configurer de manière CloudFront à exiger le protocole HTTPS entre le lecteur CloudFront et CloudFront l'origine, cela vous permet de consulter la liste des certificats dans le magasin de certificats IAM.  
Cette autorisation n'est pas requise si vous n'utilisez pas la CloudFront console.

**`s3:ListAllMyBuckets`**  
Lorsque vous créez et mettez à jour des distributions et RTMP, vous permet d'effectuer les opérations suivantes :  
+ Afficher une liste des compartiments S3 dans la liste des origines disponibles
+ Afficher une liste de compartiments S3 dans lesquels vous pouvez enregistrer les journaux d'accès
Cette autorisation n'est pas requise si vous n'utilisez pas la CloudFront console.

**`S3:PutBucketPolicy`**  
Lorsque vous créez ou mettez à jour les distributions qui limitent l'accès aux compartiments S3, permet à un utilisateur de mettre à jour la stratégie de compartiment pour accorder l'accès à l'identité d'accès à l'origine CloudFront. Pour de plus amples informations, veuillez consulter [Utilisation d’une identité d’accès d’origine (héritée, non recommandée)](private-content-restricting-access-to-s3.md#private-content-restricting-access-to-s3-oai).  
Cette autorisation n'est pas requise si vous n'utilisez pas la CloudFront console.

**`sns:ListSubscriptionsByTopic` et `sns:ListTopics`**  
Lorsque vous créez des CloudWatch alarmes dans la CloudFront console, cela vous permet de choisir un sujet SNS pour les notifications.  
Ces autorisations ne sont pas nécessaires si vous n'utilisez pas la console CloudFront.

**`waf:GetWebACL` et `waf:ListWebACLs`**  
Permet d'afficher une liste de AWS WAF sites Web ACLs dans la CloudFront console.  
Ces autorisations ne sont pas nécessaires si vous n'utilisez pas la console CloudFront.

### Actions avec autorisation uniquement pour la console CloudFront
<a name="console-only-actions"></a>

Vous pouvez effectuer les CloudFront actions suivantes sur la page [CloudFront Security Savings Bundle](https://console.aws.amazon.com//cloudfront/v3/home#/savings-bundle/overview). Les actions d'API suivantes ne sont pas destinées à être appelées par votre code et ne sont pas incluses dans le AWS CLI et AWS SDKs.


****  

| Action | Description | 
| --- | --- | 
|  `CreateSavingsPlan`  |  Accorde l’autorisation de créer un nouveau Savings Plan (plan d’épargne).  | 
|   `GetSavingsPlan`   |  Accorde l’autorisation d’obtenir un Savings Plan (plan d’épargne).  | 
|  `ListRateCards`  |  Accorde l'autorisation de répertorier les cartes CloudFront tarifaires pour le compte.   | 
|   `ListSavingsPlans`   |  Accorde l’autorisation de répertorier les Savings Plans dans le compte.  | 
|   `ListUsages`   |  Accorde l'autorisation d'utiliser les CloudFront listes.  | 
|   `UpdateSavingsPlan`   |  Accorde l’autorisation de mettre à jour un Savings plan.   | 

**Remarques**  
Pour plus d'informations sur les plans CloudFront d'épargne, consultez la section CloudFront Security Savings Bundle d'[Amazon CloudFront FAQs](https://aws.amazon.com/cloudfront/faqs/). 
Si vous créez un plan d'épargne pour CloudFront puis souhaitez le supprimer ultérieurement, contactez [AWS Support](https://console.aws.amazon.com/support/home#/case/create?issueType=customer-service). 

## Exemples de politiques gérées par le client
<a name="security_iam_id-based-policy-examples-sdk-cli"></a>

Vous pouvez créer vos propres politiques IAM personnalisées pour autoriser les actions d' CloudFront API. Vous pouvez attacher ces politiques personnalisées aux utilisateurs ou groupes IAM qui nécessitent les autorisations spécifiées. Ces politiques fonctionnent lorsque vous utilisez l' CloudFront API, le AWS SDKs, ou le AWS CLI. Les exemples suivants présentent des autorisations pour quelques cas d'utilisation courants. Pour connaître la politique qui accorde à un utilisateur un accès complet à CloudFront, voir[Autorisations requises pour utiliser la CloudFront console](#security_iam_id-based-policy-examples-console-required-permissions).

**Topics**
+ [Exemple 1 : Autoriser l'accès en lecture à toutes les distributions](#security_iam_id-based-policy-examples-allow-read-all-distributions)
+ [Exemple 2 : Créer, mettre à jour et supprimer des distributions](#security_iam_id-based-policy-examples-allow-create-update-delete-distributions)
+ [Exemple 3 : Autoriser la création et l'inventaire des invalidations](#security_iam_id-based-policy-examples-allow-create-list-invalidations)
+ [Exemple 4 : autoriser la création d’une distribution](#create-distribution-iam-policy)

### Exemple 1 : Autoriser l'accès en lecture à toutes les distributions
<a name="security_iam_id-based-policy-examples-allow-read-all-distributions"></a>

La politique d'autorisation suivante accorde à l'utilisateur l'autorisation d'afficher toutes les distributions dans la CloudFront console :

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "acm:ListCertificates", 
            "cloudfront:GetDistribution",
            "cloudfront:GetDistributionConfig",
            "cloudfront:ListDistributions",
            "cloudfront:ListCloudFrontOriginAccessIdentities",
            "elasticloadbalancing:DescribeLoadBalancers",
            "iam:ListServerCertificates",
            "sns:ListSubscriptionsByTopic",
            "sns:ListTopics",
            "waf:GetWebACL",
            "waf:ListWebACLs"
         ],
         "Resource":"*"
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:ListAllMyBuckets"
         ],
         "Resource":"arn:aws:s3:::*"
      }
   ]
}
```

------

### Exemple 2 : Créer, mettre à jour et supprimer des distributions
<a name="security_iam_id-based-policy-examples-allow-create-update-delete-distributions"></a>

La politique d'autorisation suivante permet aux utilisateurs de créer, de mettre à jour et de supprimer des distributions à l'aide de la CloudFront console :

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "acm:ListCertificates", 
            "cloudfront:CreateDistribution",
            "cloudfront:DeleteDistribution",
            "cloudfront:GetDistribution",
            "cloudfront:GetDistributionConfig",
            "cloudfront:ListDistributions",
            "cloudfront:UpdateDistribution",
            "cloudfront:ListCloudFrontOriginAccessIdentities",
            "elasticloadbalancing:DescribeLoadBalancers",
            "iam:ListServerCertificates",
            "sns:ListSubscriptionsByTopic",
            "sns:ListTopics",
            "waf:GetWebACL",
            "waf:ListWebACLs"
         ],
         "Resource":"*"
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:ListAllMyBuckets",
            "s3:PutBucketPolicy"
         ],
         "Resource":"arn:aws:s3:::*"
      }
   ]
}
```

------

L'autorisation `cloudfront:ListCloudFrontOriginAccessIdentities` permet aux utilisateurs d'accorder automatiquement à une identité d'accès à l'origine existante l'autorisation d'accès aux objets dans un compartiment Amazon S3. Si vous souhaitez également que les utilisateurs puissent créer des identités d'accès à l'origine, vous devez également accorder l'autorisation `cloudfront:CreateCloudFrontOriginAccessIdentity`.

### Exemple 3 : Autoriser la création et l'inventaire des invalidations
<a name="security_iam_id-based-policy-examples-allow-create-list-invalidations"></a>

La politique d'autorisations suivante permet aux utilisateurs de créer et de répertorier des invalidations. Cela inclut l'accès en lecture aux CloudFront distributions, car vous créez et visualisez les invalidations en affichant d'abord les paramètres d'une distribution :

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "acm:ListCertificates", 
            "cloudfront:GetDistribution",
            "cloudfront:GetStreamingDistribution",
            "cloudfront:GetDistributionConfig",
            "cloudfront:ListDistributions",
            "cloudfront:ListCloudFrontOriginAccessIdentities",
            "cloudfront:CreateInvalidation",
            "cloudfront:GetInvalidation",
            "cloudfront:ListInvalidations",
            "elasticloadbalancing:DescribeLoadBalancers",
            "iam:ListServerCertificates",
            "sns:ListSubscriptionsByTopic",
            "sns:ListTopics",
            "waf:GetWebACL",
            "waf:ListWebACLs"
         ],
         "Resource":"*"
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:ListAllMyBuckets"
         ],
         "Resource":"arn:aws:s3:::*"
      }
   ]
}
```

------

### Exemple 4 : autoriser la création d’une distribution
<a name="create-distribution-iam-policy"></a>

La politique d'autorisation suivante accorde à l'utilisateur l'autorisation de créer et de répertorier des distributions dans la CloudFront console. Pour l’action `CreateDistribution`, spécifiez le caractère générique (\$1) pour la `Resource` lieu d’un caractère générique pour l’ARN de distribution (`arn:aws:cloudfront::123456789012:distribution/*`). Pour en savoir plus sur l’élément `Resource`, consultez [Éléments de politique JSON IAM : Resource](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html) dans le *Guide de l’utilisateur IAM*.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "cloudfront:CreateDistribution",
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "cloudfront:ListDistributions",
            "Resource": "*"
        }
    ]
}
```

------