- Auth0 comme fournisseur de services SAML (par exemple, une connexion SAML)
- Auth0 comme SAML (par exemple, une application configurée avec le SAML Web App addon)
Auth0 en tant que fournisseur de services SAML
Signer la requête d’authentification SAML
- Accédez à Auth0 Dashboard > Authentication > Enterprise, puis sélectionnez SAML.
- Sélectionnez le nom de la connexion à afficher.
- Repérez Sign Request et activez son commutateur.
- Téléchargez le certificat sous le commutateur Sign Request, puis remettez-le à l’IdP afin qu’il puisse valider la signature.
Activer/désactiver l’encodage deflate
deflate à false.
La mise à jour de l’objet options d’une connexion remplace l’intégralité de l’objet options. Pour conserver les options de connexion existantes, récupérez l’objet options actuel et ajoutez-y de nouvelles paires clé-valeur.
Point de terminaison : https://{yourDomain}/api/v2/connections/{yourConnectionId}
Charge utile :
Utiliser une clé personnalisée pour signer les requêtes
signing_key à l’objet options, comme dans l’exemple de charge utile ci-dessous.
La mise à jour de l’objet options d’une connexion remplace l’objet options au complet. Pour conserver les options de connexion existantes, récupérez l’objet options actuel et ajoutez-y les nouvelles paires clé-valeur.
Point de terminaison : https://{yourDomain}/api/v2/connections/{yourConnectionId}
charge utile :
Recevoir des réponses d’authentification SAML signées
- Accédez à Auth0 Dashboard > Authentication > Enterprise, puis sélectionnez SAML.
- Sélectionnez le nom de la connexion à consulter.
- Repérez X509 Signing Certificate, puis téléversez le certificat.
- Sélectionnez Save Changes.
Recevoir des assertions d’authentification SAML chiffrées
Définir les algorithmes de déchiffrement du contenu
- Si l’assertion est chiffrée au moyen d’un algorithme qui ne figure pas dans la liste, elle sera rejetée par Auth0.
-
Si votre IdP ne prend pas en charge un algorithme de la liste, vous pouvez utiliser le paramètre
algorithm_exceptionspour remplacer le profil de sécurité. Auth0 recommande d’utiliser le dernier profil d’algorithmes pour déchiffrer les assertions SAML.
assertion_decryption_settings, comme indiqué dans l’exemple de charge utile ci-dessous.
Lorsque vous mettez à jour l’objet options d’une connexion, la nouvelle configuration remplace entièrement l’objet options. Pour conserver les options de connexion précédentes, récupérez l’objet options existant et ajoutez-y de nouvelles paires clé-valeur.
Point de terminaison : https://{yourDomain}/api/v2/connections/{yourConnectionId}
charge utile :
Utilisez votre paire de clés pour déchiffrer les réponses chiffrées
decryptionKey à l’objet options, comme illustré dans l’exemple de charge utile ci-dessous.
La mise à jour de l’objet options d’une connexion remplace l’objet options au complet. Pour conserver les options de connexion existantes, récupérez l’objet options actuel et ajoutez-y de nouvelles paires clé-valeur.
Point de terminaison : https://{yourDomain}/api/v2/connections/{yourConnectionId}
Charge utile :
Auth0 comme fournisseur d’identité SAML
Signer les réponses/assertions SAML
- Accédez à Auth0 Dashboard > Applications, puis sélectionnez le nom de l’application à afficher.
- Faites défiler jusqu’au bas de la page Settings, sélectionnez Show Advanced Settings, puis la vue Certificates.
- Sélectionnez Download Certificate, puis le format dans lequel vous souhaitez recevoir votre certificat de signature.
- Envoyez votre certificat au fournisseur de services.
- Accédez à Auth0 Dashboard > Applications, puis sélectionnez le nom de l’application à afficher.
- Sélectionnez la vue Addons.
- Sélectionnez SAML2 Web App pour afficher ses paramètres, puis repérez le bloc de code Settings.
-
Repérez la clé
"signResponse". Supprimez les marques de commentaire (ou ajoutez-la, au besoin), puis définissez sa valeur àtrue(la valeur par défaut estfalse). La configuration devrait ressembler à ceci :
Changer la clé de signature pour les réponses SAML
Effectuer la rotation de la clé de signature du tenant
next avant d’effectuer la rotation dépend de la capacité de chacun à gérer plus d’un certificat de signature de fournisseur d’identité à la fois.
Avant d’effectuer la rotation, récupérez le certificat NEXT IN QUEUE :
- Accédez à Dashboard > Paramètres > Clés de signature et faites défiler jusqu’à Liste des clés valides.
- Repérez la clé valide NEXT IN QUEUE.
- Sélectionnez Télécharger le certificat de signature dans le menu à points de suspension (…).
GET au point de terminaison Obtenir toutes les clés de signature d’application de la Management API; la réponse comprend le champ "cert" d’une clé valide dont "next": true.
Fournisseurs de services qui prennent en charge plusieurs certificats de signature
Pour assurer l’absence d’interruption de service, de nombreux fournisseurs de services peuvent accepter plusieurs certificats de signature IdP. Ajoutez le certificat valide next au certificat actuel afin que les deux soient approuvés simultanément lorsque Auth0 commencera à l’utiliser.
- Téléversez le certificat suivant vers le fournisseur de services en tant que certificat de signature approuvé supplémentaire. Ne supprimez pas et ne remplacez pas encore le certificat actuel.
- Confirmez que le fournisseur de services répertorie les certificats actuel et suivant comme approuvés.
- Une fois que chaque fournisseur de services approuve les deux certificats, effectuez la rotation de la clé. Ne supprimez l’ancien certificat de vos fournisseurs de services qu’après avoir confirmé que les connexions réussissent.
- Coordonnez-vous avec le fournisseur de services pour planifier le changement pendant une période de faible trafic ou une fenêtre de maintenance.
- Effectuez la rotation de la clé de signature dans Auth0 et remplacez le certificat approuvé du fournisseur de services par le certificat suivant à des moments aussi rapprochés que possible. Entre ces deux actions, les connexions par l’intermédiaire de ce fournisseur de services échoueront lors de la validation de la signature.
- Une fois que le fournisseur de services possède le nouveau certificat, vérifiez que les connexions réussissent.
Recevoir des requêtes d’authentification SAML signées
- Téléchargez le certificat du fournisseur de services contenant la clé publique.
- Accédez à Auth0 Dashboard > Applications, puis sélectionnez le nom de l’application pour l’afficher.
- Sélectionnez la vue Addons.
- Sélectionnez SAML2 Web App pour afficher ses paramètres, puis repérez le bloc de code Settings.
-
Repérez la clé
"signingCert". Décommentez-la (ou ajoutez-la, au besoin), puis attribuez-lui comme valeur le certificat que vous avez téléchargé depuis le fournisseur de services. La configuration devrait ressembler à ceci :
Envoyer des assertions d’authentification SAML chiffrées
aes256-gcm pour un niveau de sécurité supérieur.
Vous devez obtenir le certificat et la clé publique du fournisseur de services. Si vous n’avez obtenu que le certificat, vous pouvez en extraire la clé publique à l’aide de openssl. En supposant que le fichier de certificat s’appelle certificate.pem, vous pouvez exécuter :
openssl x509 -in certificate.pem -pubkey -noout > public_key.pem
Une fois que vous avez les fichiers du certificat et de la clé publique, vous devez les convertir en chaînes de caractères pour les utiliser dans une Action. L’Action se présentera comme suit :
aes256-gcm(recommandé) : un chiffrement authentifié qui assure à la fois la confidentialité et l’intégrité. Il résiste aux attaques par oracle sur la validité du format.aes256-cbc(par défaut) : il n’offre aucune garantie d’intégrité. Lorsqu’une Action n’utilise pas l’objetapi.samlResponse.setEncryptionAlgorithmpour définir l’algorithme de chiffrement, Auth0 utilise par défaut l’algorithmeaes256-cbcet consigne un avertissement de dépréciation dans les journaux de votre tenant.
Pour le transport de clé, Auth0 utilise
rsa-oaep, y compris les fonctions MGF1 et SHA1.