Sécurisation des secrets d’authentification dans Azure Key Vault

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 l’instance Static Web Apps.
  • 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 :

Remarque

L’utilisation de l’identité managée est uniquement disponible dans le plan Standard d’Azure Static Web Apps.

Prérequis

Créer une identité

  1. Sur le portail Azure, ouvrez votre site Static Web Apps.

  2. Dans le menu Paramètres, sélectionnez Identité.

  3. Sélectionnez l’onglet Affectée par le système.

  4. Sous l’étiquette État, sélectionnez Activé.

  5. Cliquez sur Enregistrer.

    Add system-assigned identity

  6. Quand la boîte de dialogue de confirmation apparaît, sélectionnez Oui.

    Confirm identity assignment.

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

  1. Ouvrez votre ressource Key Vault dans le portail Azure.

  2. Dans le menu Paramètres, sélectionnez Stratégies d’accès.

  3. Sélectionnez le lien Ajouter une stratégie d’accès.

  4. Dans la liste déroulante Autorisations de secret, sélectionnez Récupérer.

  5. En regard de l’étiquette Sélectionner un principal, sélectionnez le lien Aucun sélectionné.

  6. Dans la zone de recherche, recherchez le nom de votre application Static Web Apps.

  7. Sélectionnez l’élément de liste qui correspond au nom de votre application.

  8. Cliquez sur Sélectionner.

  9. Sélectionnez Ajouter.

  10. Cliquez sur Enregistrer.

    Save Key Vault access policy

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.

  1. Dans le menu Paramètres, sélectionnez Secrets.

  2. Sélectionnez le secret souhaité dans la liste.

  3. Sélectionnez la version de secret de votre choix dans la liste.

  4. 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.

  5. Collez cette valeur dans un éditeur de texte dans le but de l’utiliser ultérieurement.

Ajouter un paramètre d’application

  1. Sur le portail Azure, ouvrez votre site Static Web Apps.

  2. Dans le menu Paramètres, sélectionnez Configuration.

  3. Dans la section Paramètres de l’application, sélectionnez Ajouter.

  4. Entrez un nom dans la zone de texte pour le champ Nom.

  5. 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.

  6. Copiez le modèle ci-dessus et collez-le dans un éditeur de texte.

  7. Remplacez <YOUR-KEY-VAULT-SECRET-URI> par la valeur d’URI Key Vault que vous aviez notée précédemment.

  8. Copiez la nouvelle valeur de chaîne complète.

  9. Collez la valeur dans la zone de texte du champ Valeur.

  10. Cliquez sur OK.

  11. Sélectionnez Enregistrer en haut de la barre d’outils Paramètres de l’application.

    Save application settings

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.

Étapes suivantes