buchachon - Fotolia
Administration cloud : comment sécuriser Azure Functions avec Entra ID
La gestion centralisée des identités est vitale pour la protection des ressources de votre entreprise. Cet article explique comment sécuriser Azure Functions avec Entra ID pour optimiser la sécurité des données.
La sécurisation d’Azure Functions est essentielle pour protéger les données sensibles et maintenir la sécurité et la résilience de vos applications.
Les entreprises peuvent limiter les risques en mettant en œuvre des mesures de sécurité, telles que le contrôle d’accès basé sur les rôles (RBAC), le chiffrement et des évaluations régulières de la sécurité. Les mécanismes de journalisation et de surveillance peuvent fournir des informations précieuses sur les incidents de sécurité ou les menaces éventuelles, ce qui permet de réagir de manière proactive. La sélection du flux d’authentification approprié pour votre application peut fournir une protection supplémentaire.
En suivant ces bonnes pratiques, vous pouvez créer un environnement sécurisé, efficace et convivial pour Azure Functions via Microsoft Entra ID.
Pourquoi sécuriser avec Entra ID ?
Entra ID, anciennement connu sous le nom d’Azure Active Directory, est essentiel pour la gestion centralisée des identités. Cet outil fournit un système avec des services Microsoft intégrés, qui simplifie l’accès des utilisateurs et la gestion des certificats d’identité. Ce système centralisé permet aux administrateurs de contrôler et de surveiller les accès à partir d’un point unique. Entra ID prend en charge de nombreux protocoles d’authentification et normes de sécurité, ce qui garantit une gestion sûre et efficace des identités des utilisateurs.
La fonction RBAC d’Entra ID est une caractéristique utile. Elle attribue des permissions spécifiques aux utilisateurs, garantissant que seules les personnes autorisées peuvent accéder aux fonctions et aux données sensibles. En utilisant le RBAC, les entreprises peuvent adhérer au principe du moindre privilège et réduire le risque d’atteinte à la sécurité. L’intégration d’Entra ID avec d’autres services Azure rationalise les politiques de sécurité et facilite la mise en place de mesures de sécurité cohérentes dans l’ensemble des ressources Azure.
Entra ID offre également des capacités avancées d’audit et de logs afin d’améliorer la sécurité. Il prend en charge l’authentification unique (SSO) et l’authentification multifacteurs (MFA), tandis que les audits et les logs conservent des enregistrements détaillés des accès et des activités. Ces enregistrements aident les entreprises à détecter rapidement les comportements suspects et à y répondre. Le SSO simplifie l’interface utilisateur en permettant l’accès à plusieurs applications à l’aide d’un seul jeu d’identifiants. La MFA ajoute une couche supplémentaire de sécurité en exigeant des étapes de vérification supplémentaires. Ces fonctionnalités permettent d’améliorer la sécurité, la conformité et le confort d’utilisation d’Azure Functions.
Choisir le bon flux d’authentification
Un flux d’authentification approprié est essentiel lors de l’intégration d’Entra ID avec Azure Functions. Entra ID propose différents flux d’authentification pour divers types d’applications et de scénarios. Comprendre ces flux peut vous aider à mettre en œuvre la meilleure stratégie d’authentification pour votre application.
Flux d’authentification Entra ID. Les flux d’authentification déterminent comment les utilisateurs prouvent leur identité pour accéder aux applications et aux ressources. Ces flux décrivent les étapes de l’échange sécurisé d’informations entre l’utilisateur, l’application et Entra ID. Il s’agit notamment d’obtenir des codes d’autorisation, de les échanger contre des jetons et de les valider pour garantir l’identité de l’utilisateur.
Des applications différentes nécessitent des flux différents, qu’il s’agisse d’applications à page unique, d’applications mobiles ou d’applications de bureau, chacune ayant ses propres considérations et compromis en matière de sécurité. Les flux d’authentification dans Entra ID comprennent les éléments suivants :
- Flux de code d’autorisation. Ce flux fonctionne pour les applications web et natives qui nécessitent une gestion sécurisée des jetons côté serveur. Il implique un processus en deux étapes au cours duquel l’application demande un code d’autorisation et l’échange contre un jeton d’accès. Ce flux est hautement sécurisé, car le jeton n’est jamais exposé à l’agent utilisateur, ce qui le rend idéal pour les applications hautement sécurisées.
- Flux implicite. Généralement utilisé par les applications à page unique fonctionnant dans un navigateur, ce flux est plus simple, mais moins sûr que le flux de code d’autorisation. Il permet à l’application d’obtenir un jeton d’accès d’Entra ID sans code d’autorisation intermédiaire. En raison de l’exposition directe du jeton, il n’est recommandé que pour les applications où un jeton de courte durée est acceptable et peut être traité en toute sécurité.
- Flux d’informations d’identification du client. Ce flux concerne les communications entre serveurs sans contexte utilisateur. L’application s’authentifie à l’aide de ses informations d’identification, telles que l’identifiant et le secret du client, pour obtenir un jeton d’accès. Il est idéal pour les services d’arrière-plan, les démons et les API qui ont besoin d’accéder à des ressources ou d’effectuer des opérations de manière indépendante.
- Flux de code de l’appareil. Ce flux de code permet aux utilisateurs de s’authentifier via un dispositif secondaire. L’application présente un code à l’utilisateur, qui s’authentifie ensuite sur un autre appareil pour approuver la demande. Il est conçu pour les appareils, dont les capacités de saisie sont limitées, tels que les téléviseurs intelligents ou les appareils IoT. Ce flux offre aux utilisateurs un moyen pratique et sécurisé de s’authentifier sur des appareils dont l’interface utilisateur est limitée.
Facteurs à prendre en compte lors du choix d’un flux. Il est essentiel de tenir compte de la sécurité lors du choix d’un flux d’authentification. Les applications qui traitent des données sensibles ou exigent une sécurité élevée doivent utiliser des flux qui minimisent l’exposition des jetons, comme le flux de code d’autorisation. Les scénarios dont les exigences en matière de sécurité sont moindres peuvent choisir les flux de code implicite ou de code d’appareil.
Le flux d’authentification choisi doit offrir aux utilisateurs une expérience transparente et intuitive. Par exemple, le flux de code d’appareil permet aux utilisateurs de s’authentifier sur des appareils dont les capacités de saisie sont limitées. Cela améliore la convivialité sans compromettre la sécurité. Le flux de code d’autorisation garantit une expérience fluide pour les utilisateurs d’applications web et natives en gérant de manière sécurisée les jetons en arrière-plan.
En tenant compte de ces facteurs et en comprenant leurs capacités, vous pouvez sélectionner le flux Entra ID qui équilibre les exigences en matière de sécurité, d’interface utilisateur et d’application. Cela garantit que l’environnement Azure Functions est à la fois sécurisé et convivial.
Comment sécuriser Azure Functions avec Entra ID
Pour protéger Azure Functions avec Entra ID, suivez les étapes suivantes :
1/ Enregistrer l’application Azure Functions dans Entra ID. Cela implique de configurer l’app Azure Functions dans le système d’authentification Entra ID pour permettre un contrôle d’accès sécurisé.
2/ Configurer l’authentification dans Azure Functions. Configurez les paramètres d’authentification nécessaires dans l’app Azure Functions pour vous assurer que seuls les utilisateurs ou applications autorisés peuvent accéder à la fonction.
3/ Autoriser l’accès. Définissez les contrôles d’accès et les autorisations spécifiques de la fonction, en spécifiant qui peut l’invoquer et quelles actions il peut effectuer.
4/ Mettre en œuvre l’authentification dans les applications clientes. Assurez-vous que toutes les applications clientes qui doivent invoquer la fonction sont correctement configurées pour gérer le processus d’authentification.
Pour sécuriser Azure Functions, accédez à Azure Portal et cliquez sur Azure Function. Dans la section Paramètres, choisissez Authentification, puis sélectionnez Ajouter un fournisseur d’identité. Choisissez un fournisseur dans la liste déroulante, par exemple Microsoft.
L’étape suivante consiste à déterminer si l’application Azure Functions est disponible pour les utilisateurs internes ou externes. Pour cet exemple, sélectionnez la configuration Workforce, qui ne prend en charge que le locataire actuel d’Entra ID.
Ensuite, choisissez un enregistrement d’application existant ou créez-en un. Les entrées d’enregistrement, telles qu’une application ou un compte, contrôlent toute la sécurité. Il en va de même pour les applications Azure Functions.
Définissez les vérifications supplémentaires de votre application Azure Functions et les paramètres d’authentification du service d’application.
Attribuez ensuite les autorisations nécessaires. Sélectionnez Suivant : Permissions, où vous pouvez ajouter toutes les autorisations Microsoft Graph. Par défaut, la permission attribuée est User.Read. Vous pouvez ajouter plus de permissions, comme lors de la création manuelle d’un enregistrement d’application. Par exemple, pour une application de fonction qui crée des utilisateurs dans Entra ID, vous devez assigner plus de permissions, comme celle ici :
Une fois que vous avez ajouté les autorisations requises, cliquez sur le bouton Ajouter pour enregistrer la nouvelle configuration.
Pour tester l’authentification, accédez à l’application Azure Functions. Cliquez sur la fonction spécifique, choisissez Obtenir l’URL de la fonction et lancez-la dans une fenêtre de navigateur.
Lorsque vous parcourez l’URL, vous devriez immédiatement être dirigé vers la fenêtre de consentement d’Entra ID si vous êtes connecté. Si ce n’est pas le cas, il vous demande de vous connecter et vous demande ensuite votre consentement.
L’avantage de protéger l’application Azure Functions de cette façon est que tous les contrôles de sécurité dans Entra ID sont pour la protection des comptes. Les fonctions telles que MFA et RBAC travaillent ensemble pour assurer la sécurité.
Bien que cette option soit sûre et fonctionne bien, il faut faire attention à l’approche autorisée en fonction de la façon dont d’autres applications ou entreprises consomment l’application Azure Functions. Par exemple, l’application de la MFA peut échouer si l’application consommatrice ne peut pas répondre à cette exigence.