Qu’est-ce qu’Azure Key Vault ?What is Azure Key Vault?

Les applications et les services cloud utilisent des clés de chiffrement et des secrets pour protéger les informations.Cloud applications and services use cryptographic keys and secrets to help keep information secure. Azure Key Vault protège ces clés et ces secrets.Azure Key Vault safeguards these keys and secrets. Lorsque vous utilisez Key Vault, vous pouvez chiffrer les clés d’authentification, les clés des comptes de stockage, les clés de chiffrement de données, les fichiers .pfx et les mots de passe à l’aide de clés protégées par des modules de sécurité matériels (HSM).When you use Key Vault, you can encrypt authentication keys, storage account keys, data encryption keys, .pfx files, and passwords by using keys that are protected by hardware security modules (HSMs).

Key Vault aide à résoudre les problèmes suivants :Key Vault helps solve the following problems:

  • Gestion des secrets : Stocker en toute sécurité et contrôler étroitement l’accès aux jetons, mots de passe, certificats, clés API et autres secrets.Secret management: Securely store and tightly control access to tokens, passwords, certificates, API keys, and other secrets.
  • Gestion des clés : Créer et contrôler les clés de chiffrement qui chiffrent vos données.Key management: Create and control encryption keys that encrypt your data.
  • Gestion des certificats : Configurer, gérer et déployer facilement des certificats SSL/TLS publiques et privés pour une utilisation avec Azure et vos ressources connectées internes.Certificate management: Provision, manage, and deploy public and private Secure Sockets Layer/Transport Layer Security (SSL/TLS) certificates for use with Azure and your internal connected resources.
  • Store secrets avec HSM : Utiliser des logiciels ou des HSM conformes aux normes FIPS 140-2 de niveau 2 pour protéger les secrets et les clés.Store secrets backed by HSMs: Use either software or FIPS 140-2 Level 2 validated HSMs to help protect secrets and keys.

Concepts de baseBasic concepts

Azure Key Vault est un outil permettant de stocker les secrets et d’y accéder en toute sécurité.Azure Key Vault is a tool for securely storing and accessing secrets. Un secret est un élément pour lequel vous voulez contrôler étroitement l’accès. Il peut s’agir de clés d’API, de mots de passe ou de certificats.A secret is anything that you want to tightly control access to, such as API keys, passwords, or certificates. Un coffre est un groupe logique de secrets.A vault is logical group of secrets.

