Présentation de la sécurité Azure Key VaultAzure Key Vault security overview

Vous utilisez Azure Key Vault pour protéger les secrets et les clés de chiffrement, comme les certificats, les chaînes de connexion et les mots de passe dans le cloud.You use Azure Key Vault to protect encryption keys and secrets like certificates, connection strings, and passwords in the cloud. Lors du stockage de données sensibles et vitales pour l’entreprise, vous devez prendre des mesures afin d’optimiser la sécurité de vos coffres et des données qui y sont stockées.When storing sensitive and business critical data, you need to take steps to maximize the security of your vaults and the data stored in them.

Cet article fournit une vue d’ensemble des fonctionnalités de sécurité et des meilleures pratiques pour Azure Key Vault.This article provides an overview of security features and best practices for Azure Key Vault. Pour obtenir la liste complète des recommandations basées sur le benchmark de sécurité Azure, consultez la Ligne de base de sécurité Azure pour Key Vault.For a comprehensive list of recommendations, based on the Azure Security Benchmark, see the Security baseline for Azure Key Vault.

Règle généraleGeneral guidance

Nous recommandons d’utiliser un coffre par application et par environnement (développement, préproduction et production).Our recommendation is to use a vault per application per environment (Development, Pre-Production and Production). Cela vous aide à éviter le partage de secrets entre environnements et réduit la menace en cas de violation.This helps you not share secrets across environments and also reduces the threat in case of a breach.

Sécurité du réseauNetwork security

Vous pouvez réduire l’exposition de vos coffres en spécifiant les adresses IP qui y ont accès.You can reduce the exposure of your vaults by specifying which IP addresses have access to them. Les points de terminaison de service de réseau virtuel pour Azure Key Vault permettent de restreindre l’accès à un réseau virtuel spécifié.The virtual network service endpoints for Azure Key Vault allow you to restrict access to a specified virtual network. Les points de terminaison vous permettent également de restreindre l’accès à une liste de plages d’adresses IPv4 (Internet Protocol version 4).The endpoints also allow you to restrict access to a list of IPv4 (internet protocol version 4) address ranges. L’accès est refusé à tout utilisateur se connectant à votre coffre de clés en dehors de ces sources.Any user connecting to your key vault from outside those sources is denied access. Pour plus d’informations, consultez Points de terminaison de service de réseau virtuel pour Azure Key Vault.For full details, see Virtual network service endpoints for Azure Key Vault

Une fois que les règles de pare-feu sont effectives, les utilisateurs peuvent lire les données de Key Vault seulement quand leurs requêtes proviennent de réseaux virtuels ou de plages d’adresses IPv4 autorisés.After firewall rules are in effect, users can only read data from Key Vault when their requests originate from allowed virtual networks or IPv4 address ranges. Ceci s’applique également à l’accès au coffre de clés à partir du portail Azure.This also applies to accessing Key Vault from the Azure portal. Si des utilisateurs peuvent accéder à un coffre de clés à partir du portail Azure, il ne peuvent pas lister les clés/secrets/certificats si leur ordinateur client ne figure pas dans la liste autorisée.Although users can browse to a key vault from the Azure portal, they might not be able to list keys, secrets, or certificates if their client machine is not in the allowed list. Ceci affecte également l’accès au sélecteur de compte Key Vault par d’autres services Azure.This also affects the Key Vault Picker by other Azure services. Des utilisateurs qui peuvent voir la liste des coffres de clés ne peuvent pas lister les clés si des règles de pare-feu bloquent leur ordinateur client.Users might be able to see list of key vaults, but not list keys, if firewall rules prevent their client machine. Pour connaître les étapes d’implémentation, consultez Configurer les pare-feu et réseaux virtuels d’Azure Key Vault.For implementation steps, see Configure Azure Key Vault firewalls and virtual networks

