Gérer les secrets des Azure Functions sur Azure Container Apps

Lorsque vous exécutez Azure Functions sur Azure Container Apps, vous utilisez deux catégories de secrets :

Catégorie Description Consommé par
Secrets au niveau de l’application Les valeurs de configuration que votre code de fonction lit au moment de l’exécution, telles que les chaînes de connexion de base de données, les clés API et les informations d’identification de déclencheur/liaison. Votre code et les liaisons de runtime de Functions.
Clés d’accès aux fonctions Jetons d’authentification (clés d’accès) qui sécurisent les points de terminaison de fonction déclenchés par HTTP, notamment les clés master, hôte, fonction et système. Appelants externes de vos fonctions HTTP (services, webhooks, développeurs).

Ces deux catégories diffèrent dans la direction :

Secrets au niveau de l’application Clés d’accès aux fonctions
Direction Sortant : votre fonction s’authentifie auprès d’autres services Entrant : les appelants s’authentifient auprès de votre fonction
Qui tient le secret Votre application de fonction L’appelant (fournisseur webhook, service, développeur)
Ce qu’il protège À quoi se connecte votre fonction Qui peut appeler votre point de terminaison HTTP
Validé par Le service cible Le runtime des fonctions

Secrets au niveau de l’application

Les secrets au niveau de l'application sont les informations d'identification nécessaires pour que votre code de fonction et vos liaisons puissent se connecter aux services externes. Vous pouvez les stocker de deux façons :

Option Idéal pour Rotation Audit Guide
Secrets des Container Apps Charges de travail de développement/test simple à application unique Manuel Journaux d’activité uniquement Stocker des secrets au niveau de l’application
Références de Key Vault Production, multi-applications, conformité Automatique (URI sans version) Diagnostics complets de Key Vault Stocker des secrets au niveau de l’application

Conseil / Astuce

Commencez par les "informations confidentielles" de Container Apps pour plus de simplicité. Passez aux références Key Vault lorsque vous avez besoin d’une gestion centralisée, d’une rotation automatique ou d’un audit de niveau de conformité.

Clés d’accès aux fonctions

Les clés d’accès fournissent une authentification de secret partagé léger pour les points de terminaison HTTP. Utilisez des clés d’accès lorsque les appelants ne peuvent pas présenter de jetons Microsoft Entra ID, comme pour les webhooks tiers, les appels de service à service ou pendant le développement.

Définissez la variable d’environnement AzureWebJobsSecretStorageType pour choisir un serveur principal de stockage :

Back-end Valeur de réglage Idéal pour Guide
Magasin de secrets des Container Apps containerapps La plupart des charges de travail - aucune dépendance externe (recommandé) Configurer les clés d’hôte
Azure Key Vault keyvault Gouvernance centralisée, audit de conformité Configurer les clés d’hôte
Stockage Blob Azure blob Applications héritées ou dépendance existante AzureWebJobsStorage Configurer les clés d’hôte
Système de fichiers local files Non recommandé sur Container Apps - voir avertissement N/A

Gardez à l’esprit ces considérations en arrière-plan :

  • L’exécution ne sélectionne pas automatiquement le stockage secret des applications conteneures. Si vous ne le définissez AzureWebJobsSecretStorageType pas ou ne le définissez pas à une valeur non reconnue, l'hôte Functions utilise Stockage Blob quand AzureWebJobsStorage c'est disponible.
  • Gardez AzureWebJobsStorage la configuration pour les contrôles de santé du stockage et les fonctionnalités dépendantes du stockage.
  • Ne définissez pas AzureWebJobsSecretStorageType sur files. Le système de fichiers Conteneur Apps est éphémère, donc les clés stockées avec ce backend sont perdues lorsque l’application s’étale à zéro, redémarre ou déploie une nouvelle version.

Étapes suivantes

Choisissez le guide qui correspond au type de secret que vous devez gérer :