Chiffrement au repos à l’aide de clés gérées par le client
Le chiffrement des données de votre application web au repos nécessite un compte de stockage Azure et un coffre de clés Azure. Ces services sont utilisés lorsque vous exécutez votre application à partir d’un package de déploiement.
- Le stockage Azure permet un chiffrement au repos. Vous pouvez utiliser des clés fournies par le système ou vos propres clés gérées par vous-même. C’est dans ce cas que vos données d’application sont stockées lorsqu’elles ne sont pas exécutées dans une application web dans Azure.
- L’exécution à partir d’un package de déploiement est une fonctionnalité de déploiement d’App Service. Elle vous permet de déployer le contenu de votre site à partir d’un compte de stockage Azure, à l’aide d’une URL de signature d’accès partagé (SAS).
- Les références Key Vault sont une fonctionnalité de sécurité d’App Service. Elle vous permet d’importer des secrets au moment de l’exécution comme des paramètres d’application. Utilisez cette valeur pour chiffrer l’URL SAS de votre compte de stockage Azure.
Configurer le chiffrement au repos
Création d'un compte Azure Storage
Tout d’abord, créez un compte de stockage Azure et chiffrez-le avec des clés gérées par le client. Une fois le compte de stockage créé, utilisez l’Explorateur Stockage Azure pour charger les fichiers de package.
Ensuite, utilisez l’Explorateur Stockage pour générer une URL SAS.
Notes
Enregistrez cette URL SAS, car vous en aurez besoin plus tard pour permettre un accès sécurisé au package de déploiement au moment de l’exécution.
Configurer l’exécution à partir d’un package de votre compte de stockage
Une fois que vous avez chargé votre fichier dans le stockage Blob et que vous avez une URL SAS pour le fichier, définissez le paramètre d’application WEBSITE_RUN_FROM_PACKAGE
sur l’URL SAS. Pour ce faire, l’exemple suivant utilise l’interface de ligne de commande Azure :
az webapp config appsettings set --name <app-name> --resource-group <resource-group-name> --settings WEBSITE_RUN_FROM_PACKAGE="<your-SAS-URL>"
L’ajout de ce paramètre d’application entraîne le redémarrage de votre application web. Une fois l’application redémarrée, accédez-y et vérifiez qu’elle a démarré correctement à l’aide du package de déploiement. Si l’application n’a pas démarré correctement, consultez le guide de résolution des problèmes d’exécution à partir des packages.
Chiffrer le paramètre d’application à l’aide des références Key Vault
À présent, vous pouvez remplacer la valeur du paramètre d’application WEBSITE_RUN_FROM_PACKAGE
par une référence Key Vault à l’URL encodée au format SAS. De cette façon, l’URL SAS reste chiffrée dans Key Vault, ce qui fournit une couche supplémentaire de sécurité.
Exécutez la commande
az keyvault create
suivante pour créer une instance Key Vault.az keyvault create --name "Contoso-Vault" --resource-group <group-name> --location eastus
Suivez ces instructions pour accorder à votre application l’accès à votre coffre de clés :
Utilisez la commande
az keyvault secret set
suivante pour ajouter votre URL externe comme clé secrète dans votre coffre de clés :az keyvault secret set --vault-name "Contoso-Vault" --name "external-url" --value "<SAS-URL>"
Utilisez la commande
az webapp config appsettings set
suivante pour créer le paramètre d’applicationWEBSITE_RUN_FROM_PACKAGE
avec une valeur servant de référence Key Vault à l’URL externe :az webapp config appsettings set --settings WEBSITE_RUN_FROM_PACKAGE="@Microsoft.KeyVault(SecretUri=https://Contoso-Vault.vault.azure.net/secrets/external-url/<secret-version>"
<secret-version>
se trouvera dans la sortie de la commandeaz keyvault secret set
précédente.
La mise à jour de ce paramètre d’application entraîne le redémarrage de votre application web. Une fois que l’application a redémarré, accédez-y pour vérifier qu’elle a démarré correctement à l’aide de la référence Key Vault.
Rotation du jeton d’accès
Il est recommandé d’effectuer régulièrement la rotation de la clé SAS de votre compte de stockage. Pour vous assurer que l’application web ne perd pas son accès, vous devez également mettre à jour l’URL SAS dans Key Vault.
Pour effectuer la rotation de la clé SAS, accédez à votre compte de stockage dans le portail Azure. Sous Paramètres>Clés d’accès, cliquez sur l’icône de rotation des clés SAS.
Copiez la nouvelle URL SAS et utilisez la commande suivante pour définir l’URL SAS mise à jour dans votre coffre de clés :
az keyvault secret set --vault-name "Contoso-Vault" --name "external-url" --value "<SAS-URL>"
Mettez à jour la référence du coffre de clés dans le paramètre d’application en fonction de la version du nouveau secret :
az webapp config appsettings set --settings WEBSITE_RUN_FROM_PACKAGE="@Microsoft.KeyVault(SecretUri=https://Contoso-Vault.vault.azure.net/secrets/external-url/<secret-version>"
<secret-version>
se trouvera dans la sortie de la commandeaz keyvault secret set
précédente.
Révocation de l’accès aux données de l’application web
Il existe deux méthodes pour révoquer l’accès de l’application web au compte de stockage.
Effectuer la rotation de la clé SAS du compte de stockage Azure
Si la clé SAS du compte de stockage a fait l’objet d’une rotation, l’application web n’a plus accès au compte de stockage, mais elle continue à s’exécuter avec la dernière version téléchargée du fichier de package. Redémarrez l’application web pour effacer la dernière version téléchargée.
Supprimer l’accès de l’application web à Key Vault
Vous pouvez révoquer l’accès de l’application web aux données de site en désactivant son accès à Key Vault. Pour ce faire, supprimez la stratégie d’accès de l’identité de l’application web. Il s’agit de l’identité que vous avez créée précédemment lors de la configuration des références de coffre de clés.
Résumé
Vos fichiers d’application sont maintenant chiffrés au repos dans votre compte de stockage. Lorsque votre application web démarre, elle récupère l’URL SAS à partir de votre coffre de clés. Enfin, l’application web charge les fichiers d’application à partir du compte de stockage.
Si vous devez révoquer l’accès de l’application web à votre compte de stockage, vous pouvez soit révoquer l’accès au coffre de clés, soit faire pivoter les clés de compte de stockage pour rendre l’URL SAS non valide.
Forum Aux Questions (FAQ)
L’exécution de mon application web à partir du package de déploiement engendre-t-elle des frais supplémentaires ?
Non, seulement le coût associé au compte de stockage Azure et les frais de sortie applicables.
De quelle façon mon application web est affectée par une exécution à partir du package de déploiement ?
- Lorsque vous exécutez votre application à partir du package de déploiement,
wwwroot/
passe en lecture seule. Votre application reçoit une erreur lorsqu’elle tente d’écrire des données dans ce répertoire. - Les formats TAR et GZIP ne sont pas pris en charge.
- Cette fonctionnalité n’est pas compatible avec le cache local.