Le service Azure Private Link vous permet d’accéder à Azure Key Vault et aux services clients/partenaires hébergés sur Azure via un point de terminaison privé de votre réseau virtuel.Azure Private Link Service enables you to access Azure Key Vault and Azure hosted customer/partner services over a Private Endpoint in your virtual network. Un point de terminaison privé Azure est une interface réseau qui vous connecte de façon privée et sécurisée à un service basé sur la technologie Azure Private Link.An Azure Private Endpoint is a network interface that connects you privately and securely to a service powered by Azure Private Link. Le point de terminaison privé utilise une adresse IP privée de votre réseau virtuel, plaçant de fait le service dans votre réseau virtuel.The private endpoint uses a private IP address from your VNet, effectively bringing the service into your VNet. Sachant que l’ensemble du trafic à destination du service peut être routé via le point de terminaison privé, il n’y a aucun besoin de passerelles, d’appareils NAT, de connexions ExpressRoute ou VPN ou d’adresses IP publiques.All traffic to the service can be routed through the private endpoint, so no gateways, NAT devices, ExpressRoute or VPN connections, or public IP addresses are needed. Le trafic entre votre réseau virtuel et le service transite par le réseau principal de Microsoft, éliminant ainsi toute exposition à l’Internet public.Traffic between your virtual network and the service traverses over the Microsoft backbone network, eliminating exposure from the public Internet. Vous pouvez vous connecter à une instance d’une ressource Azure, ce qui vous donne le plus haut niveau de granularité en matière de contrôle d’accès.You can connect to an instance of an Azure resource, giving you the highest level of granularity in access control. Pour connaître les étapes d’implémentation, consultez Intégrer Key Vault à Azure Private Link.For implementation steps, see Integrate Key Vault with Azure Private Link

TLS et HTTPSTLS and HTTPS

  • Le serveur frontal Key Vault (plan de données) est un serveur multilocataire.The Key Vault front end (data plane) is a multi-tenant server. Cela signifie que les coffres de clés de différents clients peuvent partager la même IP publique.This means that key vaults from different customers can share the same public IP address. À des fins d’isolement, chaque requête HTTP est authentifiée et autorisée indépendamment des autres requêtes.In order to achieve isolation, each HTTP request is authenticated and authorized independently of other requests.
  • Vous pouvez identifier des versions antérieures de TLS pour signaler des vulnérabilités, mais, comme l’IP publique est partagée, il n’est pas possible pour l’équipe du service des coffres de clés de désactiver les anciennes versions de TLS pour les coffres de clés individuels au niveau du transport.You may identify older versions of TLS to report vulnerabilities but because the public IP address is shared, it is not possible for key vault service team to disable old versions of TLS for individual key vaults at transport level.
  • Le protocole HTTPS permet au client de participer à la négociation TLS.The HTTPS protocol allows the client to participate in TLS negotiation. Les clients peuvent appliquer la version la plus récente de TLS et, chaque fois qu’un client le fait, l’ensemble de la connexion utilise le niveau de protection correspondant.Clients can enforce the most recent version of TLS, and whenever a client does so, the entire connection will use the corresponding level protection. Le fait que Key Vault prenne toujours en charge les anciennes versions de TLS ne nuit pas à la sécurité des connexions utilisant des versions plus récentes de TLS.The fact that Key Vault still supports older TLS versions won’t impair the security of connections using newer TLS versions.
  • Malgré les vulnérabilités connues du protocole TLS, il n’existe aucune attaque connue qui permettrait à un agent malveillant d’extraire des informations de votre coffre de clés lorsque l’attaquant établit une connexion avec une version de TLS qui présente des vulnérabilités.Despite known vulnerabilities in TLS protocol, there is no known attack that would allow a malicious agent to extract any information from your key vault when the attacker initiates a connection with a TLS version that has vulnerabilities. L’attaquant doit toujours s’authentifier et s’autoriser et, tant que les clients légitimes se connectent toujours avec des versions récentes de TLS, il est impossible que des informations d’identification aient pu être divulguées à partir de vulnérabilités d’anciennes versions de TLS.The attacker would still need to authenticate and authorize itself, and as long as legitimate clients always connect with recent TLS versions, there is no way that credentials could have been leaked from vulnerabilities at old TLS versions.

Gestion des identitésIdentity management

