S’authentifier auprès d’Azure Key Vault

Effectué

L’authentification avec Key Vault fonctionne avec Microsoft Entra ID qui est responsable de l’authentification de l’identité de tout principal de sécurité donné.

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

  • 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 différents services.

  • Si vous ne pouvez pas utiliser l’identité managée, vous inscrivez plutôt l’application auprès de votre locataire Microsoft Entra. L’inscription a également pour effet de créer un deuxième objet d’application qui identifie l’application sur tous les locataires.

Notes

Il est recommandé d’utiliser une identité managée affectée par le système.

Voici des informations sur l’authentification auprès de Key Vault sans utiliser d’identité managée.

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

Le SDK Key Vault utilise la bibliothèque de client d’identité Azure, qui permet une authentification fluide auprès de Key Vault dans les environnements avec le même code. Le tableau ci-dessous fournit des informations sur les bibliothèques de client 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

Authentification auprès de Key Vault avec REST

Les jetons d’accès doivent être envoyés au service avec l’en-tête d’autorisation HTTP :

PUT /keys/MYKEY?api-version=<api_version>  HTTP/1.1  
Authorization: Bearer <access_token>

Quand un jeton d’accès n’est pas fourni ou qu’il n’est pas accepté par le service, une erreur HTTP 401 est retournée au client et inclut l’en-tête WWW-Authenticate, par exemple :

401 Not Authorized  
WWW-Authenticate: Bearer authorization="…", resource="…"

Les paramètres de l’en-tête WWW-Authenticate sont :

  • authorization : adresse du service d’autorisation OAuth2 qui peut être utilisé afin d’obtenir un jeton d’accès pour la requête.

  • resource : nom de la ressource (https://vault.azure.net) à utiliser dans la requête d'autorisation.

Autres ressources