Lire en anglais

Partager via


Guide du développeur Azure Key Vault

Azure Key Vault vous permet d’accéder en toute sécurité aux informations sensibles à l’intérieur de vos applications :

  • Les clés, secrets et certificats sont protégés sans que vous deviez écrire de code et vous pouvez facilement les utiliser dans vos applications.
  • Vous pouvez autoriser les clients à posséder et gérer leurs propres clés, secrets et certificats afin que vous puissiez vous concentrer sur la fourniture des principales fonctionnalités du logiciel. Ainsi, vos applications ne vous exposent à aucune responsabilité en relation avec les clés, secrets et certificats de vos locataires.
  • Votre application peut utiliser des clés pour la signature et le chiffrement, tandis que la gestion des clés s’effectue à l’extérieur de votre application. Pour plus d’informations sur les clés, consultez À propos des clés.
  • Vous pouvez gérer les informations d’identification comme les mots de passe, les clés d’accès et les jetons SAS en les stockant dans Key Vault sous forme de secrets. Pour plus d’informations, consultez À propos des secrets.
  • Gérer des certificats. Pour plus d’informations, consultez À propos des certificats.

Pour obtenir des informations générales sur Azure Key Vault, consultez À propos d’Azure Key Vault.

Préversions publiques

Nous publions régulièrement la préversion publique d’une nouvelle fonctionnalité de Key Vault. Essayez les fonctionnalités de préversion publique et envoyez votre avis à azurekeyvault@microsoft.com, notre adresse e-mail dédiée aux commentaires.

Créer et gérer des coffres de clés

Comme pour les autres services Azure, Key Vault est géré par le biais d’Azure Resource Manager. Azure Resource Manager est le service de déploiement et de gestion d’Azure. Vous pouvez l’utiliser pour créer, mettre à jour et supprimer des ressources dans votre compte Azure.

Le contrôle d’accès en fonction du rôle (RBAC) Azure contrôle l’accès à la couche de gestion, également appelée plan de gestion. Le plan de gestion de Key Vault permet de créer et de gérer des coffres de clés et leurs attributs, notamment les stratégies d’accès. Le plan de données permet de gérer les clés, les certificats et les secrets.

Vous pouvez utiliser le rôle de contributeur Key Vault prédéfini pour accorder l’accès de gestion à Key Vault.

API et kits de développement logiciel (SDK) pour la gestion de coffre de clés

Azure CLI PowerShell API REST Gestionnaire de ressources .NET Python Java JavaScript
Référence
Démarrage rapide
Référence
Démarrage rapide
Référence Référence
Démarrage rapide
Référence Référence Référence Référence

Pour obtenir les packages d’installation et le code source, consultez les bibliothèques clientes.

S’authentifier auprès de Key Vault dans le code

Key Vault utilise l’authentification Microsoft Entra, ce qui nécessite qu’un principal de sécurité Microsoft Entra accorde l’accès. Un principal de sécurité Microsoft Entra peut être un utilisateur, un principal de service d’application, une identité managée pour les ressources Azure ou un groupe de l’un de ces types.

Bonnes pratiques pour l'authentification

Nous vous recommandons d’utiliser l’identité managée pour les applications déployées sur Azure. Si vous utilisez des services Azure qui ne prennent pas en charge les identités managées ou si les applications sont déployées localement, le principal de service avec un certificat est une alternative possible. Dans ce scénario, le certificat doit être stocké dans Key Vault et faire l’objet d’une rotation fréquente.

Utilisez un principal de service avec un secret pour les environnements de développement et de test. Utilisez un principal d’utilisateur pour le développement local et Azure Cloud Shell.

Nous vous recommandons d’utiliser ces principaux de sécurité dans chaque environnement :

  • Environnement de production : identité managée ou principal de service avec un certificat.
  • Environnements de test et de développement : identité managée, principal de service avec certificat ou principal du service avec un secret.
  • Développement local : principal d’utilisateur ou principal de service avec un secret.

Bibliothèques clientes d’identité Azure

Les scénarios d’authentification précédents sont pris en charge par la bibliothèque cliente d’identité Azure et intégrés aux kits de développement logiciel (SDK) Key Vault. Vous pouvez utiliser la bibliothèque cliente d’identité Azure dans des environnements et des plateformes sans modifier votre code. La bibliothèque récupère automatiquement les jetons d’authentification des utilisateurs qui sont connectés à l’utilisateur Azure via Azure CLI, Visual Studio, Visual Studio Code et d’autres moyens.

Pour plus d’informations sur la bibliothèque cliente d’identité Azure, consultez :

Notes

Nous vous recommandons d’utiliser la bibliothèque d’authentification des applications pour le Kit de développement logiciel (SDK) Key Vault .NET version 3, mais elle est maintenant déconseillée. Pour migrer vers le Kit de développement logiciel (SDK) Key Vault .NET version 4, suivez l’aide relative à la migration d’AppAuthentication vers Azure.Identity.

