

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.

# Activer le protocole TLS mutuel pour les distributions CloudFront
<a name="enable-mtls-distributions"></a>

## Prérequis et exigences
<a name="mtls-prerequisites-requirements"></a>

CloudFrontle mode de vérification TLS mutuelle oblige tous les clients à présenter des certificats valides lors de la prise de contact TLS et rejette les connexions sans certificats valides. Avant d'activer le protocole TLS mutuel sur une CloudFront distribution, assurez-vous d'avoir :
+ Création d'un magasin de confiance avec les certificats de votre autorité de certification
+ Associez le trust store à votre CloudFront distribution
+ Garantie que tous les comportements du cache de distribution utilisent une politique de protocole de visualisation HTTPS uniquement
+ Assurez-vous que votre distribution utilise le protocole HTTP/2 (paramètre par défaut, Viewer mTLS, n'est pas pris en charge sur HTTP/3)

**Note**  
L'authentification TLS mutuelle nécessite des connexions HTTPS entre les utilisateurs et CloudFront. Vous ne pouvez pas activer le protocole MTL sur une distribution dont les comportements de cache prennent en charge les connexions HTTP.

## Activer le protocole TLS mutuel (console)
<a name="enable-mtls-console"></a>

### Pour les nouvelles distributions
<a name="enable-mtls-new-distributions"></a>

Les fichiers MTL Viewer ne peuvent pas être configurés lors de la création d'une nouvelle distribution dans la CloudFront console. Créez d'abord la distribution par n'importe quel moyen (console, CLI, API), puis modifiez les paramètres de distribution pour activer Viewer MTL conformément aux instructions de distribution existantes ci-dessous.

### Pour les distributions existantes
<a name="enable-mtls-existing-distributions"></a>

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 la liste de distribution, sélectionnez la distribution que vous souhaitez modifier.

1. Assurez-vous que la politique du protocole Viewer est définie sur **Rediriger le HTTP vers HTTPS** ou **HTTPS uniquement** pour tous les comportements du cache. (Vous pouvez choisir l'onglet **Comportements du cache** pour afficher et mettre à jour les comportements du cache conformément aux politiques du protocole HTTP.)

1. Choisissez l'onglet **Général**.

1. Dans la section **Settings** (Paramètres), choisissez **Edit** (Modifier).

1. Dans la section **Connectivité**, recherchez l'**authentification mutuelle (mTLS) du visualiseur**.

1. Activez **Activer l'authentification mutuelle**.

1. Pour **le mode de validation du certificat client**, sélectionnez **Obligatoire** (tous les clients doivent présenter des certificats) ou **Facultatif** (les clients peuvent éventuellement présenter des certificats).

1. Pour **Trust store**, sélectionnez le trust store que vous avez créé précédemment.

1. (Facultatif) Activez **Advertise trust store CA names** si vous souhaitez envoyer des noms CloudFront d'autorité de certification aux clients lors de la prise de contact TLS.

1. (Facultatif) Activez l'option **Ignorer la date d'expiration du certificat** si vous souhaitez autoriser les connexions avec des certificats expirés.

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

## Activer le protocole TLS mutuel (AWS CLI)
<a name="enable-mtls-cli"></a>

### Pour les nouvelles distributions
<a name="enable-mtls-cli-new"></a>

L'exemple suivant montre comment créer un fichier de configuration de distribution (distribution-config.json) qui inclut les paramètres mTLS :

```
{
  "CallerReference": "cli-example-1",
  "Origins": {
    "Quantity": 1,
    "Items": [
      {
        "Id": "my-origin",
        "DomainName": "example.com",
        "CustomOriginConfig": {
          "HTTPPort": 80,
          "HTTPSPort": 443,
          "OriginProtocolPolicy": "https-only"
        }
      }
    ]
  },
  "DefaultCacheBehavior": {
    "TargetOriginId": "my-origin",
    "ViewerProtocolPolicy": "https-only",
    "MinTTL": 0,
    "ForwardedValues": {
      "QueryString": false,
      "Cookies": {
        "Forward": "none"
      }
    }
  },
  "ViewerCertificate": {
    "CloudFrontDefaultCertificate": true
  },
  "ViewerMtlsConfig": {
    "Mode": "required", 
    "TrustStoreConfig": {
        "TrustStoreId": {TRUST_STORE_ID},
        "AdvertiseTrustStoreCaNames": true,
        "IgnoreCertificateExpiry": true
    }
  },
  "Enabled": true
}
```

Créez la distribution avec mTLS activé à l'aide de l'exemple de commande suivant :

```
aws cloudfront create-distribution --distribution-config file://distribution-config.json
```

### Pour les distributions existantes
<a name="enable-mtls-cli-existing"></a>

Obtenez la configuration de distribution actuelle à l'aide de l'exemple de commande suivant :

```
aws cloudfront get-distribution-config --id E1A2B3C4D5E6F7 --output json > dist-config.json
```

Modifiez le fichier pour ajouter les paramètres mTLS. Ajoutez la section d'exemple suivante à votre configuration de distribution :

```
"ViewerMtlsConfig": {
    "Mode": "required", 
    "TrustStoreConfig": {
        "TrustStoreId": {TRUST_STORE_ID},
        "AdvertiseTrustStoreCaNames": true,
        "IgnoreCertificateExpiry": true
    }
}
```

Supprimez le ETag champ du fichier mais enregistrez sa valeur séparément.

Mettez à jour la distribution avec la nouvelle configuration à l'aide de l'exemple de commande suivant :

```
aws cloudfront update-distribution \
    --id E1A2B3C4D5E6F7 \
    --if-match YOUR-ETAG-VALUE \
    --distribution-config file://dist-config.json
```

## Politiques du protocole Viewer
<a name="viewer-protocol-policies"></a>

Lorsque vous utilisez le protocole TLS mutuel, tous les comportements du cache de distribution doivent être configurés selon une politique de protocole de visualisation HTTPS uniquement :
+ **Rediriger le HTTP vers HTTPS :** redirige les requêtes HTTP vers le protocole HTTPS avant de procéder à la validation du certificat.
+ **HTTPS uniquement :** accepte uniquement les requêtes HTTPS et effectue la validation des certificats.

**Note**  
La politique du protocole d'affichage HTTP et HTTPS n'est pas prise en charge avec le protocole TLS mutuel, car les connexions HTTP ne peuvent pas effectuer de validation de certificat.

## Étapes suivantes
<a name="enable-mtls-next-steps"></a>

Après avoir activé Viewer TLS sur votre CloudFront distribution, vous pouvez associer des fonctions de connexion pour implémenter une logique de validation de certificat personnalisée. Les fonctions de connexion vous permettent d'étendre les capacités d'authentification mTLS intégrées grâce à des règles de validation personnalisées, à la vérification de la révocation des certificats et à la journalisation. Pour plus de détails sur la création et l'association de fonctions de connexion, consultez[Associer une fonction CloudFront de connexion](connection-functions.md).