Partage via


Sécuriser la connectivité aux services et bases de données Azure à partir d’Azure App Service

Votre service d’application peut avoir besoin de se connecter à d’autres services Azure, tels qu’une base de données, un stockage ou une autre application. Cette vue d’ensemble recommande différentes méthodes de connexion, et indique quand les utiliser.

Aujourd’hui, la décision d’une approche de connectivité est étroitement liée à la gestion des secrets. Le modèle courant d’utilisation des secrets de connexion dans les chaînes de connexion, tels que le nom d’utilisateur et le mot de passe, la clé secrète, etc. n’est plus considéré comme l’approche la plus sécurisée pour la connectivité. Le risque est encore plus élevé aujourd’hui, car les acteurs des menaces analysent régulièrement les référentiels GitHub publics pour les secrets de connexion validés accidentellement. Pour les applications cloud, la meilleure gestion des secrets consiste à ne pas avoir de secrets du tout. Lorsque vous migrez vers Azure App Service, votre application peut commencer par une connectivité basée sur des secrets, et App Service vous permet de conserver les secrets en toute sécurité. Toutefois, Azure peut vous aider à sécuriser la connectivité back-end de votre application via l’authentification Microsoft Entra, ce qui élimine complètement les secrets dans votre application.

Méthode de connexion Quand utiliser
Se connecter avec une identité d’application * Vous souhaitez supprimer complètement les informations d’identification, les clés ou les secrets de votre application.
* Le service Azure en aval prend en charge l’authentification Microsoft Entra, telle que Microsoft Graph.
* La ressource en aval n’a pas besoin de connaître l’utilisateur connecté actuel ou n’a pas besoin de l’autorisation granulaire de l’utilisateur connecté actuel.
Se connecter pour le compte de l’utilisateur connecté * L’application doit accéder à une ressource en aval pour le compte de l’utilisateur connecté.
* Le service Azure en aval prend en charge l’authentification Microsoft Entra, telle que Microsoft Graph.
* La ressource en aval doit effectuer une autorisation granulaire de l’utilisateur connecté actuel.
Se connecter à l’aide de secrets * La ressource en aval nécessite des secrets de connexion.
* Votre application se connecte à des services non-Azure, tels qu’un serveur de base de données local.
* Le service Azure en aval ne prend pas encore en charge l’authentification Microsoft Entra.

Se connecter avec une identité d’application

Si votre application utilise déjà un seul ensemble d’informations d’identification pour accéder à un service Azure en aval, vous pouvez rapidement convertir la connexion pour utiliser une identité d’application à la place. Une identité managée à partir de l’ID Microsoft Entra permet à App Service d’accéder aux ressources sans secrets, et vous pouvez gérer son accès via le contrôle d’accès en fonction du rôle (RBAC). Une identité managée peut se connecter à n’importe quelle ressource Azure prenant en charge l’authentification Microsoft Entra, et l’authentification a lieu avec des jetons de courte durée.

L’image suivante illustre la connexion d’un service d’application à d’autres services Azure :

  • A : L’utilisateur se rend sur le site web du service d’application Azure.
  • B : Connexion sécurisée d’App Service vers un autre service Azure à l’aide d’une identité managée.
  • C : Connexion sécurisée d’App Service vers Microsoft Graph à l’aide d’une identité managée.

Diagramme montrant l’identité managée accédant à une ressource avec ou sans l’identité de l’utilisateur.

Exemples d’utilisation de secrets d’application pour se connecter à une base de données :

Se connecter pour le compte de l’utilisateur connecté

Votre application peut avoir besoin de se connecter à un service en aval pour le compte de l’utilisateur connecté. App Service vous permet d’authentifier facilement les utilisateurs à l’aide des fournisseurs d’identité les plus courants (consultez Authentification et autorisation dans Azure App Service et Azure Functions). Si vous utilisez le fournisseur Microsoft (authentification Microsoft Entra), vous pouvez ensuite transmettre l’utilisateur connecté à n’importe quel service en aval. Par exemple :

  • Exécutez une requête de base de données qui retourne des données confidentielles que l’utilisateur connecté est autorisé à lire.
  • Récupérez des données personnelles ou effectuez des actions en tant qu’utilisateur connecté dans Microsoft Graph.

L’image suivante montre une application qui accède de manière sécurisée à une base de données SQL pour le compte de l’utilisateur connecté.

Diagramme architectural du scénario du tutoriel.

Voici quelques scénarios courants :

Se connecter à l’aide de secrets

Il existe deux façons recommandées d’utiliser les secrets dans votre application : utiliser les secrets stockés dans Azure Key Vault ou utiliser les secrets dans les paramètres d’application App Service.

Utiliser les secrets de Key Vault

Azure Key Vault permet de stocker des secrets et des clés de manière sécurisée, d’effectuer un monitoring des accès aux secrets et de leur utilisation, et de simplifier l’administration des secrets d’application. Si le service en aval ne prend pas en charge l’authentification Microsoft Entra, ou s’il nécessite une clé ou une chaîne de connexion, utilisez Key Vault pour stocker vos secrets. Connectez ensuite votre application à Key Vault avec une identité managée pour récupérer les secrets. Votre application peut accéder à ces secrets de coffre de clés en tant que références Key Vault dans les paramètres de l’application.

Les avantages des identités managées intégrées à Key Vault sont les suivants :

  • L’accès au secret Key Vault est limité à l’application.
  • Les contributeurs de l’application, par exemple les administrateurs, peuvent disposer d’un contrôle total sur les ressources App Service, mais n’ont pas accès aux secrets Key Vault.
  • Si le code de votre application accède déjà aux secrets de connexion avec les paramètres d’application, aucune modification du code n’est requise.
  • Key Vault permet un monitoring et un audit des utilisateurs qui ont accédé aux secrets.
  • La rotation des secrets Key Vault ne nécessite aucune modification dans App Service.

L’image suivante illustre la connexion d’App Service à Key Vault avec une identité managée, puis l’accès à un service Azure à l’aide des secrets stockés dans Key Vault :

Diagramme montrant un service d'application utilisant un secret stocké dans Key Vault et géré avec l'identité managée pour se connecter aux services Azure AI.

Utiliser des secrets dans les paramètres d’application

Pour les applications qui se connectent aux services à l’aide de secrets (tels que des noms d’utilisateur, des mots de passe et des clés API), App Service peut les stocker en toute sécurité dans les paramètres d’application. Ces secrets sont injectés dans votre code d’application en tant que variables d’environnement au démarrage de l’application. Une fois stockés, les paramètres d’application sont toujours chiffrés (chiffrement au repos). Pour une gestion des secrets plus avancée, telle que la rotation des secrets, les stratégies d’accès et l’historique d’audit, essayez d’utiliser Key Vault.

Exemples d’utilisation de secrets d’application pour se connecter à une base de données :

Étapes suivantes

Découvrez comment :