Sécurité d’Azure Key Vault
Azure Key Vault protège les clés de chiffrement, les certificats (et les clés privées associées aux certificats) et les secrets (tels que les chaînes de connexion et les mots de passe) dans le cloud. Lorsque vous stockez des données sensibles et cruciales pour l'entreprise, vous devez cependant prendre des mesures pour maximiser la sécurité de vos coffres ainsi que celle des données qui y sont stockées.
Sécurité réseau
Vous pouvez réduire l’exposition de vos coffres en spécifiant quelles adresses IP ont accès à ces derniers. Les points de terminaison de service de réseau virtuel pour Azure Key Vault vous permettent de restreindre l’accès à un réseau virtuel spécifié. Les points de terminaison vous permettent également de restreindre l’accès à une liste de plages d’adresses IPv4 (version 4 du protocole Internet). Tout utilisateur se connectant à votre coffre de clés à partir de l’extérieur de ces sources n’a pas accès.
Une fois les règles de pare-feu appliquées, les utilisateurs peuvent uniquement lire des données à partir de Key Vault lorsque leurs demandes proviennent de réseaux virtuels autorisés ou de plages d’adresses IPv4. Cela s’applique également à l’accès à Key Vault à partir du portail Azure. Bien que les utilisateurs puissent accéder à un coffre de clés à partir du portail Azure, ils peuvent ne pas être en mesure de répertorier des clés, des secrets ou des certificats si leur ordinateur client n’est pas dans la liste autorisée.
Le service Azure Private Link vous permet d’accéder à Azure Key Vault et aux services clients/partenaires hébergés par Azure sur un point de terminaison privé dans votre réseau virtuel. Un point de terminaison privé Azure est une interface réseau qui vous connecte en privé et en toute sécurité à un service alimenté par Azure Private Link. Le point de terminaison privé utilise une adresse IP privée à partir de votre réseau virtuel, en apportant efficacement le service dans votre réseau virtuel. Tout le trafic vers le service peut être routé via le point de terminaison privé. Par conséquent, aucune passerelle, aucun appareil NAT (Network address translation), aucune connexion ExpressRoute ou VPN, ni aucune adresse IP publique ne sont nécessaires. Le trafic entre votre réseau virtuel et le service traverse le réseau principal Microsoft, ce qui élimine l’exposition de l’Internet public. Vous pouvez vous connecter à une instance d’une ressource Azure, ce qui vous donne le niveau de granularité le plus élevé dans le contrôle d’accès.
Tls (Transport Layer Security) et HTTPS (Hypertext Transfer Protocol Secure)
L'interface frontale de Key Vault (plan de données) est un serveur mutualisé. Cela signifie que les coffres de clés provenant de différents clients peuvent partager la même adresse IP publique. Pour obtenir une isolation, chaque requête HTTP est authentifiée et autorisée indépendamment des autres requêtes.
Le protocole HTTPS permet au client de participer à la négociation TLS. Les clients peuvent appliquer la version de TLS, et chaque fois qu’un client le fait, la connexion entière utilise la protection au niveau correspondant. Key Vault prend en charge les versions de protocole TLS 1.2 et 1.3.
Options d’authentification Key Vault
Lorsque vous créez un coffre de clés dans un abonnement Azure, il est automatiquement associé au locataire Microsoft Entra de l’abonnement. Tous les appelants des deux plans doivent s’inscrire dans ce locataire et s’authentifier pour accéder au coffre de clés. Dans les deux cas, les applications peuvent accéder à Key Vault de trois façons :
- Application uniquement : l’application représente un principal de service ou une identité gérée. Cette identité est le scénario le plus courant pour les applications qui doivent régulièrement accéder aux certificats, clés ou secrets du coffre de clés. Pour que ce scénario fonctionne, l’objectId de l’application doit être spécifié dans la stratégie d’accès et l’id d’application ne doit pas être spécifié ou doit être null.
- Utilisateur uniquement : l’utilisateur accède au coffre de clés à partir de n’importe quelle application enregistrée dans le client. Les exemples de ce type d’accès incluent Azure PowerShell et le portail Azure. Pour que ce scénario fonctionne, l’objectId de l’utilisateur doit être spécifié dans la stratégie d’accès et l’id d’application ne doit pas être spécifié ou doit être null.
- Application-plus-user (parfois appelée identité composée) : l’utilisateur est tenu d’accéder au coffre-fort de clés à partir d’une application spécifique et l’application doit utiliser le flux d’authentification au nom de l’utilisateur (OBO) pour se faire passer pour l'utilisateur. Pour que ce scénario fonctionne, applicationId et objectId doivent être spécifiés dans la stratégie d’accès. L’ID d’application identifie l’application requise et l’objectId identifie l’utilisateur. Actuellement, cette option n’est pas disponible pour le plan de données Azure RBAC.
Dans tous les types d’accès, l’application s’authentifie avec l’ID Microsoft Entra. L’application utilise n’importe quelle méthode d’authentification prise en charge en fonction du type d’application. L’application acquiert un jeton pour une ressource dans le plan pour accorder l’accès. La ressource est un point de terminaison dans le plan de gestion ou de données, en fonction de l’environnement Azure. L’application utilise le jeton et envoie une demande d’API REST à Key Vault.
Le modèle d’un mécanisme unique pour l’authentification dans les deux contextes présente plusieurs avantages :
- Les organisations peuvent contrôler l’accès de manière centralisée à tous les coffres-forts de clés dans leur organisation.
- Si un utilisateur quitte l'organisation, il perd instantanément l'accès à tous les coffres de clés de l'organisation.
- Les organisations peuvent personnaliser l’authentification à l’aide des options de l’ID Microsoft Entra, telles que l’activation de l’authentification multifacteur pour une sécurité ajoutée.
Vue d’ensemble du modèle d’accès
L’accès à un coffre de clés est contrôlé via deux interfaces : le plan de gestion et le plan de données. Le plan de gestion est l’endroit où vous gérez Key Vault lui-même. Les opérations dans ce domaine incluent la création et la suppression de coffres de clés, la récupération des propriétés des coffres de clés et la mise à jour des stratégies d’accès. Le niveau de données est l'endroit où vous interagissez avec les données stockées dans un Key Vault. Vous pouvez ajouter, supprimer et modifier des clés, des secrets et des certificats.
Les deux plans utilisent l’ID Microsoft Entra pour l’authentification. Pour l’autorisation, le plan de gestion utilise le contrôle d’accès en fonction du rôle Azure (Azure RBAC) et le plan de données utilise une stratégie d’accès Key Vault et Azure RBAC pour les opérations du plan de données Key Vault.
Pour accéder à un coffre de clés dans l’un ou l’autre plan, tous les appelants (utilisateurs ou applications) doivent disposer d’une authentification et d’une autorisation appropriées. L’authentification établit l’identité de l’appelant. L’autorisation détermine les opérations que l’appelant peut exécuter. L’authentification avec Key Vault fonctionne conjointement avec l’ID Microsoft Entra, qui est responsable de l’authentification de l’identité d’un principal de sécurité donné.
Un principal de sécurité est un objet qui représente un utilisateur, un groupe, un service ou une application qui demande l’accès aux ressources Azure. Azure affecte un ID d’objet unique à chaque principal de sécurité.
- Un principal de sécurité utilisateur identifie une personne disposant d’un profil dans Microsoft Entra ID.
- Un principal de sécurité de groupe identifie un ensemble d’utilisateurs créés dans l’ID Microsoft Entra. Tous les rôles ou autorisations attribués au groupe sont accordés à tous les utilisateurs du groupe.
- Un principal de service est un type de principal de sécurité qui identifie une application ou un service, c’est-à-dire un élément de code plutôt qu’un utilisateur ou un groupe. L’ID d’objet d’un principal de service est connu sous le nom d’ID client et agit comme son nom d’utilisateur. La clé secrète client ou le certificat du principal de service agit comme son mot de passe. De nombreux services Azure prennent en charge l’attribution d’identité managée avec la gestion automatisée de l’ID client et du certificat. L’identité managée est l’option la plus sécurisée et recommandée pour l’authentification dans Azure.
Accès conditionnel
Key Vault prend en charge les stratégies d’accès conditionnel Microsoft Entra. En utilisant des stratégies d’accès conditionnel, vous pouvez appliquer les contrôles d’accès appropriés à Key Vault lorsque cela est nécessaire pour sécuriser votre organisation, tout en restant discret lorsque ce n'est pas nécessaire.
Accès privilégié
L’autorisation détermine les opérations que l’appelant peut effectuer. L’autorisation dans Key Vault utilise le contrôle d’accès en fonction du rôle Azure (Azure RBAC) sur le plan de gestion et les stratégies d’accès Azure RBAC ou Azure Key Vault sur le plan de données.
L’accès aux coffres se déroule via deux interfaces ou plans. Ces plans sont le plan de gestion et le plan de données.
- Le plan de management est l’emplacement où vous gérez le service Key Vault et c’est l’interface utilisée pour créer et supprimer des coffres. Vous pouvez également lire les propriétés du coffre de clés et gérer les stratégies d’accès.
- Le plan de contrôle des données vous permet d’utiliser les données stockées dans un coffre-fort de clés. Vous pouvez ajouter, supprimer et modifier des clés, des secrets et des certificats.
Les applications accèdent aux plans via des points de terminaison. Les contrôles d’accès pour les deux plans fonctionnent indépendamment. Pour accorder à une application l’accès à l’utilisation de clés dans un coffre de clés, vous accordez l’accès au plan de données à l’aide d’Azure RBAC ou d’une stratégie d’accès Key Vault. Pour accorder à un utilisateur un accès en lecture aux propriétés et balises Key Vault, mais pas aux données (clés, secrets ou certificats), vous accordez l’accès au plan de gestion avec Azure RBAC.
plan d’accès | points de terminaison d'accès | Operations | mécanisme de contrôle d’accès |
---|---|---|---|
Plan de gestion | Global: management.azure.com:443 Microsoft Azure géré par 21Vianet : management.chinacloudapi.cn:443 Azure Gouvernement des États-Unis : management.usgovcloudapi.net:443 Azure Allemagne : management.microsoftazure.de:443 |
Créer, lire, mettre à jour et supprimer des coffres de clés Définir des stratégies d’accès Key Vault Définir des balises Key Vault |
Azure RBAC |
Plan de données | Global: <nom du coffre>.vault.azure.net:443 Microsoft Azure géré par 21Vianet : <nom du coffre>.vault.azure.cn:443 Azure du gouvernement américain : <nom du coffre>.vault.usgovcloudapi.net:443 Azure Allemagne : <nom du coffre>.vault.microsoftazure.de:443 |
Clés : chiffrer, déchiffrer, wrapKey, unwrapKey, signer, vérifier, obtenir, liste, créer, mettre à jour, importer, supprimer, récupérer, sauvegarder, restaurer, purger, faire pivoter (préversion), getrotationpolicy (préversion), setrotationpolicy (préversion), release(préversion) Certificats : gérer les contacts, obtenir des émetteurs, lister les émetteurs, définir les émetteurs, supprimer les émetteurs, gérer les émetteurs, obtenir, lister, créer, importer, mettre à jour, supprimer, récupérer, sauvegarder, restaurer, purger Secrets : obtenir, lister, définir, supprimer, récupérer, sauvegarder, restaurer, purger |
Stratégie d’accès Key Vault ou RBAC Azure |
Gestion de l’accès administratif à Key Vault
Lorsque vous créez un coffre de clés dans un groupe de ressources, vous gérez l’accès à l’aide de l’ID Microsoft Entra. Vous accordez aux utilisateurs ou aux groupes la possibilité de gérer les coffres de clés dans un groupe de ressources. Vous pouvez accorder l’accès à un niveau d’étendue spécifique en affectant les rôles Azure appropriés. Pour accorder l’accès à un utilisateur pour gérer les coffres de clés, vous attribuez un rôle Contributeur de coffre de clés prédéfini à l’utilisateur dans une étendue spécifique. Les niveaux d’étendues suivants peuvent être attribués à un rôle Azure :
- Abonnement : un rôle Azure attribué au niveau de l’abonnement s’applique à tous les groupes de ressources et ressources au sein de cet abonnement.
- Groupe de ressources : un rôle Azure attribué au niveau du groupe de ressources s’applique à toutes les ressources de ce groupe de ressources.
- Ressource spécifique : un rôle Azure attribué pour une ressource spécifique s’applique à cette ressource. Dans ce cas, la ressource est un coffre de clés spécifique.
Lorsque vous utilisez le modèle d’autorisation De stratégie d’accès, si un utilisateur dispose d’autorisations Contributor
à un plan de gestion du coffre de clés, l’utilisateur peut lui accorder l’accès au plan de données en définissant une stratégie d’accès Key Vault. Vous devez contrôler étroitement qui a accès au rôle Contributor
dans vos coffres de clés en utilisant le modèle de permission de stratégie d'accès, afin de vous assurer que seules les personnes autorisées peuvent accéder à vos coffres de clés, clés, secrets et certificats, et les gérer. Il est recommandé d’utiliser le nouveau modèle d’autorisation RBAC (Role Based Access Control) pour éviter ce problème. Avec le modèle d’autorisation RBAC, la gestion des autorisations est limitée aux rôles « Propriétaire » et « Administrateur de l’accès utilisateur », ce qui permet la séparation des tâches entre les rôles pour les opérations de sécurité et les opérations administratives générales.
Contrôle de l’accès aux données Key Vault
Vous pouvez contrôler l’accès aux clés, certificats et secrets Key Vault à l’aide des stratégies d’accès Azure RBAC ou Key Vault.
Journalisation et surveillance
La journalisation de Key Vault enregistre des informations sur les activités effectuées sur votre coffre.
Vous pouvez intégrer Key Vault à Event Grid pour être averti lorsque l’état d’une clé, d’un certificat ou d’un secret stocké dans le coffre de clés a changé.
Il est également important de surveiller la santé de votre coffre de clés pour garantir que votre service fonctionne comme prévu.
Sauvegarde et récupération
La protection contre la suppression réversible et le vidage d’Azure Key Vault vous permet de récupérer des coffres et des objets de coffre supprimés.
Vous devez également effectuer des sauvegardes régulières de votre coffre lors de la mise à jour/suppression/création d’objets dans un coffre.