

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.

# Trust Stores et gestion des certificats
<a name="trust-stores-certificate-management"></a>

La création et la configuration d'un trust store sont obligatoires pour implémenter l'authentification TLS mutuelle avec CloudFront. Les magasins de confiance contiennent les certificats de l'autorité de certification (CA) CloudFront utilisés pour valider les certificats clients lors du processus d'authentification.

## Qu'est-ce qu'un trust store ?
<a name="what-is-trust-store"></a>

Un trust store est un référentiel de certificats CA CloudFront utilisé pour valider les certificats clients lors de l'authentification TLS mutuelle. Les magasins de confiance contiennent les certificats racine et intermédiaires de l'autorité de certification qui forment la chaîne de confiance pour authentifier les certificats clients.

Lorsque vous implémentez le protocole TLS mutuel avec CloudFront, le trust store définit les autorités de certification auxquelles vous faites confiance pour délivrer des certificats clients valides. CloudFront valide chaque certificat client par rapport à votre magasin de confiance lors de la prise de contact TLS. Seuls les clients présentant des certificats liés à l'un des certificats CAs de votre magasin de confiance seront authentifiés avec succès.

Les dépôts de confiance CloudFront sont des ressources au niveau du compte que vous pouvez associer à plusieurs distributions. Cela vous permet de maintenir des politiques de validation des certificats cohérentes sur l'ensemble de votre CloudFront déploiement tout en simplifiant la gestion des certificats CA.

## Assistance aux autorités de certification
<a name="ca-support"></a>

CloudFront prend en charge les certificats émis à la fois par une autorité de certification AWS privée et par des autorités de certification privées tierces. Cette flexibilité vous permet d'utiliser votre infrastructure de certificats existante ou de tirer parti des services de certificats AWS gérés en fonction des besoins de votre organisation.
+ **AWS Autorité de certification privée :** vous pouvez utiliser des certificats émis par AWS Private CA, qui fournit un service d'autorité de certification privée géré. Cette intégration simplifie la gestion du cycle de vie des certificats et permet une intégration parfaite avec d'autres AWS services.
+ **Autorités de certification privées tierces :** vous pouvez également utiliser des certificats provenant de votre infrastructure d'autorité de certification privée existante, y compris des fournisseurs de certificats d'entreprise CAs ou d'autres fournisseurs de certificats tiers. Cela vous permet de maintenir vos processus actuels de gestion des certificats tout en ajoutant CloudFront des fonctionnalités mTLS.

## Exigences et spécifications relatives aux certificats
<a name="certificate-requirements"></a>

Les magasins de confiance ont des exigences spécifiques concernant les certificats CA qu'ils contiennent :

### Exigences relatives au format des certificats CA
<a name="ca-cert-format-requirements"></a>
+ **Format : format** PEM (Privacy Enhanced Mail)
+ **Limites du contenu : les certificats doivent être placés dans les limites** -----BEGIN CERTIFICATE----- et -----END CERTIFICATE-----
+ **Commentaires :** Doit être précédé d'un caractère \# et ne peut contenir aucun caractère -
+ **Sauts de ligne :** aucune ligne vide n'est autorisée entre les certificats

### Spécifications des certificats pris en charge
<a name="supported-cert-specs"></a>
+ **Type de certificat : X.509v3**
+ **Types de clés publiques :**
  + RSA 2048, RSA 3072, RSA 4096
  + ECDSA : secp256r1, secp384r1
+ **Algorithmes de signature :**
  + SHA256 SHA384, SHA512 avec RSA
  + SHA256 SHA384, SHA512 avec EC
  + SHA256 SHA384, SHA512 avec RASSA-PSS avec MGF1

### Exemple de format de bundle de certificats
<a name="example-cert-bundle"></a>

Certificats multiples (codés PEM) :

