Remarque
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.
Azure App Configuration chiffre les informations sensibles au repos. L’utilisation de clés gérées par le client offre une protection améliorée des données en vous donnant un meilleur contrôle sur vos clés de chiffrement. Lorsque vous utilisez le chiffrement à clé managée, toutes les informations sensibles dans App Configuration sont chiffrées avec une clé Azure Key Vault que vous fournissez. Par conséquent, vous pouvez faire pivoter la clé de chiffrement à la demande. Vous pouvez également révoquer l’accès de votre magasin App Configuration aux informations sensibles en annulant l’accès du magasin à la clé.
Vue d’ensemble
App Configuration chiffre les informations sensibles au repos à l’aide d’une clé de chiffrement AES (Advanced Encryption Standard) 256 bits fournie par Microsoft. Chaque magasin App Configuration possède sa propre clé de chiffrement gérée par le service et utilisée pour chiffrer les informations sensibles. Les informations sensibles incluent les valeurs qui se trouvent dans les paires clé-valeur.
Lorsque vous utilisez une clé gérée par le client dans App Configuration, les événements suivants se produisent :
- App Configuration utilise une identité managée affectée au magasin App Configuration pour s’authentifier avec l’ID Microsoft Entra.
- L’identité managée appelle Key Vault et encapsule la clé de chiffrement du magasin App Configuration.
- La clé de chiffrement encapsulée est stockée.
- La clé de chiffrement décompressée est mise en cache dans App Configuration pendant une heure.
- Toutes les heures, App Configuration actualise la version décompressée de la clé de chiffrement du magasin App Configuration.
Ce processus garantit la disponibilité dans des conditions de fonctionnement normales.
Important
Lorsque l’une des conditions suivantes est remplie, les informations sensibles stockées dans le magasin App Configuration ne peuvent pas être déchiffrées :
- L’identité assignée au magasin App Configuration n’est plus autorisée à désenvelopper la clé de chiffrement du magasin.
- La clé managée est définitivement supprimée.
- La version de clé managée en cours d’utilisation expire.
Vous pouvez utiliser la fonction de suppression réversible dans Key Vault pour atténuer les risques de suppression accidentelle de votre clé de chiffrement. Pour atténuer la possibilité d’expiration de la clé managée sous-jacente, vous pouvez omettre la version de la clé lorsque vous configurez le chiffrement à clé managée et configurez la rotation automatique des clés dans Key Vault. Pour plus d’informations, consultez Rotation des clés, plus loin dans cet article.
Spécifications
Les composants suivants sont nécessaires pour activer correctement la fonctionnalité de clé gérée par le client pour App Configuration. Cet article explique comment configurer ces composants.
- Magasin App Configuration de niveau Standard ou de niveau Premium.
- Instance de Key Vault sur laquelle les fonctionnalités de suppression réversible et de protection contre le vidage sont activées.
- Une clé dans le coffre à clés qui répond aux exigences suivantes :
- Il utilise le chiffrement rsa (Rivest-Shamir-Adleman) ou le chiffrement RSA qui utilise un module de sécurité matériel (RSA-HSM).
- Il n’a pas expiré.
- Elle est activée.
- Il offre des fonctionnalités d'encapsulation et de désencapsulation activées.
Après cet article vous montre comment configurer ces ressources, il vous guide tout au long des étapes suivantes pour que votre magasin App Configuration puisse utiliser la clé Key Vault :
- Attribuez une identité managée au magasin App Configuration.
- Accordez des autorisations à l’identité afin qu’elle puisse accéder à la clé Key Vault :
- Pour les coffres de clés qui utilisent le contrôle d’accès en fonction du rôle Azure (Azure RBAC), attribuez l’identité au rôle utilisateur Key Vault Crypto Service Encryption sur le coffre de clés cible.
- Pour les coffres de clés utilisant l’autorisation de stratégie d’accès, accordez les autorisations
GET,WRAPetUNWRAPpour l’identité dans la stratégie d’accès du coffre de clés cible.
Activer le chiffrement de clé gérée par le client
Pour utiliser le chiffrement de clé gérée par le client, effectuez les étapes décrites dans les sections suivantes.
Créer des ressources
Créez un magasin App Configuration dans le niveau Standard ou Premium si vous n’en avez pas. Pour obtenir des instructions, consultez Démarrage rapide : Créer un magasin Azure App Configuration.
Exécutez la commande Azure CLI suivante pour créer une instance de Key Vault sur laquelle la protection contre la purge est activée. La suppression réversible est activée par défaut. Remplacez
<vault-name>et<resource-group-name>par vos propres valeurs uniques.az keyvault create --name <vault-name> --resource-group <resource-group-name> --enable-purge-protectionLa sortie de cette commande répertorie l’ID de ressource
iddu coffre de clés. Notez sa valeur, qui a le format suivant :/subscriptions/<subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<vault-name>Utilisez Azure CLI pour vous attribuer l’accès à votre coffre de clés dont vous avez besoin pour créer une clé. La commande que vous utilisez dépend du système d’autorisation utilisé par votre coffre de clés de chiffrement. Deux modèles sont disponibles :
- Modèle RBAC Azure
- Modèle de stratégie d’accès
Pour les deux modèles, vous avez besoin de votre ID d’objet utilisateur pour exécuter la commande. Vous pouvez trouver votre ID d’objet utilisateur à l’aide de l’une des méthodes suivantes :
Utilisez la
az ad user show --id <user-principal-name>commande dans Azure CLI, où<user-principal-name>se trouve votre nom d’utilisateur principal (UPN).Utilisez le portail Azure :
- Sélectionnez l’ID Microsoft Entra, puis sélectionnez Gérer les>utilisateurs.
- Entrez votre nom dans la zone de recherche, puis sélectionnez votre nom d’utilisateur dans les résultats.
- Copiez la valeur de l’ID d’objet .
Attribuez-vous un accès en exécutant la commande appropriée pour le système d’autorisation de votre coffre de clés.
Remplacez les espaces réservés par les valeurs suivantes :
- Pour
<user-object-ID>, utilisez l’ID d’objet que vous venez de trouver. - Pour
<role>, utilisez un rôle tel que Key Vault Crypto Officer qui vous donne l’accès dont vous avez besoin pour créer une clé. Placez le rôle entre guillemets. - Pour
<vault-resource-ID>, utilisez l’ID de la ressource du Key Vault de l’étape précédente.
az role assignment create --assignee <user-object-ID> --role <role> --scope <vault-resource-ID>Créez une clé Key Vault en exécutant la commande suivante. Remplacez les espaces réservés par les valeurs suivantes :
- Pour
<key-name>, utilisez votre propre valeur unique. - Pour
<key-type>:- Utiliser
RSApour le chiffrement RSA. - Utiliser
RSA-HSMpour le chiffrement RSA-HSM. RSA-HSM chiffrement n’est disponible que dans le niveau Premium.
- Utiliser
- Pour
<vault-name>, utilisez le nom du coffre de clés de l’étape 2.
az keyvault key create --name <key-name> --kty <key-type> --vault-name <vault-name>La sortie de cette commande répertorie l’ID de clé,
kidde la clé générée. Notez sa valeur, qui a le format suivant :https://<vault-name>.vault.azure.net/keys/<key-name>/<key-version>L’ID de clé contient les composants suivants :
- URI du coffre de clés :
https://<vault-name>.vault.azure.net - Nom de clé du coffre de clés :
<key-name> - Version de la clé Key Vault :
<key-version>
- Pour
Créez une identité managée pour votre magasin App Configuration à l’aide de l’une des options suivantes :
Pour créer une identité managée affectée par l’utilisateur, suivez les étapes de l’ajout d’une identité affectée par l’utilisateur. Notez les valeurs des propriétés
clientIdetprincipalIdde l’identité.Pour créer une identité managée affectée par le système, utilisez la commande Azure CLI suivante. Remplacez les espaces réservés par les valeurs suivantes :
- Pour
<App-Configuration-store-name>, utilisez le nom du magasin App Configuration à l’étape 1. - Pour
<resource-group-name>, utilisez le nom du groupe de ressources qui contient votre magasin App Configuration.
- Pour
az appconfig identity assign --name <App-Configuration-store-name> --resource-group <resource-group-name> --identities [system]La sortie de cette commande inclut l’ID du principal,
principalId, et l’ID de tenant,tenantId, de l’identité affectée par le système. Notez la valeur de laprincipalIDpropriété.{ "principalId": <principal-ID>, "tenantId": <tenant-ID>, "type": "SystemAssigned", "userAssignedIdentities": null }
Accorder l’accès et activer la clé
L’identité managée de votre magasin App Configuration doit accéder à la clé pour effectuer la validation, le chiffrement et le déchiffrement des clés. Plus précisément, l’identité managée a besoin d’un accès aux actions GET, WRAP et UNWRAP pour les clés.
- Pour les coffres de clés qui utilisent Azure RBAC, vous pouvez accorder ces autorisations en affectant le rôle Utilisateur de chiffrement du service de chiffrement key Vault à l’identité managée.
- Pour les coffres de clés qui utilisent l’autorisation par stratégie d’accès, vous pouvez définir une stratégie pour ces autorisations liées aux clés.
Accordez à l’identité managée l’accès à la clé managée en utilisant la commande appropriée pour le système d’autorisation de votre coffre de clés. Pour les deux systèmes, remplacez
<managed-identity-principal-ID>par l'ID principal de l’étape précédente.Remplacez
<key-vault-resource-id>par l’ID de ressource du coffre de clés de l’étape 2 de création de ressources.az role assignment create --assignee <managed-identity-principal-ID> --role "Key Vault Crypto Service Encryption User" --scope <key-vault-resource-id>Activez la fonctionnalité de clé gérée par le client dans le service en exécutant l’une des commandes Azure CLI suivantes. Remplacez les espaces réservés par les valeurs suivantes :
- Pour
<resource-group-name>, utilisez le nom du groupe de ressources qui contient votre magasin App Configuration. - Pour
<App-Configuration-store-name>, utilisez le nom de votre magasin App Configuration. - Pour
<key-name>et<key-vault-URI>, utilisez les valeurs de l’étape 4 de créer des ressources.
Par défaut, la commande utilise une identité managée attribuée par le système pour s’authentifier auprès du coffre de clés.
Si vous utilisez une identité managée affectée par le système pour accéder à la clé gérée par le client, exécutez la commande suivante :
az appconfig update -g <resource-group-name> -n <App-Configuration-store-name> --encryption-key-name <key-name> --encryption-key-vault <key-vault-URI>Si vous utilisez une identité managée affectée par l’utilisateur pour accéder à la clé gérée par le client, exécutez la commande suivante, qui spécifie explicitement l’ID client. Remplacez
<user-assigned-managed-identity-client-ID>par la valeur de l’étapeclientId5 de création de ressources.az appconfig update -g <resource-group-name> -n <App-Configuration-store-name> --encryption-key-name <key-name> --encryption-key-vault <key-vault-URI> --identity-client-id <user-assigned-managed-identity-client-ID>
- Pour
Votre magasin App Configuration est maintenant configuré pour utiliser une clé gérée par le client stockée dans Key Vault.
Désactiver le chiffrement de clé gérée par le client
Lorsque vous désactivez le chiffrement de clé gérée par le client, votre magasin App Configuration revient à utiliser des clés gérées par Microsoft. Mais avant de revenir aux clés gérées par Microsoft, App Configuration utilise la clé actuelle pour déchiffrer toutes les données existantes. Si la clé actuelle a expiré ou si l’accès à celui-ci est révoqué, vous devez d’abord restaurer l’accès à cette clé.
Remarque
Avant de configurer votre magasin App Configuration pour utiliser une clé gérée par Microsoft au lieu d’une clé gérée par le client pour le chiffrement, assurez-vous que cette modification s’aligne sur les stratégies de sécurité et les exigences de conformité de votre organisation.
Vérifiez que la clé gérée par le client actuelle est valide et opérationnelle.
Utilisez la commande Azure CLI suivante pour mettre à jour votre magasin App Configuration en supprimant la configuration de clé gérée par le client. Remplacez
<resource-group-name>et<App-Configuration-store-name>par les valeurs de votre environnement.az appconfig update -g <resource-group-name> -n <App-Configuration-store-name> --encryption-key-name ""Pour vérifier que la configuration de clé gérée par le client est désactivée, vérifiez les propriétés de votre magasin App Configuration.
az appconfig show -g <resource-group-name> -n <App-Configuration-store-name> --query "encryption"Dans la sortie de cette commande, la
encryption.keyVaultPropertiespropriété doit avoir la valeurnull.
Votre magasin App Configuration est maintenant configuré pour utiliser des clés gérées par Microsoft pour le chiffrement.
Révocation d’accès
Lorsque vous activez la fonctionnalité de clé gérée par le client sur votre magasin App Configuration, vous contrôlez la capacité du service à accéder à vos informations sensibles. La clé gérée sert de clé de chiffrement racine.
Vous pouvez révoquer l’accès de votre magasin App Configuration à votre clé managée en modifiant votre stratégie d’accès au coffre de clés. Lorsque vous révoquez cet accès, App Configuration perd la possibilité de déchiffrer les données utilisateur dans un délai d’une heure. À ce stade, le magasin App Configuration interdit toutes les tentatives d’accès.
Cette situation est récupérable en accordant à nouveau au service App Configuration l’accès à la clé managée. Dans un délai d’une heure, App Configuration est en mesure de déchiffrer les données utilisateur et de fonctionner dans des conditions normales.
Remarque
Toutes les données App Configuration sont stockées pendant jusqu’à 24 heures dans une sauvegarde isolée. Ces données incluent la clé de chiffrement décompressée. Ces données ne sont pas disponibles immédiatement pour le service ou l’équipe du service. Lors d’une restauration d’urgence, App Configuration se révoque de nouveau des données de clé gérées.
Rotation des clés
Lorsque vous configurez une clé gérée par le client sur un magasin App Configuration, vous devez faire pivoter périodiquement la clé managée afin qu’elle n’expire pas. Pour une rotation de clé réussie, la clé actuelle doit être valide et opérationnelle. Si la clé actuelle a expiré ou si l’accès à App Configuration est révoqué, le magasin App Configuration ne peut pas déchiffrer les données et la rotation échoue.
Rotation automatique
Une bonne pratique consiste à configurer la rotation automatique dans Key Vault pour votre clé gérée par le client. La rotation des clés améliore fréquemment la sécurité. Et quand vous utilisez la rotation automatique, vous évitez de perdre l’accès en raison d’un manque de rotation. Vous éliminez également la nécessité de faire pivoter manuellement les clés de chiffrement.
Clés sans spécification de version
Une autre meilleure pratique pour la rotation automatique dans le chiffrement de clés géré par le client consiste à omettre la version de la clé du coffre de clés. Lorsque vous ne configurez pas de version de clé spécifique, App Configuration peut passer à la dernière version de la clé lorsqu’elle est automatiquement pivotée. Par conséquent, votre magasin App Configuration évite de perdre l’accès lorsqu’une version de clé gérée expire en cours d’utilisation.
Lorsque vous configurez le chiffrement de clé géré par le client, vous fournissez l’identificateur d’une clé dans votre coffre de clés. Un identificateur de clé pour le coffre de clés peut avoir les formats suivants :
- Identificateur de clé sans version :
https://<vault-name>.vault.azure.net/keys/<key-name> - Identificateur de clé versionné (non recommandé) :
https://<vault-name>.vault.azure.net/keys/<key-name>/<key-version>
Pour configurer une clé sans version, utilisez le format d’identificateur qui omet la version.
Étape suivante
Dans cet article, vous avez configuré votre magasin App Configuration pour utiliser une clé gérée par le client pour le chiffrement. Pour en savoir plus sur l’intégration de votre service d’application à des identités managées Azure, passez à l’étape suivante.