

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.

# Configuration du protocole TLS mutuel sur un Application Load Balancer
<a name="configuring-mtls-with-elb"></a>

Pour utiliser le mode relais TLS mutuel, il suffit de configurer l'écouteur pour qu'il accepte les certificats des clients. Lorsque vous utilisez le transfert TLS mutuel, l'Application Load Balancer envoie l'ensemble de la chaîne de certificats client à la cible à l'aide d'en-têtes HTTP, ce qui vous permet d'implémenter la logique d'authentification et d'autorisation correspondante dans votre application. Pour plus d'informations, consultez [Créer un écouteur HTTPS pour votre Application Load Balancer](create-https-listener.md).

 Lorsque vous utilisez le protocole TLS mutuel en mode vérification, l'Application Load Balancer effectue l'authentification par certificat client X.509 pour les clients lorsqu'un équilibreur de charge négocie des connexions TLS.

Pour utiliser le mode de vérification TLS mutuelle, effectuez les opérations suivantes :
+ Créez une nouvelle ressource Trust Store.
+ Téléchargez votre bundle d'autorités de certification (CA) et, éventuellement, vos listes de révocation.
+ Attachez le trust store à l'écouteur configuré pour vérifier les certificats clients.

Utilisez les procédures suivantes pour configurer le mode de vérification TLS mutuelle sur votre Application Load Balancer.