```
# Root CA Certificate
-----BEGIN CERTIFICATE-----
MIIDXTCCAkWgAwIBAgIJAKoK/OvD/XqiMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
aWRnaXRzIFB0eSBMdGQwHhcNMTcwNzEyMTU0NzQ4WhcNMjcwNzEwMTU0NzQ4WjBF
MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50
ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAuuExKvY1xzHFylsHiuowqpmzs7rEcuuylOuEszpFp+BtXh0ZuEtts9LP
-----END CERTIFICATE-----
# Intermediate CA Certificate
-----BEGIN CERTIFICATE-----
MIIDXTCCAkWgAwIBAgIJAKoK/OvD/XqjMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
aWRnaXRzIFB0eSBMdGQwHhcNMTcwNzEyMTU0NzQ4WhcNMjcwNzEwMTU0NzQ4WjBF
MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50
ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAuuExKvY1xzHFylsHiuowqpmzs7rEcuuylOuEszpFp+BtXh0ZuEtts9LP
-----END CERTIFICATE-----
```

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

Avant de créer un trust store, vous devez télécharger votre bundle de certificats CA au format PEM dans un compartiment Amazon S3. Le bundle de certificats doit contenir tous les certificats d'autorité de certification racine et intermédiaire sécurisés nécessaires à la validation de vos certificats clients.

Le bundle de certificats CA n'est lu qu'une seule fois depuis S3 lors de la création d'un trust store. Si de futures modifications sont apportées au bundle de certificats CA, le trust store devra être mis à jour manuellement. Aucune synchronisation n'est maintenue entre le trust store et le bundle de certificats S3 CA.

### Conditions préalables
<a name="trust-store-prerequisites"></a>
+ Un bundle de certificats de votre autorité de certification (CA) chargé dans un compartiment Amazon S3
+ Les autorisations nécessaires pour créer des CloudFront ressources

### Pour créer un trust store (console)
<a name="create-trust-store-console"></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 le volet de navigation, choisissez **Trust stores**.

1. Choisissez **Create trust store**.

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

1. Pour le **bundle d'autorité de certification (CA)**, entrez le chemin Amazon S3 vers votre bundle de certificats CA au format PEM.

1. Choisissez **Create trust store**.

### Pour créer un trust store (AWS CLI)
<a name="create-trust-store-cli"></a>

```
aws cloudfront create-trust-store \
  --name MyTrustStore \
  --ca-certificates-bundle-source '{"CaCertificatesBundleS3Location":{"Bucket":"my-bucket","Key":"ca-bundle.pem","Region":"{{bucket-region}}"}}' \
  --tags Items=[{Key=Environment,Value=Production}]
```

## Associez Trust Store aux distributions
<a name="associate-trust-store"></a>

Après avoir créé un trust store, vous devez l'associer à une CloudFront distribution pour permettre l'authentification TLS mutuelle.

### Conditions préalables
<a name="associate-prerequisites"></a>
+ Une CloudFront distribution existante avec la politique de protocole de visualisation HTTPS uniquement activée et le HTTP3 support désactivé.

### Pour associer un trust store (console)
<a name="associate-trust-store-console"></a>

Il existe deux manières d'associer un trust store dans la CloudFront console : via la page de détails du trust store ou via la page des paramètres de distribution.

**Associer un trust store via la page de détails du trust store :**

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 volet de navigation, choisissez **Trust stores**.

1. Choisissez le nom du trust store que vous souhaitez associer.

1. Choisissez **Associer à la distribution**.

1. Configurez les options mTLS du Viewer disponibles :
   + **Mode de validation du certificat client :** choisissez entre le mode obligatoire et le mode facultatif. En mode obligatoire, tous les clients sont tenus de présenter des certificats. En mode facultatif, les clients qui présentent des certificats sont validés, tandis que les clients qui ne présentent pas de certificats sont autorisés à y accéder.
   + **Publiez les noms des autorités de certification de confiance :** choisissez si vous souhaitez annoncer les noms des autorités de certification de votre boutique de confiance aux clients lors de la poignée de main TLS.
   + **Ignorer la date d'expiration du certificat :** choisissez si vous souhaitez autoriser les connexions avec des certificats expirés (les autres critères de validation s'appliquent toujours).
   + **Fonction de connexion :** une fonction de connexion optionnelle peut être associée aux allow/deny connexions en fonction d'autres critères personnalisés.

1. Sélectionnez une ou plusieurs distributions à associer au trust store. Seules les distributions dont les comportements de cache sont HTTP3 désactivés ou dont les comportements de cache sont uniquement HTTPS peuvent prendre en charge les fichiers MTL Viewer.