Voici d’autres termes importants :Here are other important terms:

  • Tenant : un locataire est l’organisation qui possède et gère une instance spécifique de services cloud Microsoft.Tenant: A tenant is the organization that owns and manages a specific instance of Microsoft cloud services. Ce terme est souvent utilisé pour faire référence à l’ensemble des services Azure et Office 365 d’une organisation.It’s most often used to refer to the set of Azure and Office 365 services for an organization.

  • Propriétaire de coffre : un propriétaire de coffre peut créer un coffre de clés, et bénéficier d’un accès et d’un contrôle complets à celui-ci.Vault owner: A vault owner can create a key vault and gain full access and control over it. Le propriétaire du coffre peut également configurer l’audit pour consigner qui accède aux secrets et aux clés.The vault owner can also set up auditing to log who accesses secrets and keys. Les administrateurs peuvent contrôler le cycle de vie de la clé.Administrators can control the key lifecycle. Ils peuvent déployer une nouvelle version de la clé, la sauvegarder, et effectuer les tâches associées.They can roll to a new version of the key, back it up, and do related tasks.

  • Consommateur de coffre : un consommateur de coffre peut effectuer des actions sur les ressources à l’intérieur du coffre de clés quand le propriétaire du coffre lui accorde l’accès de consommateur.Vault consumer: A vault consumer can perform actions on the assets inside the key vault when the vault owner grants the consumer access. Les actions disponibles varient selon les autorisations accordées.The available actions depend on the permissions granted.

  • Ressource : une ressource est un élément gérable disponible par le biais d’Azure.Resource: A resource is a manageable item that's available through Azure. Il peut s’agir par exemple de machines virtuelles, de comptes de stockage, d’applications web, de bases de données et de réseaux virtuels.Common examples are virtual machine, storage account, web app, database, and virtual network. Mais il en existe bien d’autres encore.There are many more.

  • Groupe de ressources : Un groupe de ressources est un conteneur réunissant les ressources associées d’une solution Azure.Resource group: A resource group is a container that holds related resources for an Azure solution. Le groupe de ressources peut inclure toutes les ressources de la solution, ou uniquement celles que vous souhaitez gérer en tant que groupe.The resource group can include all the resources for the solution, or only those resources that you want to manage as a group. Pour déterminer comment allouer des ressources aux groupes de ressources, choisissez l’approche la plus pertinente pour votre organisation.You decide how you want to allocate resources to resource groups, based on what makes the most sense for your organization.

  • Principal du service : Un principal du service Azure est une identité de sécurité utilisée par les applications, les services et les outils d’automatisation créés par l’utilisateur pour accéder à des ressources Azure spécifiques.Service principal: An Azure service principal is a security identity that user-created apps, services, and automation tools use to access specific Azure resources. Il équivaut un peu à une « identité d’utilisateur » (nom d’utilisateur et mot de passe ou certificat) avec un rôle spécifique et des autorisations étroitement contrôlées.Think of it as a "user identity" (username and password or certificate) with a specific role, and tightly controlled permissions. Un principal du service doit uniquement effectuer des opérations spécifiques, contrairement à une identité d’utilisateur générale.A service principal should only need to do specific things, unlike a general user identity. Il améliore la sécurité si vous lui octroyez seulement le niveau d’autorisation minimal nécessaire pour effectuer ses tâches de gestion.It improves security if you grant it only the minimum permission level that it needs to perform its management tasks.

  • Azure Active Directory (Azure AD) : Azure AD est le service Active Directory pour un locataire.Azure Active Directory (Azure AD): Azure AD is the Active Directory service for a tenant. Chaque répertoire contient au moins un domaine personnalisé.Each directory has one or more domains. Un répertoire peut avoir plusieurs abonnements associés, mais qu’un seul locataire.A directory can have many subscriptions associated with it, but only one tenant.

  • ID de locataire Azure : un ID de locataire est un moyen unique d’identifier une instance Azure AD au sein d’un abonnement Azure.Azure tenant ID: A tenant ID is a unique way to identify an Azure AD instance within an Azure subscription.

  • Identités managées : Azure Key Vault permet de stocker en toute sécurité des informations d’identification et autres clés et secrets, mais votre code doit s’authentifier sur Key Vault pour les récupérer.Managed identities: Azure Key Vault provides a way to securely store credentials and other keys and secrets, but your code needs to authenticate to Key Vault to retrieve them. L’utilisation d’une identité mangée simplifie la résolution de ce problème en donnant aux services Azure une identité automatiquement managée dans Azure AD.Using a managed identity makes solving this problem simpler by giving Azure services an automatically managed identity in Azure AD. Vous pouvez utiliser cette identité pour vous authentifier sur Key Vault ou n’importe quel service prenant en charge l’authentification Azure AD, sans avoir d’informations d’identification dans votre code.You can use this identity to authenticate to Key Vault or any service that supports Azure AD authentication, without having any credentials in your code. Pour plus d’informations, consultez l’image ci-dessous et lisez la présentation des identités managées pour les ressources Azure.For more information, see the following image and the overview of managed identities for Azure resources.

    Diagramme illustrant le fonctionnement des identités managées pour les ressources Azure

AuthenticationAuthentication

