Sécuriser les secrets d’authentification dans Azure Key Vault pour Azure Static Web Apps
Quand vous configurez des fournisseurs d’authentification personnalisés, vous pouvez stocker les secrets de connexion dans Azure Key Vault. Cet article montre comment utiliser une identité gérée pour accorder à Azure Static Web Apps l’accès à Key Vault pour les secrets d’authentification personnalisés.
Remarque
Les fonctions Azure serverless ne prennent pas en charge l’intégration de Key Vault directe. Si vous avez besoin d’une intégration de Key Vault à votre application de fonction managée, vous devez implémenter l’accès à Key Vault dans le code de votre application.
Les secrets de sécurité nécessitent que les éléments suivants soient en place.
- Créez une identité affectée par le système dans votre application web statique.
- Autorisez l’identité à accéder à un secret Key Vault.
- Référencez le secret Key Vault dans les paramètres de l’application Static Web Apps.
Cet article explique comment configurer chacun de ces éléments en production pour intégrer vos propres applications Functions.
L’intégration de Key Vault n’est pas disponible pour :
- Versions intermédiaires de votre application Web statique. L’intégration de Key Vault est prise en charge uniquement dans l’environnement de production.
- Applications Web statiques utilisant des fonctions managées.
Remarque
L’utilisation de l’identité managée est uniquement disponible dans le plan Standard d’Azure Static Web Apps.
Prérequis
- Site Azure Static Web Apps existant utilisant la commande intégrer vos propres applications Functions.
- Ressource Key Vault existante avec une valeur secrète.
Créer une identité
Ouvrez votre application web statique dans le portail Azure.
Sous Paramètres, sélectionnez Identité.
Sélectionnez l’onglet Affectée par le système.
Sous l’étiquette État, sélectionnez Activé.
Cliquez sur Enregistrer.
Quand la boîte de dialogue de confirmation apparaît, sélectionnez Oui.
Vous pouvez maintenant ajouter une stratégie d’accès pour permettre à votre application Static Web Apps de lire des secrets Key Vault.
Ajouter une stratégie d’accès Key Vault
Ouvrez votre ressource Key Vault dans le portail Azure.
Dans le menu Paramètres, sélectionnez Stratégies d’accès.
Sélectionnez le lien Ajouter une stratégie d’accès.
Dans la liste déroulante Autorisations de secret, sélectionnez Récupérer.
En regard de l’étiquette Sélectionner un principal, sélectionnez le lien Aucun sélectionné.
Dans la zone de recherche, recherchez le nom de votre application web statique.
Sélectionnez l’élément de liste qui correspond au nom de votre application.
Cliquez sur Sélectionner.
Sélectionnez Ajouter.
Sélectionnez Enregistrer.
La stratégie d’accès est maintenant enregistrée dans Key Vault. Ensuite, accédez à l’URI du secret à utiliser lors de l’association de votre application Static Web Apps à la ressource Key Vault.
Dans le menu Paramètres, sélectionnez Secrets.
Sélectionnez le secret souhaité dans la liste.
Sélectionnez la version de secret de votre choix dans la liste.
Sélectionnez copier à la fin de la zone de texte Identificateur du secret pour copier la valeur de l’URI du secret dans le presse-papiers.
Collez cette valeur dans un éditeur de texte dans le but de l’utiliser ultérieurement.
Ajouter un paramètre d’application
Sur le portail Azure, ouvrez votre site Static Web Apps.
Dans le menu Paramètres, sélectionnez Configuration.
Dans la section Paramètres de l’application, sélectionnez Ajouter.
Entrez un nom dans la zone de texte pour le champ Nom.
Déterminez la valeur du secret dans la zone de texte pour le champ Valeur.
La valeur de secret est composée de plusieurs valeurs différentes. Le modèle suivant montre comment la dernière chaîne est générée.
@Microsoft.KeyVault(SecretUri=<YOUR_KEY_VAULT_SECRET_URI>)
Par exemple, une chaîne finale ressemblerait à l’exemple suivant :
@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/)
Sinon :
@Microsoft.KeyVault(VaultName=myvault;SecretName=mysecret)
Utilisez les étapes suivantes pour générer la valeur de secret complète.
Copiez le modèle ci-dessus et collez-le dans un éditeur de texte.
Remplacez
<YOUR_KEY_VAULT_SECRET_URI>
par la valeur d’URI Key Vault que vous aviez notée précédemment.Copiez la nouvelle valeur de chaîne complète.
Collez la valeur dans la zone de texte du champ Valeur.
Cliquez sur OK.
Sélectionnez Enregistrer en haut de la barre d’outils Paramètres de l’application.
Désormais, lorsque votre configuration d’authentification personnalisée fait référence au paramètre d’application que vous venez de créer, la valeur est extraite d’Azure Key Vault à l’aide de l’identité de votre application Static Web Apps.