Configurer l’authentification mTLS pour un locataire
Décrit comment configurer l’authentification mTLS pour un locataire.
Découvrez comment configurer l’authentification mTLS pour un locataire.
Les exemples suivants utilisent $management_access_token, c’est-à-dire un jeton d’accès de la Management API. Celui-ci doit être remplacé par un jeton d’accès contenant 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 la façon d’obtenir un jeton d’accès avec les scopes requis, consultez Obtenir des jetons d’accès.
Au niveau du locataire, vous devez configurer un domaine personnalisé pour accepter les en-têtes mTLS avec la Management API. Comme la customer edge est chargée de valider les certificats clients, définissez type à self_managed_certs dans la requête POST :
Vous pouvez configurer un domaine personnalisé existant pour qu’il accepte les en-têtes mTLS à l’aide de la Management API. Cependant, vous ne pouvez pas mettre à jour le type d’un domaine personnalisé existant.
Seuls les domaines personnalisés de type self_managed_certs peuvent être utilisés avec mTLS. Auth0 ne prend actuellement pas en charge le type auth0_managed_certs pour mTLS.
La requête POST suivante configure un domaine personnalisé existant pour qu’il accepte les en-têtes mTLS :
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 pour envoyer la requête POST suivante afin de vérifier le domaine personnalisé :
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, que vous devez configurer dans 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 Verify a custom domain.
Lorsque la négociation mTLS demande un certificat client au client, le navigateur Web affiche aux utilisateurs une boîte de dialogue modale pour sélectionner un certificat. Cela alourdit 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 points de terminaison mTLS.Les alias de points de terminaison mTLS indiquent que les applications 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 applications 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.Vous pouvez activer les alias de points de terminaison mTLS avec le et la .
Auth0 Dashboard
Management API
Pour activer les alias de points de terminaison mTLS à l’aide d’Auth0 Dashboard :
Accédez à Auth0 Dashboard et sélectionnez Settings dans le menu latéral.
Sous Tenant Settings, sélectionnez l’onglet Advanced.
Repérez Allow mTLS Endpoint Aliases et activez l’option. Le trafic mTLS sera alors acheminé vers un point de terminaison appelé mtls.<your custom domain>.
Pour activer les alias de points de terminaison mTLS à l’aide de la Management API, définissez la propriété enable_endpoint_aliases à true pour votre locataire :
Les alias de points 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 points de terminaison mTLS utiliseront le domaine mtls.auth.saasapp.com. Selon les commentaires reçus, les clients pourraient éventuellement pouvoir configurer les alias de points de terminaison mTLS eux-mêmes.
Le sous-domaine mTLS est hors du contrôle d’Auth0. Les administrateurs doivent être conscients des risques liés aux sous-domaines et agir en conséquence. Cela comprend notamment ce qui suit :
S’assurer qu’ils sont bien propriétaires du domaine de premier niveau et des sous-domaines utilisés avec mTLS, et qu’ils peuvent les administrer. Sinon, ils risquent de perdre à la fois le gestionnaire de connexion et le sous-domaine mTLS. Cela est particulièrement important lors de l’utilisation de domaines personnalisés.
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 pendantes si une adresse IP n’est plus utilisée. Pour en savoir plus, consultez la documentation de Mozilla Developer Network (MDN) sur les prises de contrôle de sous-domaines.
Pour désactiver les alias de points de terminaison mTLS, définissez la valeur enable_endpoint_aliases à false. Pour en savoir plus, consultez la documentation de l’API Mettre à jour les paramètres du locataire.