Interfaces résilientes avec des processus externes utilisant Azure AD B2C
Dans cet article, nous allons vous aider à planifier et à implémenter les API RESTful pour rendre votre application plus résiliente aux défaillances d’API.
Vérifier le placement correct des API
Utilisez des stratégies IEF (Identity Experience Framework) pour appeler un système externe à l’aide d’un profil technique d’API RESTful. L’environnement du runtime IEF ne contrôle pas les systèmes externes, ce qui constitue un point de défaillance potentiel.
Gérer les systèmes externes à l’aide d’API
Lors de l’appel d’une interface pour accéder à certaines données, confirmez que les données déterminent la décision d’authentification. Déterminez si les informations sont essentielles à la fonctionnalité de l’application. Par exemple, un e-commerce par rapport à une fonctionnalité secondaire comme une administration. Si les informations ne sont pas nécessaires à l’authentification, envisagez de déplacer l’appel vers la logique de l’application.
Si les données d’authentification ne doivent pas être externalisées et sont relativement statiques et petites, placez-les dans l’annuaire.
Si possible, supprimez les appels d’API du chemin d’accès préauthentifié. Si ce n’est pas possible, activez les protections contre les attaques par déni de service (DoS) et par déni de service distribué (DDoS) pour les API. Les attaquants peuvent charger la page de connexion et tenter de saturer votre API avec des attaques DoS pour désactiver votre application. Par exemple, utilisez un test CAPTCHA (Completely Automated Public Turing Test To Tell Computers and Humans Apart) dans votre flux de connexion et d’inscription.
Utilisez les connecteurs d’API des flux d’utilisateurs d’inscription pour intégrer les API web après la fédération avec un fournisseur d’identité, pendant l’inscription ou avant la création de l’utilisateur. Les flux d’utilisateurs étant testés, vous n’avez pas besoin d’effectuer de tests fonctionnels, de performance ou de mise à l’échelle au niveau des flux d’utilisateurs. Testez la fonctionnalité, le niveau de performance et la mise à l’échelle de vos applications.
Les profils techniques de l’API RESTful Azure AD B2C ne fournissent aucun comportement de mise en cache. Au lieu de cela, le profil d’API RESTful implémente une logique de nouvelle tentative et un délai d’expiration intégré à la stratégie.
Pour les API qui doivent écrire des données, utilisez une tâche pour que ces actions soient exécutées par un Worker en arrière-plan. Utilisez des services tels que File d’attente Azure. Cette pratique permet de retourner l’API efficacement et augmente les performances d’exécution de la stratégie.
Erreurs d’API
Étant donné que les API résident en dehors du système Azure AD B2C, activez la gestion des erreurs dans le profil technique. Vérifiez que les utilisateurs sont informés et que l’application peut gérer correctement les défaillances.
Gérer les erreurs d’API
Étant donné que les API échouent pour diverses raisons, faites en sorte que votre application soit résiliente. Renvoyez un message d’erreur HTTP 4XX si l’API ne parvient pas à terminer la requête. Dans la stratégie Azure AD B2C, essayez de gérer l’indisponibilité de l’API et peut-être d’afficher une expérience réduite.
Gérez correctement les erreurs temporaires. Utilisez le profil d’API RESTful pour configurer des messages d’erreur pour différents disjoncteurs.
Surveillez et utilisez le processus d’intégration continue et livraison continue (CI/CD). Permutez les informations d’identification d’accès à l’API comme les mots de passe et les certificats utilisés par le moteur de profil technique.
Meilleures pratiques relatives au service Gestion des API
Lorsque vous déployez les API REST et configurez le profil technique RESTful, utilisez les meilleures pratiques suivantes pour éviter les erreurs courantes.
Gestion des API
Le service Gestion des API (APIM) publie, gère et analyse les API. APIM gère également l’authentification pour fournir un accès sécurisé aux services back-end et aux microservices. Utilisez une passerelle API pour effectuer un scale-out des déploiements d’API, de la mise en cache et de l’équilibrage de charge.
Nous vous recommandons d’obtenir le bon jeton au lieu d’appeler plusieurs fois pour chaque API et de sécuriser une API APIM Azure.