1. Choisissez **Associer**.

**Associer un trust store via la page des paramètres de distribution :**

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. Sélectionnez la distribution que vous souhaitez associer

1. Sous l'onglet **Général**, dans le conteneur **Paramètres**, choisissez **Modifier** dans le coin supérieur droit

1. Faites défiler la page vers le bas, dans le conteneur de **connectivité**, activez le commutateur **Viewer mTLS**

1. Configurez les options mTLS du Viewer disponibles :
   + **Mode de validation du certificat client :** choisissez entre le mode obligatoire et le mode facultatif. En mode obligatoire, tous les clients sont tenus de présenter des certificats. En mode facultatif, les clients qui présentent des certificats sont validés, tandis que les clients qui ne présentent pas de certificats sont autorisés à y accéder.
   + **Publiez les noms des autorités de certification de confiance :** choisissez si vous souhaitez annoncer les noms des autorités de certification de votre boutique de confiance aux clients lors de la poignée de main TLS.
   + **Ignorer la date d'expiration du certificat :** choisissez si vous souhaitez autoriser les connexions avec des certificats expirés (les autres critères de validation s'appliquent toujours).
   + **Fonction de connexion :** une fonction de connexion optionnelle peut être associée aux allow/deny connexions en fonction d'autres critères personnalisés.

1. Choisissez **Enregistrer les modifications** dans le coin inférieur droit.

### Pour associer un trust store (AWS CLI)
<a name="associate-trust-store-cli"></a>

Les magasins de confiance peuvent être associés aux distributions via le DistributionConfig. ViewerMtlsConfig propriété. Cela signifie que nous devons d'abord récupérer la configuration de distribution, puis la fournir ViewerMtlsConfig dans une UpdateDistribution demande ultérieure.

```
// First fetch the distribution
aws cloudfront get-distribution {DISTRIBUTION_ID}

// Update the distribution config, for example:
Distribution config, file://distConf.json: 
{
  ...other fields,
  ViewerMtlsConfig: {
    Mode: 'required',
    TrustStoreConfig: {
        AdvertiseTrustStoreCaNames: false,
        IgnoreCertificateExpiry: true,
        TrustStoreId: {TRUST_STORE_ID}
    }
  }
}

aws cloudfront update-distribution \
   --id {DISTRIBUTION_ID} \
   --if-match {ETAG} \
   --distribution-config file://distConf.json
```

## Gérez les magasins de confiance
<a name="manage-trust-stores"></a>

### Afficher les détails de Trust Store
<a name="view-trust-store-details"></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 le volet de navigation, choisissez **Trust stores**.

1. Choisissez le nom du trust store pour afficher sa page de détails.

La page de détails présente :
+ Nom et identifiant du magasin de confiance
+ Nombre de certificats CA
+ Date de création et date de dernière modification
+ Distributions associées
+ Étiquettes

### Modifier un trust store
<a name="modify-trust-store"></a>

Pour remplacer le bundle de certificats CA :

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 volet de navigation, choisissez **Trust stores**.

1. Choisissez le nom du trust store.

1. Choisissez **Actions**, puis **Modifier**.

1. Pour le **bundle d'autorité de certification (CA)**, entrez l'emplacement Amazon S3 du fichier PEM du bundle CA mis à jour.

1. Choisissez **Update Trust Store**.

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

**Conditions préalables :** vous devez d'abord dissocier le trust store de toutes les CloudFront distributions.

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 volet de navigation, choisissez **Trust stores**.

1. Choisissez le nom du trust store.

1. Choisissez **Supprimer le trust store**.

1. Choisissez **Supprimer** pour confirmer.

### Étapes suivantes
<a name="trust-store-next-steps"></a>

Après avoir créé et associé votre trust store à une CloudFront distribution, vous pouvez activer l'authentification TLS mutuelle sur votre distribution et configurer des paramètres supplémentaires tels que le transfert des en-têtes de certificats vers vos origines. Pour obtenir des instructions détaillées sur l'activation des MTLs sur vos distributions, consultez[Activer le protocole TLS mutuel pour les distributions CloudFront](enable-mtls-distributions.md).