> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Activez mTLS au niveau du tenant en configurant un domaine personnalisé et des alias de point de terminaison mTLS afin d’accepter les connexions TLS mutuelles.

# Configurer l’authentification mTLS pour un tenant

Apprenez à configurer l’authentification mTLS pour un tenant.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Les exemples suivants indiquent **\$management\_access\_token**, ou un [jeton d’accès à la Management API](/docs/fr-ca/secure/tokens/access-tokens/management-api-access-tokens). Cette valeur doit être remplacée par un jeton d’accès qui contient au moins les scopes suivants :

  * `create:custom_domains`
  * `read:custom_domains`
  * `create:clients`
  * `update:clients`
  * `update:client_credentials`
  * `update:client_keys`
  * `update:tenant_settings`

  Pour en savoir plus sur l’obtention d’un jeton d’accès avec les scopes requis, consultez [Obtenir des jetons d’accès](/docs/fr-ca/secure/tokens/access-tokens/get-access-tokens).
</Callout>

Pour commencer, vous devez configurer et vérifier un [domaine personnalisé](/docs/fr-ca/customize/custom-domains).

<div id="create-a-custom-domain">
  ### Créer un domaine personnalisé
</div>

Au niveau du tenant, vous devez configurer un [domaine personnalisé](/docs/fr-ca/customize/custom-domains) pour accepter les en-têtes mTLS avec la [Management API](https://auth0.com/docs/api/management/v2). Comme le [Customer Edge](/docs/fr-ca/get-started/applications/configure-mtls/set-up-the-customer-edge) est chargé de valider les certificats clients, définissez `type` sur `self_managed_certs` dans la requête POST :

```bash lines theme={null}
curl --location --request POST 'https://$tenant/api/v2/custom-domains' \
  --header 'Authorization: Bearer $management_access_token' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "domain":"string",
  "type":"self_managed_certs",
  "verification_method":"txt", 
  "tls_policy":"recommended",
  "custom_client_ip_header":"true-client-ip"
}'
```

Une requête réussie renvoie un identifiant servant à vérifier le <Tooltip tip="Domaine personnalisé : domaine tiers doté d’un nom spécialisé ou personnalisé." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=custom+domain">domaine personnalisé</Tooltip>. Pour en savoir plus, consultez la documentation de l’API [Configurer un nouveau domaine personnalisé](https://auth0.com/docs/api/management/v2/custom-domains/post-custom-domains).

<div id="patch-an-existing-custom-domain">
  ### Mettre à jour un domaine personnalisé existant
</div>

Vous pouvez configurer un domaine personnalisé existant pour qu’il accepte des en-têtes mTLS avec la [Management API](https://auth0.com/docs/api/management/v2). Toutefois, vous ne pouvez pas mettre à jour le `type` d’un domaine personnalisé existant.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Seuls les domaines personnalisés de type `self_managed_certs` peuvent être utilisés pour mTLS. Auth0 ne prend actuellement pas en charge le type `auth0_managed_certs` pour mTLS.
</Callout>

La requête POST suivante configure un domaine personnalisé existant pour qu’il accepte des en-têtes mTLS :

```bash lines theme={null}
curl --location --request POST 'https://$tenant/api/v2/custom-domains/:id' \
  --header 'Authorization: Bearer $management_access_token' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "tls_policy":"recommended",
  "custom_client_ip_header":"true-client-ip"
}'
```

Pour en savoir plus, consultez la documentation de l’API [Mettre à jour la configuration du domaine personnalisé](https://auth0.com/docs/api/management/v2/custom-domains/patch-custom-domains-by-id).

<div id="verify-the-custom-domain">
  ### Vérifier le domaine personnalisé
</div>

Avant qu’Auth0 n’accepte les requêtes de création et de mise à jour du domaine personnalisé, il doit d’abord vérifier le domaine. Utilisez la [Management API](https://auth0.com/docs/api/management/v2) pour envoyer la requête POST suivante afin de vérifier le domaine personnalisé :

```bash wrap lines theme={null}
curl --location --request POST 'https://$tenant/api/v2/custom-domains/:id/verify'
```

Vérifiez le champ `status` pour connaître son état de vérification. Une fois la vérification terminée, il peut s’écouler jusqu’à 10 minutes avant que le domaine personnalisé commence à accepter des requêtes.

Lorsque Auth0 vérifie le domaine personnalisé pour la première fois, la réponse inclut `cname_api_key`, dont vous avez besoin pour configurer votre proxy de périphérie/proxy inverse. Cette clé doit rester secrète et sert à valider les requêtes transmises.

Pour en savoir plus, consultez la documentation de l’API [Vérifier un domaine personnalisé](https://auth0.com/docs/api/management/v2/custom-domains/patch-custom-domains-by-id).

<div id="enable-mtls-endpoint-aliases">
  ### Activer les alias de point de terminaison mTLS
</div>

Lorsque la négociation mTLS demande au client de présenter un certificat client, le navigateur Web affiche une boîte de dialogue modale permettant aux utilisateurs de sélectionner un certificat. Cela complique l’expérience utilisateur et devrait être évité pour les points de terminaison où mTLS n’est pas nécessaire, comme le point de terminaison `/authorize`. Par conséquent, les clients qui prennent en charge le trafic mTLS et non mTLS sur des domaines distincts devraient activer les alias de point de terminaison mTLS.

Les alias de point de terminaison mTLS indiquent que les clients doivent envoyer le trafic mTLS aux points de terminaison précisés dans la propriété `mtls_endpoint_aliases` du document de découverte OIDC. Les clients enverront le trafic non mTLS aux points de terminaison habituels. Pour en savoir plus sur la propriété `mtls_endpoint_aliases`, consultez [Appeler le serveur de ressources](/docs/fr-ca/get-started/authentication-and-authorization-flow/authenticate-with-mtls#call-the-resource-server).

Vous pouvez activer les alias de point de terminaison mTLS à l’aide d’<Tooltip tip="Management API : un produit qui permet aux clients d’effectuer des tâches administratives." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=Auth0+Dashboard">Auth0 Dashboard</Tooltip> et de la <Tooltip tip="Auth0 Dashboard : le principal produit d’Auth0 pour configurer vos services." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=Management+API">Management API</Tooltip>.

<Tabs>
  <Tab title="Auth0 Dashboard">
    Pour activer les alias de point de terminaison mTLS à l’aide d’Auth0 Dashboard :

    1. Accédez à [Auth0 Dashboard](https://manage.auth0.com/#/tenant/general) et sélectionnez **Settings** dans le menu latéral.
    2. Sous Tenant Settings, sélectionnez l’onglet **Advanced**.
    3. Repérez **Allow mTLS Endpoint Aliases** et activez la bascule. Le trafic mTLS sera alors acheminé vers un point de terminaison nommé `mtls.<your custom domain>`**.**
  </Tab>

  <Tab title="Management API">
    Pour activer les alias de point de terminaison mTLS à l’aide de la [Management API](https://auth0.com/docs/api/management/v2), définissez la propriété `enable_endpoint_aliases` sur `true` pour votre tenant :

    ```bash lines theme={null}
    curl --location --request PATCH 'https://$tenant/api/v2/tenants/settings' \
      --header 'Authorization: Bearer $management_access_token' \
      --header 'Content-Type: application/json' \
      --data-raw '{
      "mtls": {
        "enable_endpoint_aliases": true
      }
    }'
    ```

    Les alias de point de terminaison mTLS ajoutent le préfixe `mtls.` au domaine personnalisé configuré. Par exemple, si le domaine personnalisé configuré est `auth.saasapp.com`, les alias de point de terminaison mTLS utiliseront le domaine `mtls.auth.saasapp.com`. Selon les commentaires reçus, les clients pourraient éventuellement pouvoir configurer les alias de point de terminaison mTLS.

    <Warning>
      Le sous-domaine mTLS n’est pas sous le contrôle d’Auth0. Les administrateurs doivent bien comprendre les risques liés aux sous-domaines et agir en conséquence. Cela comprend notamment :

      * S’assurer de détenir le domaine de premier niveau et les sous-domaines utilisés avec mTLS, et de pouvoir les administrer. Sinon, cela pourrait entraîner la perte à la fois du gestionnaire de connexion et du sous-domaine mTLS. C’est particulièrement important lorsque vous utilisez des [domaines personnalisés](/docs/fr-ca/customize/custom-domains).
      * S’assurer que vous disposez d’un certificat SSL pour le sous-domaine mTLS, c.-à-d. `mtls.auth.saasapp.com`. Un certificat générique pour `*.saasapp.com` n’inclut pas le sous-domaine mTLS.

      Prévenir les prises de contrôle de sous-domaines causées par des entrées DNS orphelines si une adresse IP n’est plus utilisée. Pour en savoir plus, consultez la documentation [Subdomain takeovers](https://developer.mozilla.org/en-US/docs/Web/Security/Subdomain_takeovers) de Mozilla Developer Network (MDN).
    </Warning>

    Pour désactiver les alias de point de terminaison mTLS, définissez la valeur `enable_endpoint_aliases` sur `false`. Pour en savoir plus, consultez la documentation de l’API [Update Tenant Settings](https://auth0.com/docs/api/management/v2/tenants/patch-settings).
  </Tab>
</Tabs>

<div id="learn-more">
  ## En savoir plus
</div>

* [Authentification avec mTLS](/docs/fr-ca/get-started/authentication-and-authorization-flow/authenticate-with-mtls)
* [Mettre en place le Customer Edge](/docs/fr-ca/get-started/applications/configure-mtls/set-up-the-customer-edge)
* [Configurer l’authentification mTLS pour un client](/docs/fr-ca/get-started/applications/configure-mtls/configure-mtls-for-a-client)