Pour effectuer des opérations avec un coffre de clés, vous devez vous authentifier auprès de celui-ci.To do any operations with Key Vault, you first need to authenticate to it. Il existe trois façons de s’authentifier auprès de Key Vault :There are three ways to authenticate to Key Vault:

  • Identités managées pour les ressources Azure : quand vous déployez une application sur une machine virtuelle dans Azure, vous pouvez attribuer une identité à votre machine virtuelle qui a accès à Key Vault.Managed identities for Azure resources: When you deploy an app on a virtual machine in Azure, you can assign an identity to your virtual machine that has access to Key Vault. Vous pouvez également assigner une identité aux autres ressources Azure.You can also assign identities to other Azure resources. L’avantage de cette approche est que l’application ou le service ne gère pas la rotation du premier secret.The benefit of this approach is that the app or service isn't managing the rotation of the first secret. Azure fait alterner automatiquement l’identité.Azure automatically rotates the identity. Nous recommandons cette approche en tant que meilleure pratique.We recommend this approach as a best practice.
  • Principal de service et certificat : vous pouvez utiliser un principal de service et un certificat associé qui a accès à Key Vault.Service principal and certificate: You can use a service principal and an associated certificate that has access to Key Vault. Nous ne recommandons pas cette approche, car le propriétaire de l’application ou son développeur doit régulièrement renouveler le certificat.We don't recommend this approach because the application owner or developer must rotate the certificate.
  • Principal de service et secret : bien que vous puissiez utiliser un principal de service et un secret pour vous authentifier auprès de Key Vault, cette option n’est pas recommandée.Service principal and secret: Although you can use a service principal and a secret to authenticate to Key Vault, we don't recommend it. Il est difficile de renouveler automatiquement le secret de démarrage qui sert à l’authentification auprès de Key Vault.It's hard to automatically rotate the bootstrap secret that's used to authenticate to Key Vault.

Rôles de Key VaultKey Vault roles

Utilisez le tableau suivant afin de mieux comprendre comment Key Vault peut permettre de répondre aux besoins des développeurs et des administrateurs de sécurité.Use the following table to better understand how Key Vault can help to meet the needs of developers and security administrators.

RoleRole Définition du problèmeProblem statement Résolu par Azure Key VaultSolved by Azure Key Vault
Développeur d’une application AzureDeveloper for an Azure application « Je souhaite écrire une application Azure qui utilise des clés pour la signature et le chiffrement.“I want to write an application for Azure that uses keys for signing and encryption. Mais ces clés doivent être externes à mon application, afin que la solution soit adaptée à une application répartie au niveau géographique.But I want these keys to be external from my application so that the solution is suitable for an application that's geographically distributed.

Je souhaite protéger ces clés et secrets, sans avoir à écrire le code moi-même, et je veux qu’ils soient faciles à utiliser pour moi à partir de mes applications, avec des performances optimales.I want these keys and secrets to be protected, without having to write the code myself. »I also want these keys and secrets to be easy for me to use from my applications, with optimal performance.”
√ Les clés sont stockées dans un coffre et appelées par un URI, si nécessaire.√ Keys are stored in a vault and invoked by URI when needed.

√ Les clés sont protégées par Azure, à l’aide d’algorithmes standard, de longueurs de clé et de modules de sécurité matériel.√ Keys are safeguarded by Azure, using industry-standard algorithms, key lengths, and hardware security modules.

√ Les clés sont traitées dans des modules de sécurité matériels situés dans les mêmes centres de données Azure que les applications.√ Keys are processed in HSMs that reside in the same Azure datacenters as the applications. Cette méthode garantit une meilleure fiabilité et une latence plus faible que si les clés résidaient dans un emplacement séparé, par exemple localement.This method provides better reliability and reduced latency than keys that reside in a separate location, such as on-premises.
Développeur de logiciels SaaS (Software as a service)Developer for software as a service (SaaS) « Je ne veux pas prendre la responsabilité des clés et secrets de mes clients.“I don’t want the responsibility or potential liability for my customers’ tenant keys and secrets.

