Qu’est-ce qu’Azure Key Vault ?

Effectué

Azure Key Vault est un magasin de secrets : service cloud centralisé pour stocker des secrets d’application, qui sont des valeurs de configuration comme les mots de passe et les chaînes de connexion dont la sécurisation doit être garantie en permanence. Key Vault vous permet de contrôler les secrets de vos applications en les conservant dans un emplacement central unique. Il fournit un accès sécurisé, un contrôle des autorisations et une journalisation des accès.

Les principaux avantages de l’utilisation de Key Vault sont les suivants :

  • Séparation des informations sensibles d’application des autres informations de configuration et du code, ce qui réduit les risques de fuites accidentelles
  • Accès restreint aux secrets grâce à des stratégies d’accès adaptées aux applications et aux personnes qui en ont besoin
  • Stockage centralisé des secrets, ce qui signifie que les changements nécessaires sont effectués à un emplacement unique seulement
  • Journalisation et supervision des accès pour vous aider à comprendre comment et quand les secrets sont sollicités

Les secrets sont stockés dans des coffres individuels, qui sont des ressources Azure utilisées pour regrouper les secrets. L’accès aux secrets et la gestion du coffre s’effectuent en utilisant une API REST. L’ensemble des outils de gestion et des bibliothèques de client Azure qui sont disponibles pour de nombreux langages connus prennent également en charge cette API. Chaque coffre a une URL unique où son API est hébergée.

Important

Key Vault est conçu pour stocker des secrets de configuration pour des applications serveur. Il n’est pas destiné au stockage des données appartenant aux utilisateurs de votre application. Il ne doit pas être utilisé dans la partie côté client d’une application. Ce comportement se reflète dans ses caractéristiques de performance, son API et son modèle de coût.

Les données utilisateur doivent être stockées ailleurs, par exemple, dans une base de données Azure SQL avec chiffrement transparent des données (Transparent data encryption), ou dans un compte de stockage avec chiffrement du service de stockage (Storage Service Encryption). Les secrets que votre application utilise pour accéder à ces magasins de données peuvent être conservés dans Key Vault.

Qu’est-ce qu’un secret dans un coffre de clés ?

Dans un coffre de clés, un secret est une paire nom-valeur de chaînes. Les noms de secret doivent compter de 1 à 127 caractères, ne contenir que des caractères alphanumériques et des tirets, et doivent être uniques à l’intérieur d’un coffre. Une valeur secrète peut être toute chaîne au format UTF-8 dont la taille n’excède pas 25 Ko.

Conseil

Les noms de secret proprement dit n’ont pas besoin d’être considérés comme particulièrement secrets. Vous pouvez les stocker dans la configuration de votre application si votre implémentation l’exige. Il en va de même des noms de coffre et des URL.

Remarque

Key Vault prend en charge deux types de secrets supplémentaires en plus des chaînes : les clés et les certificats. Key Vault fournit des fonctionnalités utiles spécifiques à leurs cas d’usage. Ce module n’aborde pas ces fonctionnalités et se concentre sur des chaînes de secret comme les mots de passe et les chaînes de connexion.

Authentification et autorisations pour un coffre

L’API de Key Vault utilise l’ID Microsoft Entra pour authentifier les utilisateurs et les applications. Les stratégies d’accès à un coffre sont basées sur des actions et s’appliquent à un coffre entier. Par exemple, une application avec les autorisations Get (lire les valeurs de secrets), List (lister le nom de tous les secrets) et Set (créer ou mettre à jour les valeurs des secrets) sur un coffre peut créer des secrets, lister tous les noms des secrets, ainsi qu’obtenir et définir toutes les valeurs des secrets de ce coffre.

Toutes les actions effectuées sur un coffre nécessitent une authentification et une autorisation. Il n’existe aucun moyen d’accorder un type d’accès anonyme.

Conseil

Quand vous accordez l’accès à un coffre à des développeurs et à des applications, n’accordez que les autorisations minimales nécessaires. Les restrictions d’autorisations aident à éviter des accidents occasionnés par des bogues de code, ainsi qu’à réduire l’impact d’un vol d’informations d’identification ou d’une injection de code malveillant dans votre application.

En règle générale, les développeurs ont seulement besoin des autorisations Get et List sur un coffre dans un environnement de développement. Certains ingénieurs ont besoin de toutes les autorisations pour changer et ajouter des secrets en fonction des besoins.

Pour les applications, seules les autorisations Get sont requises la plupart du temps. Certaines applications peuvent avoir besoin d’une autorisation List, selon la façon dont elles sont implémentées. L’application de l’exercice de ce module nécessite l’autorisation List en raison de la technique qu’elle utilise pour lire les secrets du coffre.