

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.

# Restreindre l'accès à une AWS Elemental MediaStore origine
<a name="private-content-restricting-access-to-mediastore"></a>

CloudFront fournit un *contrôle d'accès à l'origine* (OAC) pour restreindre l'accès à une AWS Elemental MediaStore origine.

**Topics**
+ [

## Création d’un nouveau contrôle d’accès d’origine
](#create-oac-overview-mediastore)
+ [

## Paramètres avancés pour le contrôle d’accès à l’origine
](#oac-advanced-settings-mediastore)

## Création d’un nouveau contrôle d’accès d’origine
<a name="create-oac-overview-mediastore"></a>

Suivez les étapes décrites dans les rubriques suivantes pour configurer un nouveau contrôle d'accès à l'origine dans CloudFront.

**Topics**
+ [

### Conditions préalables
](#oac-prerequisites-mediastore)
+ [

### Accorder CloudFront l'autorisation d'accéder à l' MediaStore origine
](#oac-permission-to-access-mediastore)
+ [

### Création du contrôle d’accès d’origine
](#create-oac-mediastore)

### Conditions préalables
<a name="oac-prerequisites-mediastore"></a>

Avant de créer et de configurer le contrôle d'accès à l'origine, vous devez disposer d'une CloudFront distribution avec une MediaStore origine. 

### Accorder CloudFront l'autorisation d'accéder à l' MediaStore origine
<a name="oac-permission-to-access-mediastore"></a>

Avant de créer un contrôle d'accès à l'origine ou de le configurer dans une CloudFront distribution, assurez-vous que celui-ci CloudFront est autorisé à accéder à l' MediaStore origine. Procédez ainsi après avoir créé une CloudFront distribution, mais avant d'ajouter l'OAC à l' MediaStoreorigine dans la configuration de distribution. 

Utilisez une politique de MediaStore conteneur pour autoriser le principal CloudFront de service (`cloudfront.amazonaws.com`) à accéder à l'origine. Utilisez un `Condition` élément de la politique pour autoriser l'accès CloudFront au MediaStore conteneur uniquement lorsque la demande est présentée au nom de la CloudFront distribution qui contient l' MediaStore origine. Il s'agit de la distribution avec l' MediaStore origine à laquelle vous souhaitez ajouter OAC.

Voici des exemples de politiques de MediaStore conteneur qui permettent à une CloudFront distribution d'accéder à une MediaStore origine.

**Example MediaStore politique de conteneur qui autorise l'accès en lecture seule pour une CloudFront distribution avec OAC activé**    
****  

```
{
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Sid": "AllowCloudFrontServicePrincipalReadOnly",
                "Effect": "Allow",
                "Principal": {
                  "Service": "cloudfront.amazonaws.com"
                },
                "Action": [ 
                  "mediastore:GetObject"
                ],
                "Resource": "arn:aws:mediastore:us-east-1:111122223333:container/<container name>/*",
                "Condition": {
                    "StringEquals": {
                      "AWS:SourceArn": "arn:aws:cloudfront::111122223333:distribution/CloudFront-distribution-ID"
                    },
                    "Bool": {
                      "aws:SecureTransport": "true"
                    }
                }
            }
        ]
}
```

**Example MediaStore politique de conteneur qui autorise l'accès en lecture et en écriture pour une CloudFront distribution avec OAC activé**    
****  

```
{
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Sid": "AllowCloudFrontServicePrincipalReadWrite",
                "Effect": "Allow",
                "Principal": {
                  "Service": "cloudfront.amazonaws.com"
                },
                "Action": [ 
                  "mediastore:GetObject",
                  "mediastore:PutObject"
                ],
                "Resource": "arn:aws:mediastore:us-east-1:111122223333:container/container-name/*",
                "Condition": {
                    "StringEquals": {
                      "AWS:SourceArn": "arn:aws:cloudfront::111122223333:distribution/CloudFront-distribution-ID"
                    },
                    "Bool": {
                      "aws:SecureTransport": "true"
                    }
                }
            }
        ]
}
```

**Note**  
Pour autoriser l'accès en écriture, vous devez configurer les **méthodes HTTP autorisées** à inclure `PUT` dans les paramètres de comportement de votre CloudFront distribution.

### Création du contrôle d’accès d’origine
<a name="create-oac-mediastore"></a>

Pour créer un OAC, vous pouvez utiliser le AWS Management Console CloudFormation, AWS CLI, ou l' CloudFrontAPI.

------
#### [ Console ]

**Pour créer un contrôle d’accès à l’origine**

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

1. Dans le panneau de navigation de gauche, choisissez **Accès à l'origine**.

1. Choisissez **Créer un paramètre de contrôle**.

1. Sur l'écran **Créer un paramètre de contrôle**, procédez comme suit :

   1. Dans le volet **Détails**, entrez un **Nom** et (éventuellement) une **Description** pour le contrôle d'accès à l'origine.

   1. Dans le volet **Paramètres**, nous vous recommandons de conserver le paramètre par défaut (**Signer les demandes (recommandé)**). Pour de plus amples informations, veuillez consulter [Paramètres avancés pour le contrôle d’accès à l’origine](#oac-advanced-settings-mediastore).

1.  MediaStore Choisissez dans le menu déroulant **Type d'origine**.

1. Choisissez **Créer**.

   Après avoir créé l'OAC, prenez note de **Nom**. Vous en aurez besoin au cours de la procédure suivante.

**Pour ajouter un contrôle d'accès à l'origine à une MediaStore origine dans une distribution**

1. Ouvrez la CloudFront console à l'adresse[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Choisissez une distribution avec une MediaStore origine à laquelle vous souhaitez ajouter l'OAC, puis cliquez sur l'onglet **Origines**.

1. Sélectionnez l' MediaStore origine à laquelle vous souhaitez ajouter l'OAC, puis choisissez **Modifier**.

1. Sélectionnez **HTTPS only** (HTTPS uniquement) pour le paramètre **Protocol** (Protocole) de votre origine.

1. Dans le menu déroulant **Origin access control** (Contrôle d'accès d'origine), choisissez l'OAC que vous souhaitez utiliser.

1. Sélectionnez **Enregistrer les modifications**.

La distribution commence à se déployer sur tous les emplacements CloudFront périphériques. Lorsqu'un emplacement périphérique reçoit la nouvelle configuration, il signe toutes les demandes qu'il envoie à l'origine du MediaStore compartiment.

------
#### [ CloudFormation ]

Pour créer un contrôle d'accès à l'origine (OAC) avec CloudFormation, utilisez le type de `AWS::CloudFront::OriginAccessControl` ressource. L'exemple suivant montre la syntaxe du CloudFormation modèle, au format YAML, pour créer un contrôle d'accès à l'origine.

```
Type: AWS::CloudFront::OriginAccessControl
Properties: 
  OriginAccessControlConfig: 
      Description: An optional description for the origin access control
      Name: ExampleOAC
      OriginAccessControlOriginType: mediastore
      SigningBehavior: always
      SigningProtocol: sigv4
```

Pour plus d'informations, consultez la section [AWS::CloudFront::OriginAccessContrôle](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originaccesscontrol.html) dans le *guide de AWS CloudFormation l'utilisateur*.

------
#### [ CLI ]

Pour créer un contrôle d'accès à l'origine avec le AWS Command Line Interface (AWS CLI), utilisez la **aws cloudfront create-origin-access-control** commande. Vous pouvez utiliser un fichier d’entrée pour fournir les paramètres d’entrée de la commande, plutôt que de spécifier chaque paramètre individuel comme entrée de ligne de commande.

**Pour créer un contrôle d'accès à l'origine (CLI avec un fichier d'entrée)**

1. Utilisez la commande suivante pour créer un fichier nommé `origin-access-control.yaml`. Ce fichier contient tous les paramètres d’entrée de la commande **create-origin-access-control**.

   ```
   aws cloudfront create-origin-access-control --generate-cli-skeleton yaml-input > origin-access-control.yaml
   ```

1. Ouvrez le fichier `origin-access-control.yaml` que vous venez de créer. Modifiez le fichier pour ajouter un nom à l'OAC, une description (facultative) et remplacez `SigningBehavior` par `always`. Ensuite, enregistrez le fichier.

   Pour plus d'informations sur paramètres OAC, consultez [Paramètres avancés pour le contrôle d’accès à l’origine](#oac-advanced-settings-mediastore).

1. Utilisez la commande suivante pour créer le contrôle d'accès à l'origine à l'aide des paramètres d'entrée du fichier `origin-access-control.yaml`.

   ```
   aws cloudfront create-origin-access-control --cli-input-yaml file://origin-access-control.yaml
   ```

   Notez la valeur de `Id` dans la sortie de la commande. Vous en avez besoin pour ajouter l'OAC à une MediaStore origine dans une CloudFront distribution.

**Pour attacher un OAC à une MediaStore origine dans une distribution existante (CLI avec fichier d'entrée)**

1. Utilisez la commande suivante pour enregistrer la configuration de distribution pour la CloudFront distribution à laquelle vous souhaitez ajouter l'OAC. La distribution doit avoir une MediaStore origine.

   ```
   aws cloudfront get-distribution-config --id <CloudFront distribution ID> --output yaml > dist-config.yaml
   ```

1. Ouvrez le fichier nommé `dist-config.yaml` que vous venez de créer. Modifiez le fichier en apportant les modifications suivantes :
   + Dans l'objet `Origins`, ajoutez l'ID de l'OAC au champ nommé `OriginAccessControlId`.
   + Supprimez la valeur du champ nommé `OriginAccessIdentity`, le cas échéant.
   + Renommez le champ `ETag` en `IfMatch`, mais ne modifiez pas la valeur du champ.

   Enregistrez le fichier lorsque vous avez terminé.

1. Utilisez la commande suivante pour mettre à jour la distribution afin d’utiliser le contrôle d’accès à l’origine.

   ```
   aws cloudfront update-distribution --id <CloudFront distribution ID> --cli-input-yaml file://dist-config.yaml
   ```

La distribution commence à se déployer sur tous les emplacements CloudFront périphériques. Lorsqu'un emplacement périphérique reçoit la nouvelle configuration, il signe toutes les demandes qu'il envoie à l' MediaStore origine.

------
#### [ API ]

Pour créer un contrôle d'accès à l'origine avec l' CloudFront API, utilisez [CreateOriginAccessControl](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateOriginAccessControl.html). Pour plus d'informations sur les champs que vous spécifiez dans cet appel d'API, consultez la documentation de référence de l'API pour votre AWS SDK ou autre client d'API.

Après avoir créé un contrôle d'accès à l'origine, vous pouvez l'associer à une MediaStore origine dans une distribution à l'aide de l'un des appels d'API suivants :
+ Pour le rattacher à une distribution existante, utilisez [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html).
+ Pour l'associer à une nouvelle distribution, utilisez [CreateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html).

Pour ces deux appels d'API, indiquez l'ID de contrôle d'accès à l'origine dans le champ `OriginAccessControlId`, à l'intérieur d'une origine. Pour plus d'informations sur les autres champs que vous spécifiez dans ces appels d'API, consultez [Référence de tous les paramètres de distribution](distribution-web-values-specify.md) la documentation de référence de l'API pour votre AWS SDK ou autre client d'API.

------

## Paramètres avancés pour le contrôle d’accès à l’origine
<a name="oac-advanced-settings-mediastore"></a>

La fonctionnalité de contrôle CloudFront d'accès à l'origine inclut des paramètres avancés destinés uniquement à des cas d'utilisation spécifiques. Utilisez les paramètres recommandés, sauf si vous avez des besoins spécifiques en matière de paramètres avancés.

Le contrôle d'accès à Origin contient un paramètre nommé **Comportement de signature** (dans la console) ou `SigningBehavior` (dans l'API, la CLI et CloudFormation). Ce paramètre fournit les options suivantes :

**Toujours signer les demandes d'origine (paramètre recommandé)**  
Nous vous recommandons d’utiliser ce paramètre, nommé **Signer les demandes (recommandé)** dans la console ou `always` dans l’API, la CLI et CloudFormation. Avec ce paramètre, il signe CloudFront toujours toutes les demandes qu'il envoie à l' MediaStore origine.

**Ne jamais signer les demandes d’origine**  
Ce paramètre est nommé **Ne pas signer les demandes** dans la console ou `never` dans l'API, la CLI et CloudFormation. Utilisez ce paramètre pour désactiver le contrôle d'accès à l'origine pour toutes les origines dans toutes les distributions qui utilisent ce contrôle d'accès à l'origine. Cela permet d’économiser du temps et des efforts par rapport à la suppression d’un contrôle d’accès à l’origine de toutes les origines et distributions qui l’utilisent, une par une. Avec ce paramètre, CloudFront ne signe aucune demande envoyée à l' MediaStoreorigine.  
Pour utiliser ce paramètre, l' MediaStore origine doit être accessible au public. Si vous utilisez ce paramètre avec une MediaStore origine qui n'est pas accessible au public, vous CloudFront ne pouvez pas accéder à l'origine. L' MediaStore origine renvoie les erreurs CloudFront et les CloudFront transmet aux spectateurs. Pour plus d'informations, consultez l'exemple de politique de MediaStore conteneur pour l'[accès public en lecture via HTTPS](https://docs.aws.amazon.com/mediastore/latest/ug/policies-examples-public-https.html).

**Ne remplacez pas l’en-tête `Authorization` de l’utilisateur (client)**  
Ce paramètre est nommé **Ne pas remplacer l'en-tête d'autorisation** dans la console ou `no-override` dans l'API, la CLI et CloudFormation. Utilisez ce paramètre lorsque vous CloudFront souhaitez signer des demandes d'origine uniquement lorsque la demande d'affichage correspondante ne contient pas d'`Authorization`en-tête. Avec ce paramètre, CloudFront transmet l'`Authorization`en-tête de la demande du visualiseur lorsqu'il y en a un, mais signe la demande d'origine (en ajoutant son propre `Authorization` en-tête) lorsque la demande du visualiseur n'inclut pas d'`Authorization`en-tête.  
Pour transmettre l'`Authorization`en-tête de la demande du lecteur, vous *devez* l'`Authorization`ajouter à une [politique de cache](controlling-the-cache-key.md) pour tous les comportements de cache qui utilisent des MediaStore origines associées à ce contrôle d'accès aux origines.