Je veux que les clients détiennent et gèrent leurs clés, pour pouvoir me concentrer sur ce que je fais le mieux, c’est-à-dire fournir les principales fonctionnalités du logiciel. »I want customers to own and manage their keys so that I can concentrate on doing what I do best, which is providing the core software features.”
√ Les clients peuvent importer leurs propres clés dans Azure et les gérer.√ Customers can import their own keys into Azure, and manage them. Lorsqu’une application SaaS doit effectuer des opérations de chiffrement à l’aide des clés des clients, Key Vault s’en charge à sa place.When a SaaS application needs to perform cryptographic operations by using customers’ keys, Key Vault does these operations on behalf of the application. L’application ne voit pas les clés des clients.The application does not see the customers’ keys.
Responsable de la sécuritéChief security officer (CSO) « Je veux être sûr que nos applications sont conformes à la norme FIPS 140-2HSM de niveau 2 pour la gestion sécurisée des clés.“I want to know that our applications comply with FIPS 140-2 Level 2 HSMs for secure key management.

Je souhaite m’assurer que mon organisation contrôle le cycle de vie d’une clé et peut surveiller son utilisation.I want to make sure that my organization is in control of the key lifecycle and can monitor key usage.

Et bien que nous utilisions plusieurs ressources et services Azure, je souhaite gérer les clés à partir d’un emplacement unique dans Azure. »And although we use multiple Azure services and resources, I want to manage the keys from a single location in Azure.”
√ Les modules de sécurité matériels sont certifiés FIPS 140-2 de niveau 2.√ HSMs are FIPS 140-2 Level 2 validated.

√ Key Vault a été conçu de manière à ce que Microsoft ne puisse pas afficher ni extraire vos clés.√ Key Vault is designed so that Microsoft does not see or extract your keys.

√ L’utilisation de la clé est consignée en temps quasi réel.√ Key usage is logged in near real time.

√ Le coffre fournit une interface unique, indépendamment du nombre de coffres dont vous disposez dans Azure, des régions qui sont prises en charge et des applications qui les utilisent.√ The vault provides a single interface, regardless of how many vaults you have in Azure, which regions they support, and which applications use them.

Toute personne disposant d’un abonnement Azure peut créer et utiliser des coffres de clés.Anybody with an Azure subscription can create and use key vaults. Bien que Key Vault procure des avantages aux développeurs et aux administrateurs de sécurité, il peut être implémenté et géré par l’administrateur d’une organisation qui gère les autres services Azure.Although Key Vault benefits developers and security administrators, it can be implemented and managed by an organization’s administrator who manages other Azure services. Par exemple, cet administrateur peut se connecter avec un abonnement Azure, créer un coffre pour l’organisation dans lequel stocker les clés et avoir la responsabilité de tâches opérationnelles comme celles-ci :For example, this administrator can sign in with an Azure subscription, create a vault for the organization in which to store keys, and then be responsible for operational tasks like these:

  • créer ou importer une clé ou un secret ;Create or import a key or secret
  • supprimer ou effacer une clé ou un secret ;Revoke or delete a key or secret
  • Autoriser des utilisateurs ou des applications à accéder au coffre de clés, afin qu’ils puissent gérer ou utiliser les clés et les clés secrètesAuthorize users or applications to access the key vault, so they can then manage or use its keys and secrets
  • configurer l’utilisation de la clé (par exemple, signer ou chiffrer) ;Configure key usage (for example, sign or encrypt)
  • surveiller l’utilisation de clés.Monitor key usage

Cet administrateur donne ensuite aux développeurs les URI à appeler à partir de leurs applications.This administrator then gives developers URIs to call from their applications. Cet administrateur donne également les informations de journalisation sur l’utilisation de la clé à l’administrateur de sécurité.This administrator also gives key usage logging information to the security administrator.

Vue d'ensemble du fonctionnement d'Azure Key Vault

Les développeurs peuvent également gérer les clés directement à l’aide d’API.Developers can also manage the keys directly, by using APIs. Pour plus d’informations, consultez le guide du développeur de Key Vault.For more information, see the Key Vault developer's guide.

Étapes suivantesNext steps

Apprenez à sécuriser votre coffre de clés.Learn how to secure your vault.

Azure Key Vault est disponible dans la plupart des régions.Azure Key Vault is available in most regions. Pour plus d’informations, consultez la page de tarification de Key Vault.For more information, see the Key Vault pricing page.