Scénarios d’authentification et recommandations
Si vous avez une application web ou une API en cours d’exécution dans Azure App Service, vous pouvez restreindre l’accès à celle-ci en fonction de l’identité des utilisateurs ou des applications qui la demandent. App Service propose plusieurs solutions d’authentification pour vous aider à atteindre cet objectif. Dans cet article, vous découvrez les différentes solutions d’authentification, leurs avantages et inconvénients, et la solution d’authentification à utiliser dans des scénarios spécifiques.
Solutions d’authentification
- Authentification intégrée à Azure App Service : vous permet de connecter les utilisateurs et d’accéder aux données sans avoir à écrire beaucoup de code dans votre application web, votre API RESTful ou votre back end mobile. L’authentification est directement intégrée à la plateforme et ne nécessite pas de langage particulier, de bibliothèque, d’expertise en matière de sécurité ou même de code à utiliser.
- Bibliothèque d’authentification Microsoft (MSAL) : permet aux développeurs d’acquérir des jetons de sécurité auprès de la plateforme d’identités Microsoft afin d’authentifier les utilisateurs et d’accéder aux API web sécurisées. Disponibles pour plusieurs plateformes et infrastructures prises en charge, ces bibliothèques à usage général peuvent être utilisées dans différents environnements hébergés. Les développeurs peuvent également effectuer une intégration à plusieurs fournisseurs de connexion, comme Microsoft Entra, Facebook, Google et X.
- Microsoft.Identity.Web : un MSAL.NET d’habillage de bibliothèque de niveau supérieur, il fournit un ensemble d’abstractions ASP.NET Core qui simplifient l’ajout de la prise en charge de l’authentification aux applications web et aux API web qui s’intègrent à la plateforme d’identités Microsoft. Il fournit une couche pratique d’API à surface unique qui associe ASP.NET Core, son intergiciel d’authentification et MSAL.NET. Cette bibliothèque peut être utilisée dans des applications dans différents environnements hébergés. Vous pouvez effectuer une intégration à plusieurs fournisseurs de connexion, comme Microsoft Entra, Facebook, Google et X.
Recommandations relatives aux scénarios
Le tableau suivant répertorie chaque solution d’authentification et certains facteurs importants pour savoir quand vous l’utiliserez.
Méthode d'authentification | Quand l’utiliser |
---|---|
Authentification App Service intégrée | * Vous voulez moins de code à posséder et à gérer. * La langue et les SDK de votre application ne permettent pas la connexion ou l’autorisation de l’utilisateur. * Vous n’avez pas la possibilité de modifier le code de votre application (par exemple, lors de la migration d’applications héritées). * Vous devez gérer l’authentification par la configuration et non par le code. * Vous devez connecter des utilisateurs externes ou sociaux. |
Bibliothèque d’authentification Microsoft (MSAL) | * Vous avez besoin d’une solution de code dans l’un des différents langages * Vous devez ajouter une logique d’autorisation personnalisée. * Vous devez prendre en charge le consentement incrémentiel. * Vous avez besoin d’informations sur l’utilisateur connecté dans votre code. * Vous devez connecter des utilisateurs externes ou sociaux. * Votre application doit gérer l’expiration du jeton d’accès sans obliger l’utilisateur à se reconnecter. |
Microsoft.Identity.Web | * Vous disposez d’une application ASP.NET Core. * Vous avez besoin d’une prise en charge de l’authentification unique dans votre IDE pendant le développement local. * Vous devez ajouter une logique d’autorisation personnalisée. * Vous devez prendre en charge le consentement incrémentiel. * Vous avez besoin d’un accès conditionnel dans votre application web. * Vous avez besoin d’informations sur l’utilisateur connecté dans votre code. * Vous devez connecter des utilisateurs externes ou sociaux. * Votre application doit gérer l’expiration du jeton d’accès sans obliger l’utilisateur à se reconnecter. |
Le tableau suivant répertorie les scénarios d’authentification et la ou les solutions d’authentification à utiliser.
Scénario | Authentification App Service intégrée | Microsoft Authentication Library | Microsoft.Identity.Web |
---|---|---|---|
Vous avez besoin d’un moyen simple et rapide pour limiter l’accès aux utilisateurs de votre organisation ? | ✅ | ❌ | ❌ |
Impossible de modifier le code d’application (scénario de migration d’application) ? | ✅ | ❌ | ❌ |
La langue et les bibliothèques de votre application prennent en charge la connexion/l’autorisation de l’utilisateur ? | ❌ | ✅ | ✅ |
Même si vous pouvez utiliser une solution de code, préférez-vous ne pas utiliser de bibliothèques ? Vous ne voulez pas vous charger de la maintenance ? | ✅ | ❌ | ❌ |
Votre application web doit-elle fournir un consentement incrémentiel ? | ❌ | ✅ | ✅ |
Avez-vous besoin d’un accès conditionnel dans votre application web ? | ❌ | ❌ | ✅ |
Votre application doit gérer l’expiration du jeton d’accès sans obliger l’utilisateur à se reconnecter (utiliser un jeton d’actualisation) ? | ✅ | ✅ | ✅ |
Vous avez besoin d’une logique d’autorisation personnalisée ou d’informations sur l’utilisateur connecté ? | ❌ | ✅ | ✅ |
Vous devez connecter des utilisateurs à partir de fournisseurs d’identité externes ou sociaux ? | ✅ | ✅ | ✅ |
Vous avez une application ASP.NET Core ? | ✅ | ❌ | ✅ |
Vous avez une application monopage ou une application web statique ? | ✅ | ✅ | ✅ |
Vous souhaitez intégrer Visual Studio ? | ❌ | ❌ | ✅ |
Vous avez besoin d’une prise en charge de l’authentification unique dans votre IDE pendant le développement local ? | ❌ | ❌ | ✅ |
Étapes suivantes
Pour commencer à utiliser l’authentification App Service intégrée, lisez :
Pour commencer à utiliser la bibliothèque d’authentification Microsoft (MSAL), lisez :
- Ajouter la connexion avec Microsoft à une application web
- Autoriser uniquement l’utilisateur authentifié à accéder à une API web
- Connecter des utilisateurs à une application monopage (SPA)
Pour commencer à utiliser Microsoft.Identity.Web, lisez :
- Connecter des utilisateurs à une application web
- Protéger une API web
- Connecter des utilisateurs à une application Blazor Server
En savoir plus sur Authentification et autorisation intégrées App Service