Lorsque vous plongez dans la plateforme infonuagique Azure, vous êtes confronté à plusieurs termes qui peuvent sembler interchangeables, mais qui ont des significations distinctes. Parmi eux figurent le Service Principal, l’Identité managée et l’Inscription d’Application. Dans cet article, nous allons dissiper la confusion en expliquant clairement ce que chacun de ces termes signifie et comment ils s’intègrent dans Microsoft Entra ID aka Azure Active Directory.
I. Inscription d’application
Toute application qui sous-traite l’authentification à Microsoft Entra ID doit être enregistrée dans un répertoire.
Une Inscription d’Application, ou Application Registration en anglais, est une configuration dans Microsoft Entra ID qui définit comment une application ou un service peut se connecter à Microsoft Entra ID. Elle spécifie les autorisations, les types d’accès et d’autres paramètres liés à l’authentification et à l’autorisation pour cette application.
Plusieurs objets dans Azure permettent de représenter une inscription d’application, notamment :
- L’objet Application
- L’identité managée
- Le service principal
Lorsque vous créez une inscription d’application à partir du portail Azure, via la page « App registration » un objet d’Application et un Service Principal sont créés.
Si vous créez votre inscription d’application en utilisant l’API Microsoft Graph, à ce moment, uniquement l’objet d’application est créé.
II. Objet application
II–1. Qu’est-ce que l’objet d’application
L’application est la représentation de votre application dans Microsoft Entra ID. C’est comme la carte d’identité de votre application. Elle contient des informations telles que le nom de l’application, l’URI de connexion (pour la redirection lors de l’authentification), et un identifiant unique (ID de l’application). Elle permettra de définir les ressources auxquelles l’application peut avoir besoin d’accéder et les actions que l’application peut effectuer.
II-2. Utilisations courantes
- Intégration d’applications tierces avec Microsoft Entra ID.
- Configuration des autorisations d’accès aux ressources Azure.
- Gestion des clés d’application pour l’authentification.
II-3. Exemple d’utilisation
Supposons que vous développez une application web dans Azure qui permet aux utilisateurs de se connecter. Vous créerez une inscription d’application dans Microsoft Entra ID pour cette application web, où vous définirez son nom, son URI de connexion, et elle obtiendra son propre ID d’application unique.
III. Service Principal
III-1. Qu’est-ce qu’un Service Principal ?
Un Service Principal est une entité de sécurité dans Azure utilisée par une application, un service ou un objet de sécurité pour s’authentifier auprès de Microsoft Entra ID et accéder à des ressources. Il s’agit généralement d’un élément essentiel pour définir les autorisations et les rôles sur les ressources Azure.
III-2. Utilisations courantes
- Déploiement et gestion automatisés d’Azure.
- Autorisation d’accès aux ressources Azure.
III-3. Exemple concret :
Si vous développez une application qui doit accéder à un compte de stockage Azure pour lire et écrire des données, vous créerez un service principal pour cette application. Vous attribuerez ensuite des autorisations spécifiques au service principal pour qu’il puisse accéder au compte de stockage.
Un autre exemple est l’utilisation des principaux de service avec des autorisations spécifiques au niveau des abonnements/groupes de ressources pour permettre à des plateformes d’intégration continue comme Azure DevOps ou encore GitHub Action de créer des ressources dans Azure.
Un gros irritant du service principal est la gestion des secrets. C’est pour cela qu’il est recommandé d’utiliser les identités managées à la place ou c’est possible.
IV. Identité Managée
IV-1. Qu’est-ce qu’une Identité Managée ?
Une Identité managée est une entité de sécurité qui est utilisée pour faciliter la communication entre des ressources Azure. L’identité managée va permettre à une ressource de s’authentifier auprès d’une autre ressource et utiliser celle-ci. Les identités managées permettent de simplifier la vie aux développeurs, car ils n’ont plus besoin de gérer les informations d’identification des ressources.
IV-2. Utilisations courantes
- Authentification sécurisée des ressources Azure.
- Élimination du stockage de secrets sensibles dans le code source.
- Intégration transparente avec Microsoft Entra ID.
IV-3. Exemple concret
Supposons que vous avez développé une application web hébergée sur Azure App Service qui a besoin d’accéder à des clés secrètes ou à des connexions sécurisées stockées dans un coffre de clés Azure Key Vault. Au lieu d’avoir à stocker les clés d’authentification dans la configuration de l’application, vous pouvez utiliser une identité managée qui va permettre à l’App Service d’accéder de manière sécurisée au coffre de clés.
Conclusion
En comprenant ces concepts fondamentaux des inscriptions d’application, vous êtes mieux équipé pour gérer et sécuriser vos applications et vos ressources dans Microsoft Azure. Les applications, identités managées et services principaux sont des outils essentiels pour garantir que vos applications fonctionnent de manière sécurisée et efficace dans le cloud.
La prochaine fois que vous configurerez une application dans Azure, vous saurez maintenant comment choisir entre une inscription d’application, une identité managée ou un service principal en fonction de vos besoins spécifiques. Ces outils vous permettent de tirer le meilleur parti de la puissance de Microsoft Azure tout en maintenant un haut niveau de sécurité.