**Topics**
+ [Créez un trust store](#create-trust-store)
+ [Associer un magasin de confiance](#associate-trust-store)
+ [Remplacer un bundle de certificats CA](#replace-ca-cert-bundle)
+ [Ajouter une liste de révocation de certificats](#add-cert-revocation-list)
+ [Supprimer une liste de révocation de certificats](#delete-cert-revocation-list)
+ [Supprimer un trust store](#delete-trust-store)

## Créez un trust store
<a name="create-trust-store"></a>

Si vous ajoutez un trust store lorsque vous créez un équilibreur de charge ou un écouteur, le trust store est automatiquement associé au nouvel écouteur. Dans le cas contraire, vous devez vous-même l'associer à un auditeur.

**Conditions préalables**
+ Pour créer un trust store, vous devez disposer d'un bundle de certificats auprès de votre autorité de certification (CA).

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

L'exemple suivant crée un trust store à l'aide de la partie **Trust Store** de la console. Vous pouvez également créer le trust store lorsque vous créez un écouteur HTTP.

**Pour créer un trust store**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le volet de navigation, choisissez **Trust Stores**.

1. Choisissez **Create trust store**.

1. **Configuration du Trust Store**

   1. Dans le **champ Nom de la boutique de confiance**, entrez le nom de votre boutique de confiance.

   1. Pour le **bundle d'autorités de certification**, entrez le chemin Amazon S3 vers le bundle de certificats ca à utiliser.

   1. (Facultatif) Utilisez **la version de l'objet** pour sélectionner une version précédente du bundle de certificats ca. Dans le cas contraire, la version actuelle est utilisée.

1. (Facultatif) Pour les **révocations**, vous pouvez ajouter une liste de révocation de certificats à votre trust store.

   1. Choisissez **Ajouter une nouvelle CRL** et entrez l'emplacement de la liste de révocation des certificats dans Amazon S3.

   1. (Facultatif) Utilisez **la version de l'objet** pour sélectionner une version précédente de la liste de révocation des certificats. Dans le cas contraire, la version actuelle est utilisée.

1. (Facultatif) Développez les **tags Trust Store** et entrez jusqu'à 50 tags pour votre Trust Store.

1. Choisissez **Create trust store**.

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

**Pour créer un trust store**  
Utilisez la commande [create-trust-store](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-trust-store.html).

```
aws elbv2 create-trust-store \
    --name my-trust-store \
    --ca-certificates-bundle-s3-bucket amzn-s3-demo-bucket \
    --ca-certificates-bundle-s3-key certificates/ca-bundle.pem
```

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

**Pour créer un trust store**  
Définissez un type de ressource [AWS::ElasticLoadBalancingV2::TrustStore](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-truststore.html).

```
Resources:
  myTrustStore:
    Type: 'AWS::ElasticLoadBalancingV2::TrustStore'
    Properties:
      Name: my-trust-store
      CaCertificatesBundleS3Bucket: amzn-s3-demo-bucket
      CaCertificatesBundleS3Key: certificates/ca-bundle.pem
```

------

## Associer un magasin de confiance
<a name="associate-trust-store"></a>

Après avoir créé un trust store, vous devez l'associer à un écouteur avant que votre Application Load Balancer puisse commencer à utiliser le trust store. Vous ne pouvez avoir qu'un seul magasin de confiance associé à chacun de vos écouteurs sécurisés, mais un seul magasin de confiance peut être associé à plusieurs écouteurs.

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

Vous pouvez associer un trust store à un écouteur existant, comme indiqué dans la procédure suivante. Vous pouvez également associer un trust store lors de la création d'un écouteur HTTPS. Pour plus d'informations, voir [Création d'un écouteur HTTPS](create-https-listener.md).

**Pour associer un trust store**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le volet de navigation, choisissez **Load Balancers (Équilibreurs de charge)**.

1. Sélectionnez l'équilibreur de charge.

1. Dans l'onglet **Écouteurs et règles**, cliquez sur le lien dans la colonne **Protocol:Port** pour ouvrir la page de détails de l'écouteur sécurisé.

1. Dans l'onglet **Sécurité**, choisissez **Modifier les paramètres de l'écouteur sécurisé**.

1. Si le protocole TLS mutuel n'est pas activé, sélectionnez **Authentification mutuelle (MTLS)** sous **Gestion des certificats clients**, puis choisissez **Vérifier avec Trust Store**.

1. Pour **Trust store**, choisissez le trust store.

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

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

**Pour associer un trust store**  
Utilisez la commande [modify-listener](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-listener.html).

```
aws elbv2 modify-listener \
    --listener-arn listener-arn \
    --mutual-authentication "Mode=verify,TrustStoreArn=trust-store-arn"
```

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

**Pour associer un trust store**  
Mettez à jour la [AWS::ElasticLoadBalancingV2::Listener](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-listener.html)ressource.

```
Resources:
  myHTTPSListener:
    Type: 'AWS::ElasticLoadBalancingV2::Listener'
    Properties: 
      LoadBalancerArn: !Ref myLoadBalancer
      Protocol: HTTPS
      Port: 443
      DefaultActions:
        - Type: "forward"
          TargetGroupArn: !Ref myTargetGroup
      SslPolicy: ELBSecurityPolicy-TLS13-1-2-2021-06
      Certificates: 
        - CertificateArn: certificate-arn
      MutualAuthentication:
        - Mode: verify
          TrustStoreArn: trust-store-arn
```

------

## Remplacer un bundle de certificats CA
<a name="replace-ca-cert-bundle"></a>

Le bundle de certificats CA est un composant obligatoire du trust store. Il s'agit d'un ensemble de certificats racine et intermédiaires fiables qui ont été validés par une autorité de certification. Ces certificats validés garantissent que le client peut être sûr que le certificat présenté appartient à l'équilibreur de charge.

Un magasin de confiance ne peut contenir qu'un seul ensemble de certificats CA à la fois, mais vous pouvez le remplacer à tout moment une fois le magasin de confiance créé.

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

**Pour remplacer un ensemble de certificats CA**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le volet de navigation, choisissez **Trust Stores**.

1. Sélectionnez le trust store.

1. Choisissez **Actions**, puis **Remplacez le bundle CA**.

1. Sur la page **Remplacer le bundle CA**, sous le **bundle d'autorité de certification**, entrez l'emplacement Amazon S3 du bundle CA souhaité.

1. (Facultatif) Utilisez **la version de l'objet** pour sélectionner une version précédente de la liste de révocation des certificats. Dans le cas contraire, la version actuelle est utilisée.

1. Sélectionnez **Remplacer le bundle CA**.

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

**Pour remplacer un ensemble de certificats CA**  
Utilisez la commande [modify-trust-store](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-trust-store.html).

```
aws elbv2 modify-trust-store \
    --trust-store-arn trust-store-arn \
    --ca-certificates-bundle-s3-bucket amzn-s3-demo-bucket-new \
    --ca-certificates-bundle-s3-key certificates/new-ca-bundle-pem
```

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

**Pour mettre à jour le bundle de certificats CA**  
Définissez un type de ressource [AWS::ElasticLoadBalancingV2::TrustStore](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-truststore.html).

```
Resources:
  myTrustStore:
    Type: 'AWS::ElasticLoadBalancingV2::TrustStore'
    Properties:
      Name: my-trust-store
      CaCertificatesBundleS3Bucket: amzn-s3-demo-bucket-new
      CaCertificatesBundleS3Key: certificates/new-ca-bundle.pem
```

------

## Ajouter une liste de révocation de certificats
<a name="add-cert-revocation-list"></a>

Vous pouvez éventuellement créer une liste de révocation de certificats pour un trust store. Les listes de révocation sont publiées par les autorités de certification et contiennent les données relatives aux certificats révoqués. Les équilibreurs de charge d'application ne prennent en charge que les listes de révocation de certificats au format PEM.

Lorsqu'une liste de révocation de certificats est ajoutée à un trust store, un ID de révocation lui est attribué. Les révocations IDs augmentent pour chaque liste de révocation ajoutée au trust store, et elles ne peuvent pas être modifiées.

Les équilibreurs de charge d'application ne peuvent pas révoquer les certificats dont le numéro de série est négatif dans une liste de révocation de certificats.

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

**Pour ajouter une liste de révocation**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le volet de navigation, choisissez **Trust Stores**.

1. Sélectionnez le trust store pour afficher sa page de détails.

1. Dans l'onglet **Listes de révocation de certificats**, sélectionnez **Actions**, **Ajouter une liste de révocation**.

1. Sur la page **Ajouter une liste de révocation**, sous Liste de **révocation de certificats, entrez l'emplacement Amazon S3 de la liste** de révocation de certificats souhaitée.

1. (Facultatif) Utilisez **la version de l'objet** pour sélectionner une version précédente de la liste de révocation des certificats. Dans le cas contraire, c'est la version actuelle qui est utilisée.

1. Sélectionnez **Ajouter une liste de révocation**

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

**Pour ajouter une liste de révocation**  
Utilisez la commande [add-trust-store-revocations](https://docs.aws.amazon.com/cli/latest/reference/elbv2/add-trust-store-revocations.html).

```
aws elbv2 add-trust-store-revocations \
    --trust-store-arn trust-store-arn \
    --revocation-contents "S3Bucket=amzn-s3-demo-bucket,S3Key=crl/revoked-list.crl,RevocationType=CRL"
```

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

**Pour ajouter une liste de révocation**  
Définissez une ressource de type [AWS::ElasticLoadBalancingV2::TrustStoreRévocation](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-truststorerevocation.html).

```
Resources:
  myRevocationContents:
    Type: 'AWS:ElasticLoadBalancingV2::TrustStoreRevocation'
    Properties:
      TrustStoreArn: !Ref myTrustStore
      RevocationContents:
        - RevocationType: CRL
          S3Bucket: amzn-s3-demo-bucket
          S3Key: crl/revoked-list.crl
```

------

## Supprimer une liste de révocation de certificats
<a name="delete-cert-revocation-list"></a>

Lorsque vous n'avez plus besoin d'une liste de révocation de certificats, vous pouvez la supprimer. Lorsque vous supprimez une liste de révocation de certificats d'un trust store, son ID de révocation est également supprimé et n'est pas réutilisé pendant toute la durée de vie du trust store.

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

**Pour supprimer une liste de révocation**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le volet de navigation, choisissez **Trust Stores**.

1. Sélectionnez le trust store.

1. Dans l'onglet **Listes de révocation de certificats**, choisissez **Actions**, **Supprimer la liste de révocation**.

1. À l’invite de confirmation, saisissez **confirm**.

1. Sélectionnez **Delete (Supprimer)**.

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

**Pour supprimer une liste de révocation**  
Utilisez la commande [remove-trust-store-revocations](https://docs.aws.amazon.com/cli/latest/reference/elbv2/remove-trust-store-revocations.html).

```
aws elbv2 remove-trust-store-revocations \
    --trust-store-arn trust-store-arn \
    --revocation-ids id-1 id-2 id-3
```

------

## Supprimer un trust store
<a name="delete-trust-store"></a>

Lorsque vous n'avez plus besoin d'un trust store, vous pouvez le supprimer. Vous ne pouvez pas supprimer un trust store associé à un écouteur.

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

**Pour supprimer un trust store**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le volet de navigation, choisissez **Trust Stores**.

1. Sélectionnez le trust store.

1. Sélectionnez **Delete (Supprimer)**.

1. Lorsque vous êtes invité à confirmer, entrez `confirm`, puis choisissez **Delete (Supprimer)**.

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

**Pour supprimer un trust store**  
Utilisez la commande [delete-trust-store](https://docs.aws.amazon.com/cli/latest/reference/elbv2/delete-trust-store.html).

```
aws elbv2 delete-trust-store \
    --trust-store-arn trust-store-arn
```

------