Quand vous créez un coffre de clés dans un abonnement Azure, il est automatiquement associé au locataire Azure AD de l’abonnement.When you create a key vault in an Azure subscription, it's automatically associated with the Azure AD tenant of the subscription. Toute personne qui essaie de gérer ou de récupérer le contenu d’un coffre doit être authentifiée par Azure AD.Anyone trying to manage or retrieve content from a vault must be authenticated by Azure AD. Dans les deux cas, les applications peuvent accéder au coffre de clés de trois manières :In both cases, applications can access Key Vault in three ways:

  • Application uniquement : L’application représente un principal du service ou une identité managée.Application-only: The application represents a service principal or managed identity. Cette identité est le scénario le plus courant pour les applications qui doivent accéder régulièrement à des certificats, des clés ou des secrets à partir du coffre de clés.This identity is the most common scenario for applications that periodically need to access certificates, keys, or secrets from the key vault. Pour que ce scénario fonctionne, la propriété objectId de l’application doit être spécifiée dans la stratégie d’accès et applicationId ne doit pas être spécifiée ou doit être null.For this scenario to work, the objectId of the application must be specified in the access policy and the applicationId must not be specified or must be null.
  • Utilisateur uniquement : l’utilisateur accède au coffre de clés à partir de n’importe quelle application inscrite dans le locataire.User-only: The user accesses the key vault from any application registered in the tenant. Azure PowerShell et le portail Azure sont des exemples de ce type d’accès.Examples of this type of access include Azure PowerShell and the Azure portal. Pour que ce scénario fonctionne, la propriété objectId de l’utilisateur doit être spécifiée dans la stratégie d’accès et applicationId ne doit pas être spécifiée ou doit être null.For this scenario to work, the objectId of the user must be specified in the access policy and the applicationId must not be specified or must be null.
  • Application-plus-utilisateur (parfois appelé identité composée)  : l’utilisateur est tenu d’accéder au coffre de clés à partir d’une application spécifique et l’application doit utiliser le flux OBO (Authentification On-Behalf-Of) pour emprunter l’identité de l’utilisateur.Application-plus-user (sometimes referred as compound identity): The user is required to access the key vault from a specific application and the application must use the on-behalf-of authentication (OBO) flow to impersonate the user. Pour que ce scénario fonctionne, l’applicationId et l’objectId doivent être spécifiés dans la stratégie d’accès.For this scenario to work, both applicationId and objectId must be specified in the access policy. applicationId identifie l’application requise et objectId identifie l’utilisateur.The applicationId identifies the required application and the objectId identifies the user. Actuellement, cette option n’est pas disponible pour le plan de données Azure RBAC (préversion).Currently, this option isn't available for data plane Azure RBAC (preview).

Pour tous les types d’accès, l’application s’authentifie auprès d’Azure AD.In all types of access, the application authenticates with Azure AD. L’application utilise une méthode d’authentification prise en charge en fonction du type d’application.The application uses any supported authentication method based on the application type. L’application acquiert un jeton pour une ressource dans le plan pour accorder l’accès.The application acquires a token for a resource in the plane to grant access. La ressource est un point de terminaison dans le plan de gestion ou de données, en fonction de l’environnement Azure.The resource is an endpoint in the management or data plane, based on the Azure environment. L’application utilise le jeton et envoie une demande d’API REST à Key Vault.The application uses the token and sends a REST API request to Key Vault. Pour en savoir plus, passez en revue le flux d’authentification intégral.To learn more, review the whole authentication flow.

Pour plus d’informations, consultez Concepts de base de l’authentification Key Vault.For full details, see Key Vault Authentication Fundamentals

Accès privilégiéPrivileged access

L’autorisation détermine les opérations que l’appelant peut exécuter.Authorization determines which operations the caller can perform. L’autorisation dans Key Vault utilise une combinaison de contrôle d’accès en fonction du rôle Azure (Azure RBAC) et de stratégies d’accès Azure Key Vault.Authorization in Key Vault uses a combination of Azure role-based access control (Azure RBAC) and Azure Key Vault access policies.

L’accès aux coffres se produit via deux interfaces ou plans.Access to vaults takes place through two interfaces or planes. Il s’agit du plan de gestion et du plan de données.These planes are the management plane and the data plane.

  • Le plan de gestion est l’endroit où vous gérez Key Vault lui-même. C’est l’interface utilisée pour créer et supprimer des coffres.The management plane is where you manage Key Vault itself and it is the interface used to create and delete vaults. Vous pouvez également lire les propriétés de coffre de clés et gérer les stratégies d’accès.You can also read key vault properties and manage access policies.
  • Le plan de données vous permet d’utiliser les données stockées dans un coffre de clés.The data plane allows you to work with the data stored in a key vault. Vous pouvez ajouter, supprimer et modifier des clés, des secrets et des certificats.You can add, delete, and modify keys, secrets, and certificates.

Les applications accèdent aux plans par le biais de points de terminaison.Applications access the planes through endpoints. Les contrôles d’accès pour les deux plans fonctionnent indépendamment.The access controls for the two planes work independently. Pour permettre à une application d’utiliser des clés dans un coffre de clés, vous accordez l’accès au plan de données à l’aide d’une stratégie d’accès Key Vault ou d’Azure RBAC (préversion).To grant an application access to use keys in a key vault, you grant data plane access by using a Key Vault access policy or Azure RBAC (preview). Pour permettre à un utilisateur de lire les propriétés et les étiquettes d’un coffre de clés, mais pas d’accéder aux données (clés, secrets ou certificats), vous accordez l’accès au plan de gestion avec Azure RBAC.To grant a user read access to Key Vault properties and tags, but not access to data (keys, secrets, or certificates), you grant management plane access with Azure RBAC.

