Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Conseil / Astuce
Ce contenu est un extrait du livre électronique 'Architecture des microservices .NET pour les applications .NET conteneurisées', disponible sur .NET Docs ou en tant que PDF téléchargeable gratuitement, lisible hors ligne.
Les secrets stockés en tant que variables d’environnement ou stockés par l’outil Gestionnaire de secrets sont toujours stockés localement et non chiffrés sur l’ordinateur. Une option plus sécurisée pour le stockage des secrets est Azure Key Vault, qui fournit un emplacement sécurisé et central pour le stockage des clés et des secrets.
Le package Azure.Extensions.AspNetCore.Configuration.Secrets permet à une application ASP.NET Core de lire les informations de configuration à partir d’Azure Key Vault. Pour commencer à utiliser des secrets à partir d’un coffre de clés Azure, procédez comme suit :
Inscrivez votre application en tant qu’application Azure AD. (L’accès aux coffres de clés est géré par Azure AD.) Cette opération peut être effectuée via le portail de gestion Azure.\
Sinon, si vous souhaitez que votre application s’authentifie à l’aide d’un certificat au lieu d’un mot de passe ou d’une clé secrète client, vous pouvez utiliser l’applet de commande PowerShell New-AzADApplication . Le certificat que vous inscrivez auprès d’Azure Key Vault n’a besoin que de votre clé publique. Votre application utilisera la clé privée.
Accordez à l’application inscrite un accès au coffre de clés en créant un principal de service. Pour ce faire, utilisez les commandes PowerShell suivantes :
$sp = New-AzADServicePrincipal -ApplicationId "<Application ID guid>" Set-AzKeyVaultAccessPolicy -VaultName "<VaultName>" -ServicePrincipalName $sp.ServicePrincipalNames[0] -PermissionsToSecrets all -ResourceGroupName "<KeyVault Resource Group>"
Incluez le coffre de clés en tant que source de configuration dans votre application en appelant la méthode d’extension AzureKeyVaultConfigurationExtensions.AddAzureKeyVault lorsque vous créez une IConfigurationRoot instance.
Notez que l’appel d’AddAzureKeyVault
nécessite l’ID de l’application qui a été inscrite et qui a obtenu l’accès au coffre de clés aux étapes précédentes. Vous pouvez également exécuter la commande Azure CLI : az login
, puis utiliser une surcharge de AddAzureKeyVault
qui accepte un DefaultAzureCredential à la place du client.
Importante
Nous vous recommandons d’inscrire Azure Key Vault comme dernier fournisseur de configuration, afin qu’il puisse remplacer les valeurs de configuration des fournisseurs précédents.
Ressources supplémentaires
Utilisation d’Azure Key Vault pour protéger les secrets d’application
https://learn.microsoft.com/azure/architecture/multitenant-identityStockage sécurisé des secrets d’application pendant le développement
https://learn.microsoft.com/aspnet/core/security/app-secretsConfiguration de la protection des données
https://learn.microsoft.com/aspnet/core/security/data-protection/configuration/overviewGestion des clés de protection des données et durée de vie dans ASP.NET Core
https://learn.microsoft.com/aspnet/core/security/data-protection/configuration/default-settings