Authentification Azure Key Vault

Effectué

L’authentification avec Key Vault fonctionne conjointement avec Microsoft Entra ID, qui est responsable de l’authentification de l’identité de tout 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 demandant 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 qui a un profil dans Microsoft Entra ID.
  • Un principal de sécurité de groupe identifie un ensemble d’utilisateurs créés dans Microsoft Entra ID. Tous les rôles et 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 morceau de code plutôt qu’un utilisateur ou un groupe. L’ID d’objet d’un principal de service agit comme son nom d’utilisateur ; la clé secrète client du principal de service agit comme son mot de passe.

Pour les applications, il existe deux façons d’obtenir un principal de service :

  • Méthode recommandée : activez une identité managée affectée par le système pour l’application. Avec l’identité managée, Azure gère en interne le principal de service de l’application et authentifie automatiquement l’application auprès d’autres services Azure. L’identité managée est disponible pour les applications déployées sur un large éventail de services.
  • Si vous ne pouvez pas utiliser l’identité managée, inscrivez l’application auprès de votre locataire Microsoft Entra, comme décrit dans Démarrage rapide : Inscrire une application avec la plateforme d’identités Microsoft. L’inscription a également pour effet de créer un deuxième objet d’application qui identifie l’application sur tous les locataires.

Configuration du pare-feu Key Vault

Par défaut, Key Vault autorise l’accès aux ressources par le biais d’adresses IP publiques. Pour une sécurité optimale, vous pouvez aussi limiter l’accès à des plages d’adresses IP, des points de terminaison de service, des réseaux virtuels ou des points de terminaison privés spécifiques.

Déroulement de l’opération de demande Key Vault avec l’authentification

L’authentification Key Vault se produit dans le cadre de chaque opération de demande sur Key Vault. Une fois le jeton récupéré, il peut être réutilisé pour les appels suivants. Exemple de flux d’authentification :

  1. Un jeton demande à s’authentifier auprès de Microsoft Entra ID, par exemple :

    • Une ressource Azure, comme une machine virtuelle ou une application App Service avec identité managée, contacte le point de terminaison REST pour obtenir un jeton d’accès.
    • Un utilisateur se connecte au Portail Azure avec un nom d’utilisateur et un mot de passe.
  2. Si l’authentification auprès de Microsoft Entra ID réussit, un jeton OAuth est accordé au principal de sécurité.

  3. Un appel à l’API REST Key Vault est effectué par le biais du point de terminaison (URI) de Key Vault.

  4. Le pare-feu Key Vault vérifie les critères suivants. Si un critère est respecté, l’appel est autorisé. Dans le cas contraire, l’appel est bloqué et une réponse Interdit est retournée.

    • Le pare-feu Key Vault est désactivé et le point de terminaison public de Key Vault est accessible sur l’Internet public.
    • L’appelant est un service approuvé Key Vault, ce qui lui permet de contourner le pare-feu.
    • L’appelant est listé dans le pare-feu par adresse IP, réseau virtuel ou point de terminaison de service.
    • L’appelant peut accéder à Key Vault au moyen d’une connexion de liaison privée configurée.
  5. Si le pare-feu autorise l’appel, Key Vault appelle Microsoft Entra ID pour valider le jeton d’accès du principal de sécurité.

  6. Key Vault vérifie si le principal de sécurité dispose de l’autorisation nécessaire pour l’opération demandée. Si ce n’est pas le cas, Key Vault retourne une réponse Interdit.

  7. Key Vault effectue l’opération demandée et retourne le résultat.

Diagramme montrant un exemple du processus pour une application effectuant un appel d’API d’obtention de secret Key Vault.

Remarque

Les clients du SDK Key Vault pour les secrets, les certificats et les clés effectuent un appel supplémentaire en direction de Key Vault sans jeton d’accès, ce qui entraîne une réponse 401 pour récupérer les informations du locataire.

Authentification auprès de Key Vault dans le code d’application

Le SDK Key Vault utilise la bibliothèque de client Azure Identity, qui permet une authentification fluide auprès de Key Vault dans différents environnements avec le même code.

Bibliothèques clientes d’identité Azure

.NET Python Java JavaScript
SDK de l’identité Azure .NET SDK de l’identité Azure Python SDK de l’identité Azure Java SDK de l’identité Azure Javascript