Le tableau suivant présente les points de terminaison pour les plans de gestion et de données.The following table shows the endpoints for the management and data planes.

Plan d’accèsAccess plane Points de terminaison d’accèsAccess endpoints OpérationsOperations Mécanisme de contrôle d’accèsAccess control mechanism
Plan de gestionManagement plane Mondial :Global:
management.azure.com:443management.azure.com:443

Azure China 21Vianet:Azure China 21Vianet:
management.chinacloudapi.cn:443management.chinacloudapi.cn:443

Azure US Government :Azure US Government:
management.usgovcloudapi.net:443management.usgovcloudapi.net:443

Azure Germany :Azure Germany:
management.microsoftazure.de:443management.microsoftazure.de:443
Créer, lire, mettre à jour et supprimer des coffres de clésCreate, read, update, and delete key vaults

Définir des stratégies d’accès Key VaultSet Key Vault access policies

Définir des étiquettes Key VaultSet Key Vault tags
Azure RBACAzure RBAC
Plan de donnéesData plane Mondial :Global:
<nom du coffre>.vault.azure.net:443<vault-name>.vault.azure.net:443

Azure China 21Vianet:Azure China 21Vianet:
<nom du coffre>.vault.azure.cn:443<vault-name>.vault.azure.cn:443

Azure US Government :Azure US Government:
<nom du coffre>.vault.usgovcloudapi.net:443<vault-name>.vault.usgovcloudapi.net:443

Azure Germany :Azure Germany:
<nom du coffre>.vault.microsoftazure.de:443<vault-name>.vault.microsoftazure.de:443
Clés : chiffrer, déchiffrer, wrapKey, unwrapKey, signer, vérifier, obtenir, lister, créer, mettre à jour, importer, supprimer, récupérer, sauvegarder, restaurer, purgerKeys: encrypt, decrypt, wrapKey, unwrapKey, sign, verify, get, list, create, update, import, delete, recover, backup, restore, purge

Certificats : managecontacts, getissuers, listissuers, setissurs, deleteissuers, manageissuers, obtenir, lister, créer, importer, mettre à jour, supprimer, récupérer, sauvegarder, restaurer, purgerCertificates: managecontacts, getissuers, listissuers, setissuers, deleteissuers, manageissuers, get, list, create, import, update, delete, recover, backup, restore, purge

Secrets : obtenir, lister, définir, supprimer, récupérer, sauvegarder, restaurer, purgerSecrets: get, list, set, delete,recover, backup, restore, purge
Stratégie d’accès Key Vault ou Azure RBAC (préversion)Key Vault access policy or Azure RBAC (preview)

Gestion de l’accès administratif à Key VaultManaging administrative access to Key Vault

Lorsque vous créez un coffre de clés dans un groupe de ressources, vous gérez l’accès à l’aide d’Azure AD.When you create a key vault in a resource group, you manage access by using Azure AD. Vous autorisez des utilisateurs ou des groupes à gérer les coffres de clés dans un groupe de ressources.You grant users or groups the ability to manage the key vaults in a resource group. Vous pouvez accorder l’accès à un niveau d’étendue spécifique en attribuant les rôles Azure appropriés.You can grant access at a specific scope level by assigning the appropriate Azure roles. Pour permettre à un utilisateur de gérer des coffres de clés, vous attribuez un rôle key vault Contributor prédéfini à l’utilisateur dans une étendue spécifique.To grant access to a user to manage key vaults, you assign a predefined key vault Contributor role to the user at a specific scope. Les niveaux d’étendue suivants peuvent être attribués à un rôle Azure :The following scopes levels can be assigned to an Azure role:

  • Abonnement: Un rôle Azure attribué au niveau d’un abonnement s’applique à tous les groupes de ressources et à toutes les ressources au sein de cet abonnement.Subscription: An Azure role assigned at the subscription level applies to all resource groups and resources within that subscription.
  • Groupe de ressources : Un rôle Azure attribué au niveau d’un groupe de ressources s’applique à toutes les ressources de ce groupe de ressources.Resource group: An Azure role assigned at the resource group level applies to all resources in that resource group.
  • Ressource spécifique : Un rôle Azure attribué pour une ressource spécifique s’applique à cette ressource.Specific resource: An Azure role assigned for a specific resource applies to that resource. Dans ce cas, la ressource est un coffre de clés spécifique.In this case, the resource is a specific key vault.

