

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.

# Création de fonctions de CloudFront connexion pour la validation mutuelle du protocole TLS (viewer)
<a name="create-connection-functions"></a>

Vous créez une fonction de CloudFront connexion en deux étapes :

1. Créez le code de fonction sous la forme JavaScript. Vous pouvez utiliser l'exemple par défaut de la CloudFront console ou écrire le vôtre. Pour plus d’informations, consultez les rubriques suivantes :
   + Écrire le code CloudFront de la fonction de connexion pour la validation mTLS
   + CloudFront Structure des événements de la fonction de connexion et format de réponse
   + Exemples de code de fonction de connexion

1.  CloudFront À utiliser pour créer la fonction de connexion et inclure votre code. Le code existe à l’intérieur de la fonction (et non en tant que référence).

**Topics**
+ [CloudFront console](#create-connection-function-console)
+ [AWS CLI](#create-connection-function-cli)

## CloudFront console
<a name="create-connection-function-console"></a>

**Pour créer une fonction de connexion**

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. Choisissez **Créer une fonction**.

1. Entrez un nom de fonction unique dans le Compte AWS, choisissez **Fonction de connexion** comme type de fonction, puis choisissez **Continuer**.

1. La page de détails de la nouvelle fonction de connexion apparaît.
**Note**  
Les fonctions de connexion ne sont compatibles qu'avec JavaScript Runtime 2.0. Pour utiliser l' KeyValueStore intégration de la fonction de CloudFront connexion dans la fonction, vous devez utiliser cette version d'exécution.

1. Dans la section **Code de fonction**, choisissez l'onglet **Créer** et entrez votre code de fonction de connexion. L'exemple de code inclus dans l'onglet Construire illustre la syntaxe de base du code de fonction de connexion.

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

1. Si le code de fonction de connexion est utilisé KeyValueStore pour vérifier la révocation des certificats ou valider l'appareil, vous devez associer un KeyValueStore.

   Vous pouvez les associer KeyValueStore lorsque vous créez la fonction pour la première fois. Vous pouvez également l'associer ultérieurement, en associant des fonctions de connexion.

   Pour associer un KeyValueStore maintenant, procédez comme suit :
   + Accédez à la KeyValueStore section **Associer** et choisissez **Associer existant KeyValueStore**.
   + Sélectionnez celui KeyValueStore qui contient les données de certificat pour votre fonction de connexion, puis choisissez **Associer KeyValueStore**.

   CloudFront associe immédiatement le magasin à la fonction. Vous n’avez pas besoin d’enregistrer la fonction.

## AWS CLI
<a name="create-connection-function-cli"></a>

Si vous utilisez le AWS CLI, vous créez généralement d'abord le code de la fonction de connexion dans un fichier, puis vous créez la fonction avec le AWS CLI.

**Pour créer une fonction de connexion**

1. Créez le code de la fonction de connexion dans un fichier et stockez-le dans un répertoire auquel votre ordinateur peut se connecter.

1. Exécutez la commande, comme illustré dans l’exemple. Cet exemple utilise la notation `fileb://` pour transmettre le fichier. Il inclut également des sauts de ligne pour rendre la commande plus lisible.

   ```
   aws cloudfront create-connection-function \
       --name CertificateValidator \
       --connection-function-config '{
           "Comment":"Device certificate validation",
           "Runtime":"cloudfront-js-2.0",
           "KeyValueStoreAssociations":{
               "Quantity":1,
               "Items":[{
                   "KeyValueStoreARN":"arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
               }]
           }
       }' \
       --connection-function-code fileb://certificate-validator.js
   ```
**Note**  
**Runtime** — Les fonctions de connexion ne prennent en charge que le JavaScript runtime 2.0 (cloudfront-js-2.0).
**KeyValueStoreAssociations**— Si votre fonction de connexion l'utilise KeyValueStore pour la validation des certificats, vous pouvez l'associer KeyValueStore lorsque vous créez la fonction pour la première fois. Ou vous pouvez l’associer ultérieurement, en utilisant update-connection-function. La quantité est toujours égale à 1 car une seule fonction de connexion ne peut être KeyValueStore associée qu'à une seule.

1. Lorsque la commande s’exécute correctement, vous obtenez une sortie similaire à ce qui suit.

   ```
   ETag: ETVABCEXAMPLE
   ConnectionFunctionSummary:
     ConnectionFunctionConfig:
       Comment: Device certificate validation
       Runtime: cloudfront-js-2.0
       KeyValueStoreAssociations:
         Quantity: 1
         Items:
           - KeyValueStoreARN: arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
     ConnectionFunctionMetadata:
       CreatedTime: '2024-09-04T16:32:54.292000+00:00'
       ConnectionFunctionARN: arn:aws:cloudfront::111122223333:connection-function/CertificateValidator
       LastModifiedTime: '2024-09-04T16:32:54.292000+00:00'
       Stage: DEVELOPMENT
     Name: CertificateValidator
     Status: UNPUBLISHED
   Location: https://cloudfront.amazonaws.com/2020-05-31/connection-function/arn:aws:cloudfront:::connection-function/CertificateValidator
   ```

   La plupart des informations proviennent de la demande. D'autres informations sont ajoutées par CloudFront.
**Note**  
**ETag**— Cette valeur change chaque fois que vous modifiez la fonction de connexion. Vous avez besoin de cette valeur pour mettre à jour ou publier la fonction.
**Étape** — Les nouvelles fonctions de connexion commencent lors de la phase de DÉVELOPPEMENT. Vous devez publier la fonction pour la déplacer vers la scène LIVE avant de l'associer à une distribution.
**État : le statut** de la fonction est NON PUBLIÉ tant que vous ne le publiez pas sur la scène LIVE.