Pour obtenir des didacticiels sur la façon de s’authentifier auprès de Key Vault dans les applications, consultez :

Gérer des clés, certificats et secrets

Notes

Les Kits de développement logiciel (SDK) pour .NET, Python, Java, JavaScript, PowerShell et Azure CLI font partie du processus de mise en production des fonctionnalités Key Vault au moyen de la préversion publique et la disponibilité générale avec le support de l’équipe du service Key Vault. D’autres clients de kit de développement logiciel (SDK) pour Key Vault sont disponibles, mais ils sont créés et pris en charge par les équipes individuelles du Kit de développement logiciel (SDK) sur GitHub et publiés dans leur planification d’équipe.

Le plan de données contrôle l’accès aux clés, certificats et secrets. Vous pouvez utiliser les stratégies d’accès au coffre local ou Azure RBAC pour le contrôle d’accès via le plan de données.

API et kits de développement logiciel (SDK) pour les clés

Autres bibliothèques

Client de chiffrement pour Key Vault et HSM managé

Ce module fournit un client de chiffrement pour le module de clé client Azure Key Vault pour Go.

Notes

Ce projet n’est pas pris en charge par l’équipe du kit de développement logiciel (SDK) Azure, mais il s’aligne sur les clients de chiffrement dans d’autres langues prises en charge.

Langage Référence
Go Référence

API et kits de développement logiciel (SDK) pour les certificats

API et kits de développement logiciel (SDK) pour les secrets

Utilisation des secrets

Azure Key Vault permet de ne stocker que des secrets pour votre application. Exemples de secrets qui doivent être stockés dans Key Vault :

  • Secrets des applications clientes
  • Chaînes de connexion
  • Mots de passe
  • Clés d’accès partagé
  • Clés SSH

Toutes les informations liées aux secrets, telles que les noms d’utilisateur et les ID d’application, peuvent être stockées sous la forme d’une étiquette dans un secret. Pour tous les autres paramètres de configuration sensibles, vous devez utiliser Azure App Configuration.

References

Pour obtenir les packages d’installation et le code source, consultez les bibliothèques clientes.

Pour obtenir des informations sur la sécurité du plan de données pour Key Vault, consultez Fonctionnalités de sécurité d'Azure Key Vault.

Utiliser Key Vault dans les applications

Pour tirer parti des fonctionnalités les plus récentes de Key Vault, nous vous recommandons d’utiliser les kits de développement logiciel (SDK) Key Vault disponibles pour l’utilisation de secrets, de certificats et de clés dans votre application. Les kits de développement logiciel (SDK) Key Vault et l’API REST sont mis à jour, car de nouvelles fonctionnalités ont été publiées pour le produit et suivent nos bonnes pratiques et recommandations.

Pour les scénarios de base, il existe d’autres bibliothèques et solutions d’intégration pour un usage simplifié avec la prise en charge fournie par les partenaires de Microsoft ou les communautés open source.

Pour les certificats, vous pouvez utiliser :

Pour les secrets, vous pouvez utiliser :

Exemples de code

Pour obtenir des exemples complets d’utilisation de Key Vault avec des applications, consultez Exemples de code Azure Key Vault.

Aide spécifique relative aux tâches

Les articles et scénarios suivants fournissent des conseils spécifiques sur l’utilisation d’Azure Key Vault :

Intégration à Key Vault

Les services et scénarios suivants utilisent ou s’intègrent à Key Vault :

  • Le chiffrement au repos permet l’encodage (chiffrement) des données quand elles sont stockées. Les clés de chiffrement de données sont souvent chiffrées avec une clé de chiffrement de clé dans Azure Key Vault pour limiter davantage l’accès.
  • Azure Information Protection vous permet de gérer votre propre clé de locataire. Par exemple, plutôt que Microsoft gère votre clé de client (par défaut), vous pouvez gérer votre propre clé pour vous conformer aux réglementations spécifiques à votre organisation. La gestion de votre propre clé de locataire est également appelée BYOK (Bring Your Own Key).
  • Azure Private Link vous permet d’accéder aux services Azure (par exemple, Azure Key Vault, Stockage Azure et Azure Cosmos DB) ainsi qu’aux services de partenaires ou de clients hébergés par Azure via un point de terminaison privé de votre réseau virtuel.
  • L’intégration entre Key Vault et Azure Event Grid permet aux utilisateurs d’être avertis en cas de modification de l’état d’un secret stocké dans Key Vault. Vous pouvez distribuer de nouvelles versions de secrets aux applications ou appliquer une rotation aux secrets proches de l’expiration pour éviter les pannes.
  • Protégez vos secrets Azure DevOps contre tout accès indésirable dans Key Vault.
  • Utilisez le secret stocké dans Key Vault pour la connexion au stockage Azure à partir d’Azure DataBricks.
  • Configurez et exécutez le fournisseur Azure Key Vault pour le pilote CSI du magasin des secrets sur Kubernetes.

Concepts et présentations des coffres de clés

Pour en savoir plus sur :

Réseaux sociaux