Il existe plusieurs rôles prédéfinis.There are several predefined roles. Si un rôle prédéfini ne répond pas à vos besoins, vous pouvez définir votre propre rôle.If a predefined role doesn't fit your needs, you can define your own role. Pour plus d’informations, consultez Azure RBAC : pour les ressources Azure.For more information, see Azure RBAC: Built-in roles.

Importante

Si un utilisateur dispose d’autorisations Contributor sur un plan de gestion de coffre de clés, il peut s’accorder lui-même l’accès au plan de données en définissant une stratégie d’accès Key Vault.If a user has Contributor permissions to a key vault management plane, the user can grant themselves access to the data plane by setting a Key Vault access policy. Vous devez contrôler étroitement qui dispose d’un accès accordé par le rôle Contributor à vos coffres de clés.You should tightly control who has Contributor role access to your key vaults. Vérifiez que seules les personnes autorisées peuvent accéder à et gérer vos coffres de clés, vos clés, vos secrets et vos certificats.Ensure that only authorized persons can access and manage your key vaults, keys, secrets, and certificates.

Contrôle de l’accès aux données de Key VaultControlling access to Key Vault data

Les stratégies d’accès Key Vault accordent des autorisations distinctement aux clés, secrets ou certificats.Key Vault access policies grant permissions separately to keys, secrets, or certificate. Vous pouvez uniquement accorder un accès utilisateur à des clés (pas à des secrets).You can grant a user access only to keys and not to secrets. Les autorisations d’accès aux clés, secrets et certificats sont gérées au niveau du coffre.Access permissions for keys, secrets, and certificates are managed at the vault level.

Importante

Les stratégies d’accès Key Vault ne prennent pas en charge les autorisations granulaires au niveau des objets, comme une clé, un secret ou un certificat spécifique.Key Vault access policies don't support granular, object-level permissions like a specific key, secret, or certificate. Quand un utilisateur est autorisé à créer et à supprimer des clés, il peut effectuer ces opérations sur toutes les clés de ce coffre de clés.When a user is granted permission to create and delete keys, they can perform those operations on all keys in that key vault.

Vous pouvez définir des stratégies d’accès pour un coffre de clés à l’aide du portail Azure, de l’interface Azure CLI, d’Azure PowerShell ou des API REST de gestion Key Vault.You can set access policies for a key vault use the Azure portal, the Azure CLI, Azure PowerShell, or the Key Vault Management REST APIs.

Vous pouvez limiter l’accès au plan de données en utilisant des points de terminaison de service de réseau virtuel pour Azure Key Vault.You can restrict data plane access by using virtual network service endpoints for Azure Key Vault). Vous pouvez configurer des pare-feu et des règles de réseau virtuel pour mettre en place une couche de sécurité supplémentaire.You can configure firewalls and virtual network rules for an additional layer of security.

Enregistrement et surveillanceLogging and monitoring

La journalisation de Key Vault enregistre les informations sur les activités effectuées sur votre coffre.Key Vault logging saves information about the activities performed on your vault. Pour plus d’informations, consultez Journalisation de Key Vault.For full details, see Key Vault logging.

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é.You can integrate Key Vault with Event Grid to be notified when the status of a key, certificate, or secret stored in key vault has changed. Pour plus d’informations, consultez Supervision de Key Vault avec Azure Event Grid.For details, see Monitoring Key Vault with Azure Event Grid

Il est également important de surveiller l’intégrité de votre coffre de clés pour vous assurer que votre service fonctionne comme prévu.It is also important to monitor the health of your key vault, to make sure your service operates as intended. Pour savoir comment procéder, consultez Surveillance et alertes Azure Key Vault.To learn how to do so, see Monitoring and alerting for Azure Key Vault.

Sauvegarde et récupérationBackup and recovery

La suppression réversible et la protection contre la suppression définitive d’Azure Key Vault permettent de récupérer des coffres et des objets de coffre supprimés.Azure Key Vault soft-delete and purge protection allows you to recover deleted vaults and vault objects. Pour plus d’informations, consulter Vue d’ensemble de la suppression réversible d’Azure Key Vault.For full details, see Azure Key Vault soft-delete overview.

Vous devez également effectuer des sauvegardes régulières de votre coffre, notamment lors de la mise à jour, de la suppression ou de la création d’objets au sein d’un coffre.You should also take regular back ups of your vault on update/delete/create of objects within a Vault.

Commandes de sauvegarde Azure PowerShell :Azure PowerShell backup commands:

Commandes de sauvegarde Azure CLI :Azure CLI backup commands

Étapes suivantesNext Steps